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"])