5月30日 12:39

Logstash Grok 过滤器是什么?如何解析日志?

Grok 是 Logstash 里把非结构化日志拆成字段的过滤器,本质是“命名正则模板”。它用 %{PATTERN:field} 把文本匹配成字段,比如把 Nginx 日志拆出 IP、状态码、请求路径。面试时要说清:Grok 适合解析固定格式文本;解析失败会打 _grokparsefailure;性能上要避免一上来就用 %{GREEDYDATA} 贪婪匹配。

追问

Grok 和普通正则有什么区别?

Grok 是对正则的封装,内置了很多模式,如 IPNUMBERTIMESTAMP_ISO8601

解析失败怎么排查?

先用 Grok Debugger 验证模式,再看事件里是否出现 _grokparsefailure

写段配置

conf
filter { grok { match => { "message" => "%{TIMESTAMP_ISO8601:time} %{LOGLEVEL:level} %{GREEDYDATA:msg}" } } }
标签:Logstash