Docker部署ELK 日誌歸集

2022-07-15 11:36:07 字數 2528 閱讀 6581

elk是elasticsearch、logstash、kibana的縮寫,使用elk的原因是因為公司使用spring cloud部署了多個微服務,不同的微服務有不同的日誌檔案,當生產上出現問題是不能及時排查,所以使用logstash手機日誌,elasticsearch實現全文檢索,kibana作為顯示與分析。

當然同樣優秀的還有graylog但是都是基於elasticsearch,所以這裡選用elk

#因為對記憶體有要求所以

vim /etc/sysctl.conf

# 新增下面配置

vm.max_map_count=655360

# 編輯完,使命令生效

sysctl -p

# 編輯檔案

vi /etc/security/limits.conf

# 修改並加入下面配置

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

首先在官網查詢到最新版本

docker pull elasticsearch:7.2.0
啟動es

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name elasticsearch -d elasticsearch
安裝ik分詞器

#進入容器

docker exec -it 容器id /bin/bash

#進入plugins目錄

cd /usr/share/elasticsearch/plugins/

#解壓unzip -d ik-analysis elasticsearch-analysis-ik-7.2.0.zip

#刪除壓縮包(切記刪除或移動到其他目錄否則無法啟動)

rm -rf elasticsearch-analysis-ik-7.2.0.zip

#退出容器

exit

#重啟容器

docker restart 容器id

允許跨域

#進入

/usr/share/elasticsearch/config/elasticsearch.yml

#新增http.cors.enabled: true

http.cors.allow-origin: "*"

docker pull kibana:7.2.0
檢視es內部ip

docker inspect 容器id 

#找到networksettings.ipaddress

執行容器

docker run --name kibana --link elasticsearch:elasticsearch -p 5601:5601 -d kibana:7.2.0 

#官方推薦以上方式,如果es不是docker容器可以採用以下方式

-e elasticsearch_hosts=http://ip:9200

wget
解壓

tar -xzvf filebeat-7.2.0-linux-x86_64.tar.gz
修改filebeat.yml

filebeat.inputs:

- type: log

enabled: true

paths:

- /tmp/log/*.log

output.logstash:

enabled: true

hosts: ["logstash ip:5044"]

啟動

#前台啟動

./filebeat -e -c filebeat.yml

#後台啟動

nohup ./filebeat -e -c filebeat.yml > filebeat.log &

#結束程序

ps -ef |grep filebeat

kill -9 程序號

docker pull logstash:7.2.0
啟動

docker run -p 5044:5044 -p 9600:9600 -d --name logstash logstash:7.2.0
進入容器

docker exec -it -u 0 logstash /bin/bash
刪除示例

rm -rf logstash-sample.conf
重啟

docker restart logstash

Docker中部署 ELK日誌分析系統

一 docker環境搭建 linux x64下 1 通過yum安裝 可以連線外網 2 手動安裝 不能連線外網,無法yum安裝 二 elk原理圖 logstash forwarder 監控input 日誌檔案 socket.的改變,並發給logstash logstash 通過配置檔案裡的設定過濾 正...

使用Docker部署日誌分析平台 ELK

日誌分析平台elk由3個服務組成,分別是elasticsearch logstash和kibana,其中 elasticsearch是乙個分布式搜尋分析引擎,負責日誌儲存並提供 搜尋功能。logstash能提供資料收集 加工和傳輸管道的服務,負責日誌收 集。kibana是乙個資料視覺化平台,並可以將...

docker方式部署ELK

1.拉取原始映象 docker pull sebp elk 660 2.啟動下映象方便進入,進行自定義配置修改 docker run dit name elk p 5601 5601 p 9200 9200 p 5044 5044 v data elasticsearch var lib elast...