您好,登錄后才能下訂單哦!
LogStash中 filter如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
自定義grok格式
在conf 文件的文件夾同級目錄下,一般是在patterns 文件夾下,建立自己的pattern 文件,比如extra 文件
# contents of ./patterns/postfix:
POSTFIX_QUEUEID [0-9A-F]{10,11}
使用舉例,針對日志格式:Jan 1 06:25:43 mailserver14 postfix/cleanup[21403]: BEF25A72965: message-id=<20130101142543.5828399CCAF@mailserver14
conf 配置:
grok{
patterns_dir => "./patterns"
match => [ "message", "%{SYSLOGBASE} %{POSTFIX_QUEUEID:queue_id}: %{GREEDYDATA:syslog_message}" ]
}
}
結果為:
匹配正確
2.一些比較神奇的Grok Pattern
比如:GREEDYDATA .*
說明:如果我不想面面俱到的匹配一坨東西,直接用Greedydata
舉例:比如匹配,52:awfasdf0r8b123e:222g1g16:885579b2:9afr
在filter 的grok 中,添加%{GREEDYDATA:sth},即可匹配上面那一串。如果你想更詳細的匹配,那就自己寫正則,對每一項進行匹配。
思路:
filter 中,使用 multiline 對日志信息進行分組;然后使用grok 進行拆分。
需要注意的事情,可能會遇到換行的問題,這個時候怎么做?
這個時候的處理是這樣的,使用GREEDYDATA 是無效的,因為這只是匹配 .* ,而 . 是不匹配 newline 的,這個時候,應該將 GreedyData 換成:
(?<message>(.|\r|\n)*)
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。