对于几乎每个grok过滤器,当使用“match”时,该值是另一个哈希,其键是“message”。关键“信息”的意义是什么?
似乎散列的值部分是所有解析发生的地方。这个钥匙总是留言吗?密钥是否对输出值有影响?
filter {
grok {
match => { "message" => "%{SYSLOGBASE} %{DATA:data}" }
}
}
答案 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()。