關於Logstash中grok外掛程式的正規表示式例子

2022-01-16 10:46:54 字數 3672 閱讀 2035

近期需要對nginx產生的日誌進行採集,問了下度娘,業內最著名的解決方案非elk(elasticsearch,logstash,kibana)莫屬。

logstash負責採集日誌,elasticsearch負責儲存、索引日誌,kibana則負責通過web形式展現日誌。

今天,我要說的是logstash,它可以從多種渠道採集資料,包括控制台標準輸入、日誌檔案、佇列等等,只要你能想到,都可以通過外掛程式的方式實現。

其中,日誌源提供的日誌格式可能並不是我們想要插入儲存介質裡的格式,所以,logstash裡提供了一系列的filter來讓我們轉換日誌

grok就是這些filters裡最重要的乙個外掛程式,下面我就說說它。

大多數linux使用人員都有過用正規表示式來查詢機器中相關檔案或檔案裡內容的經歷,在grok裡,我們也是使用正規表示式來識別日誌裡的相關資料塊。

有兩種方式來使用正規表示式:

直接寫正則來匹配

用grok表示式對映正則來匹配

在我看來,每次重新寫正則是一件很痛苦的事情,為什麼不用表示式來一勞永逸呢?

要學習grok的預設表示式,我們就要找到它的具體配置路徑,路徑如下:

# windows下路徑

[你的logstash安裝路徑]\vendor\bundle\jruby\x.x\gems\logstash-patterns-core-x.x.x\patterns\grok-patterns

現在對常用的表示式進行說明:

比如:1234bobalex.wong

比如:stonegary_luabc-123

比如:[email protected][email protected][email protected]

比如:0-12343987

比如:0185.23

比如:0x0045fa2d-0x3f8709

比如:string3529345iloveyou

比如:550e8400-e29b-11d4-a716-446655440000

比如:127.0.0.1fe80:0000:0000:0000:aaaa:0000:00c2:0002

比如:127.0.0.1:3306api.stozen.net:8000

比如:/usr/local/nginx/sbin/nginxc:\windows\system32\clr.exe

比如:httpftp

比如:www.stozen.net10.0.0.1:22

比如:/api.php

比如:?a=1&b=2&c=3

比如:api.php?a=1&b=2&c=3

比如:http:api.php?a=1&b=2&c=3

比如:janjanuary

比如:03912

比如:03931

比如:monmonday

比如:00:01:23

比如:10-15-198210/15/1982

比如:15-10-198215/10/198215.10.1982

比如:+10:23-1023

比如:2016-07-03t00:34:06+08:00

比如:07-03-2016 00:34:06

比如:03/jul/2016:00:36:53 +0800

比如:alertalertalerterror

在業務領域中,可能會有越來越多的日誌格式出現在我們眼前,而grok的預設表示式顯然已無法滿足我們的需求(比如使用者身份證號、手機號等資訊),所以,我們需要自己動手新增些表示式。

表示式正規表示式

說明date_chs

%[./-]%[./-]%

中國人習慣的日期格式

zipcode_chs

[1-9]\d

game_account

[a-za-z][a-za-z0-9_]

遊戲賬號,首字元為字母,4-15位字母、數字、下劃線組成

還有很多,需要您在業務中靈活運用!

關於Logstash中grok外掛程式的正規表示式例子

近期需要對nginx產生的日誌進行採集,問了下度娘,業內最著名的解決方案非elk elasticsearch,logstash,kibana 莫屬。logstash負責採集日誌,elasticsearch負責儲存 索引日誌,kibana則負責通過web形式展現日誌。今天,我要說的是logstash,...

關於Logstash中grok外掛程式的正規表示式例子

近期需要對nginx產生的日誌進行採集,問了下度娘,業內最著名的解決方案非elk elasticsearch,logstash,kibana 莫屬。logstash負責採集日誌,elasticsearch負責儲存 索引日誌,kibana則負責通過web形式展現日誌。今天,我要說的是logstash,...

Logstash過濾外掛程式grok簡單測試

logstash 配置文件 vim usetime.conf input filter output 過濾正則表達示 s 呼叫.用時 異常 呼叫gz 廣州銀行 用時 usetime d usetime 251 測試的日誌 07 29 00 01 17 info b10005 15 impl.gzcl...