[英]Logstash grok match filter what is the message key?
对于几乎所有使用“ match”的grok过滤器,该值都是另一个散列,其键为“ message”。 关键“消息”的意义是什么?
似乎散列的值部分是所有解析发生的地方。 该密钥是否总是消息? 密钥对输出值有影响吗?
filter {
grok {
match => { "message" => "%{SYSLOGBASE} %{DATA:data}" }
}
}
在这种情况下,消息是事件类的属性。 事件来自输入,即对于STDOUT输入(或任何syslog文件),每一行将是一个新事件,其中message将是该行中的实际文本。
grok过滤器将对您提供的示例代码执行的操作本质上类似于以下方面:
(伪代码)
match(event, field, pattern)
value = event.get(field) #field = 'message'; value = the actual text
pattern.match(value)
如果匹配成功,则将更改event.message的值,因为您执行%{DATA:message}
。
如果您有兴趣,可以在这里找到相关的源代码,尤其是match()和handle()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.