在Logstash和Kafka中优先处理消息

时间:2016-07-07 18:06:09

标签: elasticsearch logstash apache-kafka producer-consumer

我们将从logstash将来自不同来源的不同日志提供给kafka。会有一些特定的集(或某些格式)消息,kafka的消费者将比其他消息更感兴趣。我们如何确定消息的优先顺序?

一种想法是在kafka中创建两个主题 - 1)high_priority_topic 2)low_priority_topic然后在logstash中使用过滤器将感兴趣的消息推送到high_priority_topic,将其余消息推送到其他消息。这可能吗?

对此有推荐的方法吗?

1 个答案:

答案 0 :(得分:2)

使用任一标签或输入logstash来区分high_priority和low_priority,然后有两个kafka输出。

if CONDITIONAL {
  kafka {
    topic => "high_priority_topic"
    ...
  }
}
else {
  kafka {
    topic => "low_priority_topic"
    ...
  }
}

使用类型CONDITIONAL看起来像

[type] == "high_priority"

使用标记它看起来像

"high_priority" in [tags]