代码拉取完成,页面将自动刷新
Logstash的Grok可以使蹩脚的、无结构,杂乱无章的的日志内容结构化(即:logstash通过Grok语法,从蹩脚的、无结构,杂乱无章的日志中抓取到结构化的日志信息)
注:对于蹩脚的、无结构,杂乱无章的日志,logstash使用Grok来实现结构化;对于已经是结构化的数据(如json),logstash也有内置的解析器支持直接解析
参考here
#特殊匹配
(%{GREEDYDATA:json1}|-) 匹配所有数据
%{QS:agent} 匹配"-"数据
# 匹配规则
LogFile="%{WORD:logfile}";Time="%{DATA:time}";SIP="%{IPV4:sip}";
#关键字
WORD 匹配单词
DATA 匹配任意数据
IPV4 匹配IP
NUMBER 匹配数字
BASE10NUM 匹配10进制的数字
URIPATHPARAM 匹配url
# 关键字实例
%{NUMBER:duration} — 匹配浮点数
%{IP:client} — 匹配IP
# 注:如果(?(xxx))不生效,可以试试(?<class_info>(xxx))
(?([\S+]*)),自定义正则
# (?<class_info>(xxx)) 中的 xxx 即为正则表达式
# 示例1:同时匹配ERROR或者FATAL日志级别的日志: (?<class_info>(ERROR|FATAL))
# 示例2:自定义正则匹配多个字符:(?<class_info>([\S+]*))
(?<class_info>(xxx)) # xxx 即为正则表达式
\s*或者\s+,代表多个空格
\S+或者\S*,代表多个字符
大括号里面:xxx,相当于起别名
%{UUID},匹配类似091ece39-5444-44a1-9f1e-019a17286b48
%{WORD}, 匹配请求的方式
%{GREEDYDATA},匹配所有剩余的数据
%{LOGLEVEL:loglevel} ---- 匹配日志级别
自定义类型
注:对于自定义的正则匹配出来的结果重命名,可以先将自定义正则写在patterns里面,然后在grok引用代表该正则的key,通过%{代表正则的key:重命名}
即可实现对正则匹配内容的命名,如%{BirthDayRegx:ShengRi}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。