本文档搭建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:
以上