Logstash条件,用于检查消息是否包含任何字符串列表

时间:2016-01-07 07:19:19

标签: conditional logstash

我在消息字段中有一个javastack跟踪和一个包含字符串列表的数组字段,如[“NullPointer”,“TimeOutException”]。

我希望对消息字段进行条件检查,以便检查消息是否包含任何字符串列表。

知道如何获得这个吗?

1 个答案:

答案 0 :(得分:0)

这有点像黑客,但请查看翻译{}过滤器。您可以定义要转换为“1”(true等)的字段,默认值为“0”。然后检查该值以确定它是否在集合中。

编辑:对于那些不喜欢钓鱼的人:

filter {
  translate {
    field => myInputField
    dictionary => [
      "NullPointer",      1,
      "TimeOutException", 1
    ]
    fallback => 0
    destination => myOutputField
  }

  if [myOutputField] == "1" {
      # it contained one of the items in the dictionary
      ...
  }
  else {
      # it did not contain one of the items in the dictionary
      ...
  }
}