如何消费所有Kafka主题(ELK)

时间:2019-01-29 13:31:30

标签: apache-kafka logstash elastic-stack

我们对logstash进行了简单的配置:

input {
    kafka {
        topics => ["filebeat", "devjira"]
....

如何使用所有主题而不是在列表中指定其他主题?

1 个答案:

答案 0 :(得分:1)

根据documentation,设置topics_pattern应该可以帮助您解决问题:

  

topics_pattern

     
      
  • 值类型为字符串

  •   
  • 此设置没有默认值。要订阅的主题正则表达式模式。在以下情况下,主题配置将被忽略   使用此配置。

  •   

在Apache Kafka中,您可以使用A.*来查询以A'.*'开头的主题(请注意单引号)来查询所有主题。在Logstash定义的上下文中,我不太确定如何将单引号解析为参数,但我认为以下内容应该起作用:

input {
    kafka {
       bootstrap_servers => 'kafka-host:9092'
       group_id => 'yourGroupID'
       topics_pattern => "'.*'"
       codec => "json"
    }
}