docker搭建elk分布式日志收集

1.在應(yīng)用服務(wù)器上安裝日志收集器logstash。

????1.1 拉取鏡像 docker pull?docker.elastic.co/logstash/logstash:7.16.3

????1.2 創(chuàng)建/opt/software目錄,在此目錄下創(chuàng)建logstash目錄和docker-compose.yaml文件,在logstash目錄下創(chuàng)建conf和pipeline文件夾,分別存放logstash.yml和logstash.conf。

????1.2.1 docker-compose.yaml內(nèi)容如下:

version: "3.5"

networks:

? mynet:

? ? driver: bridge

services:

? njydzq-logstash:

? ? image: docker.elastic.co/logstash/logstash:7.16.3

? ? container_name: njydzq-logstash

? ? restart: always

? ? ports:

? ? ? - 5044:5044

? ? environment:

? ? ? - LS_JAVA_OPTS=-Xms512m -Xmx512m

? ? ? - TZ=Asia/Shanghai

? ? command: bash -c "bin/logstash-plugin install logstash-filter-multiline && logstash -f"

? ? volumes:

? ? ? - ./logstash/conf/logstash.yml:/usr/share/logstash/config/logstash.yml

? ? ? - ./logstash/pipeline:/usr/share/logstash/pipeline

? ? ? - /opt/application/jar/logs:/logs

1.2.2? logstash.yml內(nèi)容如下:

http.host: "0.0.0.0"

xpack.monitoring.elasticsearch.hosts: [ "http://36.134.146.187:9200" ]

1.2.3 logstash.conf內(nèi)容如下:

input {

? file {

? ? ? ? path => "/logs/*.log"

? ? ? ? start_position => "end"

? }

}

filter {

? ? multiline {

? ? ? pattern => "^%{TIMESTAMP_ISO8601}"

? ? ? negate => true

? ? ? what => "previous"

? ? }

? ? ? grok {

? ? ? ? match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{DATA:thread} %{DATA:clazz} %{GREEDYDATA:err_msg}" }

? ? ? ? remove_field => ["message","_source","host","@version","path"]

? ? ? }

? ? ? mutate { add_field => { "[@metadata][target_index]" => "test-default-log" } }

}

output {

? elasticsearch {

? ? ? hosts => ["127.0.0.1:9200"]

? ? ? index => "%{[@metadata][target_index]}"

? }

? stdout { codec => rubydebug }

}

????1.3 使用docker-compose up -d 啟動(dòng)logstash。

2.安裝elasticsearch和kibana。

2.1 拉取elasticsearch鏡像,docker pull?elasticsearch:7.16.3。

2.2 拉取kibana鏡像,docker pull?kibana:7.16.3

2.3創(chuàng)建/opt/software目錄,在此目錄下創(chuàng)建docker-compose.yaml,kibana目錄,elasticsearch目錄。

2.3.1 docker-compose.yaml內(nèi)容如下
version: "3.5"

networks:

? mynet:

? ? driver: bridge

services:

? elasticsearch-log:

? ? image: elasticsearch:7.16.3

? ? container_name: elasticsearch-log

? ? restart: always

? ? ports:

? ? ? - 9200:9200

? ? ? - 9300:9300

? ? environment:

? ? ? - discovery.type=single-node

? ? ? - ES_JAVA_OPTS=-Xms512m -Xmx512m

? ? volumes:

? ? ? - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

? ? ? - ./elasticsearch/data:/usr/share/elasticsearch/data

? ? ? - ./elasticsearch/plugins:/usr/share/elasticsearch/plugins

? kibana:

? ? image: kibana:7.16.3

? ? container_name: kibana

? ? restart: always

? ? ports:

? ? ? - 5601:5601

#? ? environment:

#? ? ? - NODE_OPTIONS=--max-old-space-size=512

? ? links:

? ? ? - elasticsearch-log:elasticsearch

? ? depends_on:

? ? ? - elasticsearch-log

? ? volumes:

? ? ? - ./kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml

2.3.2 kibana.yml 內(nèi)容如下:

elasticsearch.hosts: http://127.0.0.1:9200

server.host: "0.0.0.0"

server.name: kibana

xpack.monitoring.ui.container.elasticsearch.enabled: true

#node.max_old_space_size: 512

i18n.locale: zh-CN #中文

2.3.3 elasticsearch.yml內(nèi)容如下:

http.host: 0.0.0.0

2.4 切換到/opt/software目錄下執(zhí)行docker-compose up -d啟動(dòng)es和kibana。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容