《結合Docker快速搭建ELK日志收集分析平臺》要點:
本文介紹了結合Docker快速搭建ELK日志收集分析平臺,希望對您有用。如果有疑問,可以聯系我們。
作者:馬哥Linux運維-Eason
ELK Stack
ELK?(Elasticsearch + Logstash + Kibana),是一個開源的日志收集平臺,用于收集各種客戶端日志文件在同一個平臺上面做數據分析.
Introduction
Elasticsearch, 基于json分析搜索引擎
Logstash, 動態數據收集管道
Kibana, 可視化視圖將elasticsearh所收集的data通過視圖展現
工作流程
Background
起初我們搭建ELK platform都是通過rpm包或者repo的形式直接setup在服務器機器上面,這給運維后期帶來的一個問題就是,每起一個新的ELK platform都需要重新setup在新的機器上面,而從運維的角度去減少這樣的重復性effort變得異常突出,下面是根據我自身的經驗來介紹如何通過docker solution去快速啟動一個新的ELK platform,而無需重新setup.
Prerequisite
1.Clone GIT folder到本地,branch:?master
建議放在user HOME下面,eg:/home/user1/
2.根據你的需求選擇配置環境變量
a. Elasticsearch + Logstash + Kibana 運行在同一個機器下面,相關配置文件 :?~/elasticstack/.env
b. Elasticsearch + Logstash + Kibana 分別分開運行在不同的機器下面,各自相關的配置文件如下:
上述配置文件包含的配置屬性均屬于基本配置屬性,為了可以更方便的修改配置文件,結合docker-compose自動搜索并加載.env的特性,將ELK所需要的基本配置抽離出來作為單個.env文件來修改配置,而不需要通過逐個配置文件進行修改,下面對上述基本屬性簡單描述:
3.配置完成后,使用docker-compose啟動ELK service
關于docker-compose文件,通常不需要改動,你也可以根據自己的需求添加container的properties,你可以在docker-compose文件里看到上面配置的屬性都當成環境變量傳遞進去,eg:?~/elasticstack/docker-compose.yml:
以上所用到的image都是自己構建然后放在hub.docker.com官網repository,相應Dockerfile構建如下 :
a. 運行在同一個機器,相關compose文件:?~/elasticstack/docker-compose.yml
b. 分開運行不同機器,相關compose文件:
Elasticsearch:?~/elasticstack/elasticsearch/docker-compose.yml
Logstash:?~/elasticstack/logstash/docker-compose.yml
Kibana:?~/elasticstack/kibana/docker-compose.yml
Elasticsearch in host1:
Logstash in host2:
Kibana in host3:
4.通過kibana host+5601端口訪問查看啟動效果,<kibana host>:5601
成功啟動
如果看到上述界面,說明配置啟動成功,你可以看到Unable to fetch mapping. Do you have indices match…,是因為還沒有使用beats plugin將log發送到logstash或者elasticsearch,所以不能建立index.
** 文章所有步驟都是經過實踐檢驗并可行,若有問題,下方請評論.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4299.html