翻译

Grok Filter 插件

插件版本:v4.3.0 发布于:2020-02-21 更新日志 对于其他版本,请查看 版本插件文档。 求助 与插件有关的问题,请在论坛 Discuss 开启一个主题。对于 bug 和新特性的请求,请在 Github 开启一个 issue。对于 Elastic 支持的插件列表,请参考 Elastic Support Matrix. 介绍 用于解析任意字符串并将其结构化。 Grok 是一个用于将非结构化解析成结构化并且可查询的日志数据的好方法。 这个工具对于 syslog 日志、apache 日志和其他服务器日志、mysql 日志和一般情况下任何通常来说写给人类而不是计算机消费的日志格式非常棒。 Logstash 默认情况下附带了 120 中模式。你可以在 https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns 中找到它们。你也可以普通地自己添加。 (查阅 patterns_dir 设置) 如果你需要帮助来构建模式去匹配你的日志,你会发现 http://grokdebug.herokuapp.com/ 和 http://grokconstructor.appspot.com/ 应用非常有用! Grok 还是 Dissect?或者都用? dissect 过滤器插件是使用分隔符来提取非结构化事件数据到字段的另一种方式。 Dissects 和 Grok 不同在于它不使用正则表达式并且更快。Dissect 在数据可靠重复的情况下工作地更好,当你的文本结构在多行之间变化时 Grok 是一个更好的选择。 当连续多行的数据稳定重复,而整个行不是这样的情况下,你可以混合使用 Dissect 和 Grok。Dissect 过滤器能解构连续多行的重复数据。Grok 过滤器可以处理其余的更能被正则所表示的字段和值。 Grok 基础 Grok 的工作原理是组合模式到一些东西中来匹配你的日志。 一个 grok pattern 的语法是 %{SYNTAX:SEMATIC}