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_topic

output.kafka:
  enabled: true
  hosts: ["k1ip:9092", "k2ip:9092"]   version: "0.8.2"
  topic: '%{[fields][log_topics]}'

修正一下,如果filebeat版本高,而kafka版本低,

则需要在output.kafka中,明确定义kafka才行。

不然,建立连接时,会提示什么kafka metadata EOF之类的错误。

切记!!!

上一篇:error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation


下一篇:apache ab 測试 apr_socket_connect(): 因为目标机器积极拒绝 无法连接