正文
FileBeat读取特征目录及特征文件,为不同的path生成不同的Kafka Topic
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
进入日志收集及监控报警这个领域,感觉一切都要从新学习。
现在周五,这周有两天用来踩坑了。
作些记录。
第一个遇到的问题,就是不同的应用组件,在k8s里,会生成不同的日志,如何采集到这些不同的日志呢?
由于filebeat是支持glob path的,所以我们可以使用这个技巧,来读取不同的组件的指定特征日志文件。
第二个问题,就是不同的日志文件,需要进入到不同的kafka的topic。最新版本是命名用fields来实现的。
所以,最终可以用的filebeat.yml样本如下:
filebeat.inputs:- type: log paths: - /xxx/logs/*a_app*/*access* fields: log_topics: a_topic- type: log paths: - /xxx/logs/*b_app*/*access* fields: log_topics: b_topic- type: log paths: - /xxx/logs/*c_app*/*access* fields: log_topics: c_topicoutput.kafka: enabled: true hosts: ["k1ip:9092", "k2ip:9092"] version: "0.8.2" topic: '%{[fields][log_topics]}'
修正一下,如果filebeat版本高,而kafka版本低,
则需要在output.kafka中,明确定义kafka才行。
不然,建立连接时,会提示什么kafka metadata EOF之类的错误。
切记!!!