使用过滤插件Grok的内置正则实现日志数据格式化
格式化之前的日志内容
192.168.10.1 GET /index.html 19876 0.234
一条nginx的日志内容,第一列是客户端IP,第二列是请求方式,第三列是请求的URL,第四列是请求的文件大小,第五列是响应时间,如果这条数据不进行格式化,我们是无法针对性的去匹配相应的日志内容,比如想统计出响应时间比较长的页面,我们就需要去筛选第五列了,但是日志不进行格式化,就无法针对第五列去做筛选。
kibana上可以针对grok的表达式进行调试
点击Management—>开发工具—>grok debugger
1)在kibana上使用grok正则调试格式化日志数据
样例数据:
192.168.10.1 GET /index.html 19876 0.234
在Grok模式中填写正则表达式,针对每一个字段去做响应的处理
Grok模式:%{IP:client_ip} %{WORD:request_type} %{URIPATHPARAM:url} %{NUMBER:bytes} %{NUMBER:response_time}
数据中第一列为IP字段,可以使用正则模式为IP的表达式,