_grokparsefailure 之后 Logstash 继续进行 grokking

_grokparsefailure 之后 Logstash 继续进行 grokking

再会,

(使用 logstash 1.4.2)

我正在尝试做类似的事情:

filter {
 if type == "feed" {
   grok {
     match => [ "message", "%{COMBINEDAPACHELOGS}" ]
     add_tag => [ "grokked", "web" ]
     tag_on_failure => [ "notweb" ]
   }
  }
  if type == "feed" and "notweb" in [tags] {
    grok {
      patterns_dir => "/opt/logstash/patterns"
      match => [ "message", "%{ERROPARSING}" ]
      add_tag => [ "grokked", "%{[level]}" ] # %{level} named from ERRORPARSING
    }
   }
}

但是所有的 notweb 内容都以 _grokparsefailure 结束,就好像下一步没有经过测试/评估一样。

%{ERRORPARSING} 在 grokdebugger 中测试正确。

答案1

不确定这是否是原因,但无论如何有一个建议,如下:

if type == "feed" and "notweb" in [tags] {

可能不是完全必要的,除非你用 notweb 标记多个不同的东西,在这种情况下你可以更改标签:

if "notweb" in [tags] {

此外,某些东西在 grokdebugger 中可以工作,并不一定意味着它在 logstash 中也能工作,它们之间存在一些差异,如果我的第一个建议没有帮助,请粘贴您的模式

相关内容