本文檔搭建filebeat、kafka、elk、的日志采集、流傳輸、解析、存儲、可視化系統。
一.說明
1.k8s的pod(容器)掛載volumes,將容器內數據持久化到宿主機的磁盤目錄。
2.filebeat監控宿主機上的目錄,采集生產日志數據。
3.kafka消息隊列傳輸日志數據,創建topic,用來存放數據。
4.logstash消費kafka的日志數據,存儲到elasticsearch,同時建立索引。
5.elasticsearch存儲日志數據。
6.kibana發現索引,搜索日志數據集,可視化。
二.環境搭建&配置
搭建:
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:
以上