grok語法定義

grok默認表達式

Logstash 內置了120種默認表達式,能夠查看patterns,裏面對錶達式作了分組,每一個文件爲一組,文件內部有對應的表達式模式。下面只是部分經常使用的。php

經常使用表達式

表達式標識css

名稱nginx

詳情windows

匹配例子api

USERNAME 或 USER服務器

用戶名app

由數字、大小寫及特殊字符(._-)組成的字符串ui

123四、Bob、Alex.Wongurl

EMAILLOCALPARTspa

用戶名

首位由大小寫字母組成,其餘位由數字、大小寫及特殊字符(_.+-=:)組成的字符串。注意,國內的QQ純數字郵箱帳號是沒法匹配的,須要修改正則

windcoder、windcoder_com、abc-123

EMAILADDRESS

電子郵件

 

windcoder@abc.com、windcoder_com@gmail.com、abc-123@163.com

HTTPDUSER

Apache服務器的用戶

能夠是EMAILADDRESS或USERNAME

 

INT

整數

包括0和正負整數

0、-12三、43987

BASE10NUM 或 NUMBER

十進制數字

包括整數和小數

0、1八、5.23

BASE16NUM

十六進制數字

整數

0x0045fa2d、-0x3F8709

WORD

字符串

包括數字和大小寫字母

String、352934五、ILoveYou

NOTSPACE

不帶任何空格的字符串

   

SPACE

空格字符串

   

QUOTEDSTRING 或 QS

帶引號的字符串

 

"This is an apple"、'What is your name?'

UUID

標準UUID

 

550E8400-E29B-11D4-A716-446655440000

MAC

MAC地址

能夠是Cisco設備裏的MAC地址,也能夠是通用或者Windows系統的MAC地址

 

IP

IP地址

IPv4或IPv6地址

127.0.0.一、FE80:0000:0000:0000:AAAA:0000:00C2:0002

HOSTNAME

IP或者主機名稱

   

HOSTPORT

主機名(IP)+端口

 

127.0.0.1:330六、api.windcoder.com:8000

PATH

路徑

Unix系統或者Windows系統裏的路徑格式

/usr/local/nginx/sbin/nginx、c:\windows\system32\clr.exe

URIPROTO

URI協議

 

http、ftp

URIHOST

URI主機

 

windcoder.com、10.0.0.1:22

URIPATH

URI路徑

 

//windcoder.com/abc/、/api.php

URIPARAM

URI裏的GET參數

 

?a=1&b=2&c=3

URIPATHPARAM

URI路徑+GET參數

/windcoder.com/abc/api.php?a=1&b=2&c=3

 

URI

完整的URI

 

https://windcoder.com/abc/api.php?a=1&b=2&c=3

LOGLEVEL

Log表達式

Log表達式

Alert、alert、ALERT、Error

 

日期時間表達式

表達式標識

名稱

匹配例子

MONTH

月份名稱

Jan、January

MONTHNUM

月份數字

0三、九、12

MONTHDAY

日期數字

0三、九、31

DAY

星期幾名稱

Mon、Monday

YEAR

年份數字

 

HOUR

小時數字

 

MINUTE

分鐘數字

 

SECOND

秒數字

 

TIME

時間

00:01:23

DATE_US

美國時間

10-01-189二、10/01/1892/

DATE_EU

歐洲日期格式

01-10-189二、01/10/188二、01.10.1892

ISO8601_TIMEZONE

ISO8601時間格式

+10:2三、-1023

TIMESTAMP_ISO8601

ISO8601時間戳格式

2016-07-03T00:34:06+08:00

DATE

日期

美國日期%{DATE_US}或者歐洲日期%{DATE_EU} |

DATESTAMP

完整日期+時間

07-03-2016 00:34:06

HTTPDATE

http默認日期格式

03/Jul/2016:00:36:53 +0800

 

自定義grok表達式

語法解釋:
%{HOSTNAME},匹配請求的主機名
%{TIMESTAMP_ISO8601:time},表明時間戳
%{LOGLEVEL},表明日誌級別
%{URIPATHPARAM},表明請求路徑
%{INT},表明字符串整數數字大小
%{NUMBER}, 能夠匹配整數或者小數

%{UUID}匹配相似091ece39-5444-44a1-9f1e-019a17286b48
%{IP}, 匹配ip
%{WORD}, 匹配請求的方式
%{GREEDYDATA},匹配全部剩餘的數據
(?([\S+]*)),自定義正則
\s*或者\s+,表明多個空格
\S+或者\S*,表明多個字符
大括號裏面:xxx,至關於起別名

(?<class_info>([\S+]*)), 自定義正則匹配多個字符

舉例操做以下:

列1:
[2019-08-22 12:25:51.441] [TSC_IHU] [ERROR] [c.e.c.t.i.t.s.IhuTsaUplinkServiceImpl] Activation/Bind uplink, query UserSession by Token failure!

grok調試以下:
\[%{TIMESTAMP_ISO8601:time}\]\s*%{DATA:thread}\s*\[%{LOGLEVEL:level}\]\s*%{GREEDYDATA:data}

 

 

列2:

2019-09-12 14:16:36.320+08:00 INFO 930856f7-c78f-4f12-a0f1-83a2610b2dfc DispatcherConnector ip-192-168-114-244 [Mqtt-Device-1883-worker-18-1] com.ericsson.sep.dispatcher.api.transformer.v1.MessageTransformer {"TraceID":"930856f7-c78f-4f12-a0f1-83a2610b2dfc","clientId":"5120916600003466K4GA1059","username":"LB37622Z3KX609880"}

%{TIMESTAMP_ISO8601:access_time}\s*%{LOGLEVEL:level}\s*%{UUID:uuid}\s*%{WORD:word}\s*%{HOSTNAME:hostname}\s*\[%{DATA:work}\]\s*(?<api>([\S+]*))\s*(?<TraceID>([\S+]*))\s*%{GREEDYDATA:message_data}

 

 列3:

192.168.125.138 - - [12/Sep/2019:14:10:58 +0800] "GET /backend/services/ticketRemind/query?cid=&msgType=1&pageSize=100&pageIndex=1&langCode=zh HTTP/1.1" 200 91

grok調試以下:

 %{IP:ip}\s*%{DATA:a}\s*\[%{HTTPDATE:access_time}\]\s*%{DATA:b}%{WORD:method}\s*%{URIPATH:url}%{URIPARAM:param}\s*%{URIPROTO:uri}%{DATA:c}%{NUMBER:treaty}%{DATA:d}\s*%{NUMBER:status}\s*%{NUMBER:latency_millis}

 

 列4:

[08/Nov/2019:11:40:24 +0800] tc-com.g-netlink.net - - 192.168.122.58 192.168.122.58 192.168.125.135 80 GET 200 /geelyTCAccess/tcservices/capability/L6T7944Z0JN427155 ?pageIndex=1&pageSize=2000&vehicleType=0 21067 17

 grok調試以下:

\[%{HTTPDATE:access_time}\] %{DATA:hostname} %{DATA:username} %{DATA:fwd_for} %{DATA:remote_hostname} %{IP:remote_ip} %{IP:local_ip} %{NUMBER:local_port} %{DATA:method} %{DATA:status} %{DATA:uri} %{DATA:query} %{NUMBER:bytes} %{NUMBER:latency_ms}

 

相關文章
相關標籤/搜索