rsyslog 将 $programname 写为 kafka 主题
rsyslog write $programname as kafka topic
我想从rsyslog
写消息到kafka,使用rsyslog $programname
或$syslogtag
作为主题,但是omkafaka插件不接受参数,我该如何实现?
我试过使用(type="omkafka" topic="$programname" ...)
,但失败了。
我自己解决了这个问题,omkafka 8.xx 有一个新的 属性 来接受动态主题,只需配置 属性 并添加一个模板来注入动态主题。
template(name="kafka_topic" type="string" string="%programname%")
input(type="imtcp" port="10514")
action(type="omkafka" topic="kafka_topic" dynatopic="on" dynatopic.cachesize="1000" template="msg_template" broker=["xxx", "xxx", "xxx", "xxx"])
我想从rsyslog
写消息到kafka,使用rsyslog $programname
或$syslogtag
作为主题,但是omkafaka插件不接受参数,我该如何实现?
我试过使用(type="omkafka" topic="$programname" ...)
,但失败了。
我自己解决了这个问题,omkafka 8.xx 有一个新的 属性 来接受动态主题,只需配置 属性 并添加一个模板来注入动态主题。
template(name="kafka_topic" type="string" string="%programname%")
input(type="imtcp" port="10514")
action(type="omkafka" topic="kafka_topic" dynatopic="on" dynatopic.cachesize="1000" template="msg_template" broker=["xxx", "xxx", "xxx", "xxx"])