一、簡(jiǎn)介
1、核心組成
ELK由Elasticsearch、Logstash和Kibana三部分組件組成;
Elasticsearch是個(gè)開源分布式搜索引擎,它的特點(diǎn)有:分布式,零配置,自動(dòng)發(fā)現(xiàn),索引自動(dòng)分片,索引副本機(jī)制,restful風(fēng)格接口,多數(shù)據(jù)源,自動(dòng)搜索負(fù)載等。
Logstash是一個(gè)完全開源的工具,它可以對(duì)你的日志進(jìn)行收集、分析,并將其存儲(chǔ)供以后使用
kibana 是一個(gè)開源和免費(fèi)的工具,它可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數(shù)據(jù)日志。
2、四大組件
Logstash: logstash
server端用來搜集日志;
Elasticsearch: 存儲(chǔ)各類日志;
Kibana: web化接口用作查尋和可視化日志;
Logstash
Forwarder: logstash client端用來通過lumberjack 網(wǎng)絡(luò)協(xié)議發(fā)送日志到logstash server;
3、ELK工作流程
在需要收集日志的所有服務(wù)上部署logstash,作為logstash agent(logstash shipper)用于監(jiān)控并過濾收集日志,將過濾后的內(nèi)容發(fā)送到Redis,然后logstash indexer將日志收集在一起交給全文搜索服務(wù)ElasticSearch,可以用ElasticSearch進(jìn)行自定義搜索通過Kibana 來結(jié)合自定義搜索進(jìn)行頁(yè)面展示。

4、ELK的幫助手冊(cè)
Docker Hub官網(wǎng):https://hub.docker.com/r/sebp/elk/
Docker ELK使用文檔:http://elk-docker.readthedocs.io/
5、安裝前提條件:
Docker至少得分配3GB的內(nèi)存;
Elasticsearch至少需要單獨(dú)2G的內(nèi)存;
防火墻開放相關(guān)端口;
vm.max_map_count至少需要262144,附永久修改vm.max_map_count方法如下圖:

執(zhí)行命令:sysctl -p 查看

二、安裝Docker ELK
1、執(zhí)行命令:docker
pull sebp/elk?將鏡像pull到本地來;
2、執(zhí)行命令:docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e
ES_MIN_MEM=128m? -e ES_MAX_MEM=1024m -it --name elk sebp/elk 將鏡像運(yùn)行為容器,由于我本機(jī)內(nèi)存不符合安裝要求,為了保證ELK能夠正常運(yùn)行,加了-e參數(shù)限制使用最小內(nèi)存及最大內(nèi)存。
3、打開瀏覽器,輸入:http://<your-host>:5601,看到如下界面說明安裝成功

?三、配置使用
1、使用命令:docker?exec -it <container-name> /bin/bash 進(jìn)入容器內(nèi)
2、執(zhí)行命令:/opt/logstash/bin/logstash -e?'input { stdin { } } output { elasticsearch
{ hosts => ["localhost"] } }'
?注意:如果看到這樣的報(bào)錯(cuò)信息 Logstash could not be started because there is already another
instance using the configured data directory.? If you wish to run multiple
instances, you must change the "path.data" setting. 請(qǐng)執(zhí)行命令:service logstash stop 然后在執(zhí)行就可以了。
3、當(dāng)命令成功被執(zhí)行后,看到:Successfully started Logstash API endpoint {:port=>9600} 信息后,輸入:this?is a dummy entry?然后回車,模擬一條日志進(jìn)行測(cè)試。
4、打開瀏覽器,輸入:http://<your-host>:9200/_search?pretty 如圖,就會(huì)看到我們剛剛輸入的日志內(nèi)容

5、打開瀏覽器,輸入:http://<your-host>:5601點(diǎn)擊創(chuàng)建

6、看到如下界面,到此安裝結(jié)束。
