近期需要對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
現在對常用的表示式進行說明:
比如:1234
、bob
、alex.wong
等
比如:stone
、gary_lu
、abc-123
等
比如:[email protected]
、[email protected]
、[email protected]
等
比如:0
、-123
、43987
等
比如:0
、18
、5.23
等
比如:0x0045fa2d
、-0x3f8709
等
比如:string
、3529345
、iloveyou
等
比如:550e8400-e29b-11d4-a716-446655440000
比如:127.0.0.1
、fe80:0000:0000:0000:aaaa:0000:00c2:0002
等
比如:127.0.0.1:3306
、api.stozen.net:8000
等
比如:/usr/local/nginx/sbin/nginx
、c:\windows\system32\clr.exe
等
比如:http
、ftp
等
比如:www.stozen.net
、10.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
比如:jan
、january
等
比如:03
、9
、12
等
比如:03
、9
、31
等
比如:mon
、monday
等
比如:00:01:23
比如:10-15-1982
、10/15/1982
等
比如:15-10-1982
、15/10/1982
、15.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
比如:在業務領域中,可能會有越來越多的日誌格式出現在我們眼前,而grok的預設表示式顯然已無法滿足我們的需求(比如使用者身份證號、手機號等資訊),所以,我們需要自己動手新增些表示式。alert
、alert
、alert
、error
等
表示式正規表示式
說明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...