Logstash grok匹配过滤器什么是消息密钥?

时间:2018-04-05 15:22:45

标签: logstash logstash-grok

对于几乎每个grok过滤器,当使用“match”时,该值是另一个哈希,其键是“message”。关键“信息”的意义是什么?

似乎散列的值部分是所有解析发生的地方。这个钥匙总是留言吗?密钥是否对输出值有影响?

filter {
  grok {
    match => { "message" => "%{SYSLOGBASE} %{DATA:data}" }
  }
}

1 个答案:

答案 0 :(得分:0)

在这种情况下,message是事件类的属性。事件来自输入,即对于STDOUT输入(或任何系统日志文件),每一行都将是一个新事件,其中message将是该行中的实际文本。

grok过滤器对您提供的示例代码的作用基本上与以下内容类似:

(伪代码)

 match(event, field, pattern)
   value = event.get(field) #field = 'message'; value = the actual text
   pattern.match(value)

如果匹配成功,则会更改event.message的值,因为您执行%{DATA:message}

如果您感兴趣,相关的源代码是here,特别是match()和handle()。