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}

 

相关文章
相关标签/搜索