Logstash
- 常用字符解释
- 常用模式
- 使用方式
- 使用正则表达式
- 使用方式
- 测试用例
常用字符解释
\ 表示匹配
\s* 匹配空格(可多个)
\w 匹配字符(可多个)
常用模式
%{HOSTNAME},匹配请求的主机名
%{TIMESTAMP_ISO8601:time},代表时间戳
%{LOGLEVEL},代表日志级别
%{URIPATHPARAM},代表请求路径
%{INT},代表字符串整数数字大小
%{NUMBER}, 可以匹配整数或者小数
%{UUID},匹配类似091ece39-5444-44a1-9f1e-019a17286b48
%{IP}, 匹配ip
%{WORD}, 匹配请求的方式
%{GREEDYDATA},匹配所有剩余的数据
使用方式
%{常用模式:命名}
例:
2022-05-11 15:01:43.059
使用常用模式进行匹配:
%{TIMESTAMP_ISO8601:logdate}
效果:
使用正则表达式
使用方式
(?<xxx>[正则内容]*) xxx为索引名字,[]内填正则表达式,注意*不能省略
例:
[NMbsdAccount-14-936]
\[(?<serviceCode>[A-Za-z]*)\-(?<messageType>[0-9]*)\-(?<messageCode>[0-9]*)\]
测试用例
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*
grok测试地址:https://www.5axxw.com/tools/v2/grok.html
正则测试地址:https://c.runoob.com/front-end/854/