本文檔搭建filebeat、kafka、elk、的日誌採集、流傳輸、解析、存儲、可視化系統。docker
一.說明elasticsearch
1.k8s的pod(容器)掛載volumes,將容器內數據持久化到宿主機的磁盤目錄。日誌
2.filebeat監控宿主機上的目錄,採集生產日誌數據。blog
3.kafka消息隊列傳輸日誌數據,建立topic,用來存放數據。索引
4.logstash消費kafka的日誌數據,存儲到elasticsearch,同時創建索引。隊列
5.elasticsearch存儲日誌數據。ip
6.kibana發現索引,搜索日誌數據集,可視化。文檔
二.環境搭建&配置kafka
搭建:消息隊列
1.filebeat、kafka採用官網下載的tar.gz包。
2.elk採用docker compose下載鏡像。
配置:
1.filebeat
輸入:磁盤日誌路徑
輸出:kafka的生產端(傳輸的數據集根據topic能夠找到)
若是使用獨立的kinana,指定kinana的host,以下配置:
2.kafka解壓:
kafka監聽的ip和port:
zookeeper監聽的port:
建立topic (名爲elk):bin/kafka-topics.sh --create --zookeeper 10.0.6.25:2181 --replication-factor 1 --partitions 1 --topic elk
查找topic:bin/kafka-topics.sh --list --zookeeper 10.0.6.25:2181
可知建立成功:
3.logstash:
輸入(kafka的消費端,指定topic);輸出(儲存數據,在elasticsearch建立索引)
4.elasticsearch:
5.kinana:
三.kinana:http://10.0.6.114:5601
managerment:
index patterns,create index pattern :elk
discover:可看到日誌數據集
至此,環境搭建成功。
四.運行
1.filebeat,zookeeper,kafka,run-zkf.sh
2.elk:
docker-compose up -d
docker-compose.yml:
以上