版本
filebeat 7.10.0
方法
现在filebeat.yml文件中只会有一个outputs生效,因此不能配置多个outputs发送到不同的地方,但是可以通过’%{}'引用参数的方法动态的设置发送目标。
通过fields参数设置kafka的topic,如下配置文件所示:
# ============================== Filebeat inputs ===============================
filebeat.inputs:
# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.
# ======== 发送到first topic========
- type: log
enabled: true
paths:
- e:\Lab\Logs\new.log
fields:
kafka_topic: first
# ======== 发送到second topic========
- type: log
enabled: true
paths:
- e:\Lab\Logs\new1.log
fields:
kafka_topic: second
# ---------------------------- kafka Output----------------------------
output.kafka:
# initial brokers for reading cluster metadata hosts是string数组类型,支持多个kafka实例地址(此处不是配置zookeeper地址)
hosts: ["139.XXXXX:9092"]
# 在这里通过引用fields来指定目标topic
topic: '%{[fields.kafka_topic]}'
version: 0.11.0.0
compression: gzip
max_message_bytes: 1000000
codec.format:
string: '%{[message]}'