docker方式部署ELK

2021-10-07 16:28:10 字數 2075 閱讀 5153

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/elasticsearch \

-v /etc/localtime:/etc/localtime \

sebp/elk:660

這裡說明下5601是kibana的埠,9200是es的埠,5044是logstash的埠

/data/elasticsearch 要修改為你自己的索引存放目錄

3.進入到容器中,進行自定義配置修改:

docker exec -it elk /bin/bash

我們先修改logstash的配置,進入到如下目錄:

cd /etc/logstash/conf.d

因為我們打算使用filebeat來傳送資料給logstash,我們只儲存乙個配置檔案: 02-beats-input.conf 其餘的都刪除掉

編輯02-beats-input.conf的內容,我的內容如下:

beats \]\s*%\s*%\s*%\s*-"

date "

document_type => "logs"

這裡我們使用了 filter 和 date .詳細配置可以參考

這裡我們的目的是為了使符合要求的日誌能解析出來特殊的字段.然後我們用日誌中的時間代替了timestamp方便索引的排序

這裡我們完成了對資料接收的埠進行了修改,現在用8871進行資料接受了

patterns_dir => ["/etc/logstash/patterns"] 中定義了我們自己的正則匹配規則,檔案內容如下:

如果對kibana埠有要求的話,還可以進行關修改:

vim /opt/kibana/config/kibana.yml

這裡我修改為:8872

# kibana is served by a back end server. this setting specifies the port to use.

server.port: 8872

4.將自定義完成後的映象傳送到我們自己的映象倉庫中:

docker ps | grep elk # 檢視正在執行的 docker 的 container id docker commit container id ******x/log_collection:v1 # 生成乙個新的 image docker push ******x/log_collection:v1 # 將 image push 到 docker 倉庫

5.將映象部署到線上,這裡各個公司的平台不同,需要根據自己的平台來寫指令碼了.不在描述

部署的物理機需要執行如下命令:

echo "vm.max_map_count=262144" > /etc/sysctl.conf

sysctl -p
6.配置相關專案,使用filebeat將日誌.在打docker時加入如下內容:

這裡其實主要是加入了filebeat服務和寫了乙個filebeat的啟動配置,具體配置資訊可以網上找找.然後寫了乙個啟動filebeat的啟動指令碼

8.效果展示:

9.定期索引刪除:考慮磁碟使用.我們寫個指令碼定期刪除索引,釋放磁碟空間.內容如下

delete_index=`date -d '10 days ago' +%y.%m.%d`

echo $delete_index

index_data=

echo $index_data

我這裡是只儲存10天的日誌內容.到這裡基本大的流程結束.後面都是日誌格式的微調了.

Docker部署ELK 日誌歸集

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

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是乙個資料視覺化平台,並可以將...