一、前言
Logstash是Elastic stack 中的一个开源组件,其不仅能够对日志进行抓取收集,还能对抓取的日志进行过滤输出。Logstash的过滤插件有多种,如:grok、date、json、geoip等等。其中最为常用的为grok正则表达式过滤。
二、grok的匹配语法
grok的匹配语法分为两种:grok自带的基本匹配模式、用户自定义的匹配模式。
%{SYNTAX:SEMANTIC}
其中SYNTAX为匹配模式的名称,用于调用相应的匹配模式匹配文本,如:3.44 会被NUBER模式所匹配,而10.10.10.1会被IP模式所匹配。
而SEMANTIC则是用于标记被匹配到的文本内容,如10.10.10.1被IP模式所匹配,并编辑为ClientIP。
其使用例子:
%{NUMBER:duration} %{IP:ClientIP}
(?<field_name>the pattern here)
其中filed_name为自定义模式的名称,pattern即指正则表达式。
原文:https://www.cnblogs.com/shitonghub/p/15095155.html