Docker 部署 elk + filebeat
kibana 開源的分析與可視化平台
logstash 日志收集工具 logstash-forwarder(原名lubmberjack)
elasticsearch 查詢 + filebeat 日志收集
環境:
- docker 版本 :18.09.1
- 主機地址:192.168.1.81
- filebeat:6.5.4
一、部署elk
1、修改系統內存內核參數
# 臨時修改 sysctl -w vm.max_map_count=262144 # 永久修改 vim /etc/sysctl.conf vm.max_map_count=262144
2、下載elk鏡像
docker pull sebp/elk
3、運行elk服務
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -itd --name elk sebp/elk
4、修改logstash關閉ssl
# 1、進入elk容器 docker exec -it xxxxx /bin/bash # 2、修改配置文件 改為如下 vi /etc/logstash/conf.d/02-beats-input.conf input { beats { port => 5044 } }
5、重啟elk
docker restart elk
二、部署filebeat(本地安裝)
- filebeat壓縮包
- 下載地址:https://pan.baidu.com/s/1fx12E7N_O2a6CHIBmQV6Ig
- 密碼:osxk
1、安裝filebeat
rpm -ivh filebeat-6.5.4-x86_64.rpm
2、修改配置文件
filebeat.prospectors: - type: log enabled: true paths: - /docker/service/zs/java/javalog/*.log tags: ["java"] - type: log enabled: true paths: - /docker/service/zs/nginx/log/*.log tags: ["nginx"] - type: log enabled: true paths: - /docker/service/zs/redis/log/*.log tags: ["redis"] filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 3 setup.kibana: host: "192.168.1.81:5601" output.logstash: hosts: ["192.168.1.81:5044"]

filebeat.prospectors: # 指定收集的日志路徑 - type: log enabled: true paths: # 指定路徑 - /docker/service/zs/java/javalog/*.log tags: ["java"] # 指定收集的日志路徑 - type: log enabled: true paths: # 指定路徑 - /docker/service/zs/nginx/log/*.log # 自定義名稱 tags: ["nginx"] # 指定收集的日志路徑 - type: log enabled: true paths: # 指定路徑 - /docker/service/zs/redis/log/*.log # 自定義名稱 tags: ["redis"] filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 3 # 指定kibana主機地址 setup.kibana: host: "192.168.1.81:5601" # 指定logstash地址 output.logstash: hosts: ["192.168.1.81:5044"]
三、kibana管理
1、Management --> index patterns -- > create index pattern
2、下一步
3、查看創建索引