Logstash(1.5)将消息发送到错误的输出

时间:2016-06-16 09:11:22

标签: logstash sentry

我有一个logstash实例,其配置如下(简化):

input {
  redis { }
}

output {
  elasticsearch_http { }

  if [level] == "WARNING" or [level] == "ERROR" or [level] == "CRITICAL" or [level] == "ALERT" or [level] == "EMERGENCY" {
    if [type] == "specific type 1" {
      sentry { }
    } else if [type] == "specific type 2" {
      sentry { }
    } else if [type] == "specific type 3" {
      sentry { }
    }
  }
}

正如您所看到的,每条消息都会转到elasticsearch并根据它发送到哨兵输出的类型(我编写的自定义插件将消息写入哨兵)。对于每种特定类型,我在哨兵中有一个单独的项目,并且哨兵插件被配置为知道它需要发送消息的项目。

除了消息被发送到senty中的错误项目之外,一切正常。有时,似乎if正在完成他们的工作,并且消息最终会出现在哨兵的正确项目中。但大多数情况下,消息会被发送到第一个项目。

是否有人知道此配置是否有问题或我如何调试?因为我真的迷路了,看不出有什么不妥。

0 个答案:

没有答案