Logstash-grok表达式常用模式与正则使用与测试

Logstash

  • 常用字符解释
  • 常用模式
    • 使用方式
  • 使用正则表达式
    • 使用方式
  • 测试用例

常用字符解释

\   表示匹配
\s* 匹配空格(可多个)
\w  匹配字符(可多个)

常用模式

%{HOSTNAME},匹配请求的主机名
%{TIMESTAMP_ISO8601:time},代表时间戳
%{LOGLEVEL},代表日志级别
%{URIPATHPARAM},代表请求路径
%{INT},代表字符串整数数字大小
%{NUMBER}, 可以匹配整数或者小数

%{UUID},匹配类似091ece39-5444-44a1-9f1e-019a17286b48
%{IP}, 匹配ip
%{WORD}, 匹配请求的方式
%{GREEDYDATA},匹配所有剩余的数据

Logstash-grok表达式常用模式与正则使用与测试_第1张图片

使用方式

%{常用模式:命名}

例:

2022-05-11 15:01:43.059

使用常用模式进行匹配:

%{TIMESTAMP_ISO8601:logdate} 

效果:
Logstash-grok表达式常用模式与正则使用与测试_第2张图片

使用正则表达式

使用方式

(?<xxx>[正则内容]*) xxx为索引名字,[]内填正则表达式,注意*不能省略

例:

[NMbsdAccount-14-936]
\[(?<serviceCode>[A-Za-z]*)\-(?<messageType>[0-9]*)\-(?<messageCode>[0-9]*)\]

Logstash-grok表达式常用模式与正则使用与测试_第3张图片

测试用例

2022-05-11 15:01:43.059 [111.222.333:1232,TID:67935134341647556c20065099606bc.62.1683788497487801,168256194196,/a/b/c/d]
%{TIMESTAMP_ISO8601:logdate}\s*\[%{USERNAME:applicationname}\]\s*\[%{IP:ip}\:%{NUMBER:port}\,TID:%{USER:tid}\,%{NUMBER:channelSeqNo}\,%{UNIXPATH:uri}\]\s*

Logstash-grok表达式常用模式与正则使用与测试_第4张图片
grok测试地址:https://www.5axxw.com/tools/v2/grok.html
正则测试地址:https://c.runoob.com/front-end/854/

你可能感兴趣的:(JAVA学习,Spring项目,SpringCloud,java,开发语言)