带有更多匹配器的Logstash过滤器

带有更多匹配器的Logstash过滤器,logstash,logstash-grok,Logstash,Logstash Grok,我想定义一个具有多个匹配器的日志存储筛选器,因为在一个.log文件中有更多类型的日志消息。 正如我所检查的,如果我有一个日志文件,并且我定义了更多的分离过滤器,而不是在行上运行的第一个过滤器。您可以使用带有多个模式的grok过滤器,或者您可以使用if语句来有条件地解析 要使用多个模式,只需在grok上列出它们: grok { match => [ "message", "Error on line (?<line>\d+)", "Exception i

我想定义一个具有多个匹配器的日志存储筛选器,因为在一个.log文件中有更多类型的日志消息。
正如我所检查的,如果我有一个日志文件,并且我定义了更多的分离过滤器,而不是在行上运行的第一个过滤器。

您可以使用带有多个模式的
grok
过滤器,或者您可以使用
if
语句来有条件地解析

要使用多个模式,只需在
grok
上列出它们:

grok {
  match => [ "message", 
     "Error on line (?<line>\d+)",
     "Exception in (?<place>\d+)",
     "Something else"
  ]
}
if [message] =~ /Some pattern/ {
   grok {
     match => ['message','Some pattern of (?<number>\d+) stuff']
   }
} else if [message] =~ /Some other pattern/ {
  ...
}