Logstash筆記(二)-----grok插件的正則表達式來解析日誌
(一)簡介:
豐富的過濾器插件的存在是 logstash 威力如此強大的重要因素。名為過濾器,其實提供的不單單是過濾的功能,它們擴展了進入過濾器的原始數據,進行復雜的邏輯處理,甚至可以無中生有的添加新的 logstash 事件到後續的流程中去!
Grok 是 Logstash 最重要的插件。你可以在 grok 裏預定義好命名正則表達式,在稍後(grok參數或者其他正則表達式裏)引用它。
大多數Linux使用人員都有過用正則表達式來查詢機器中相關文件或文件裏內容的經歷,在Grok裏,我們也是使用正則表達式來識別日誌裏的相關數據塊。
有兩種方式來使用正則表達式:
直接寫正則來匹配
用Grok表達式映射正則來匹配
重要提示:Grok表達式很像C語言裏的宏定義
(二)grok語法
grok表達式的打印復制格式的完整語法是下面這樣的:
%{PATTERN_NAME:capture_name:data_type}
小貼士:data_type 目前只支持兩個值:int
和 float
。
在線gork正則的地址:http://grokdebug.herokuapp.com/
Logstash基礎正則地址:https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns
也可以在你的安裝路徑下查找grok-patterns內置的正則表達式:
[[email protected]