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 -p6.配置相關專案,使用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是乙個資料視覺化平台,並可以將...