具有null fvalue的Logstash字段

时间:2015-09-09 12:19:59

标签: logstash logstash-grok logstash-configuration

我正在使用logstash来解析类似的值:

|SERVLETSESSIONS=|

我要抓住它的是:

\|SERVLETSESSIONS=(?<servlet_sessions>[0-9]*)\|

我没有收到错误,并且我的所有其他字段都匹配,但我认为我应该在"servlet_sessions" => ""中获得stdout { codec => rubydebug } }这样的空值,但我没有servlet_sessions关键那里。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找Grok过滤器配置的keep_empty_captures参数。

input {  stdin { }  }

filter {
  grok {
    keep_empty_captures => true
    match => { "message" => "\|SERVLETSESSIONS=(?<servlet_sessions>[0-9]*)\|" }
  }
}

output { stdout { codec => rubydebug } }

以上配置产生以下输出:

{
          "message" => "|SERVLETSESSIONS=|",
         "@version" => "1",
       "@timestamp" => "2015-09-09T13:44:52.754Z",
             "host" => "localhost",
 "servlet_sessions" => ""
}