[英]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.