如何解决logstash 如何使用 grok 或使用 s3 插件的其他方法在过滤器中打印行和完整路径
我有一个看起来像这样的 grok 表达式: 返回路径是:
mylogs/b222/foo/32/*.logs
mylogs/b222/foo/33/*.logs
mylogs/b233/foo11/33/*.logs
而且我有这种排泄物:
grok {
match => {
"path" => "/mylogs/(?<version>[^/]+)/(?<project>[^/]+)/(?<projid>[^/]+)/"
}
}
我不确定它是否完全捕获了路径结构
- 我如何调试这个 grok 正在做什么? 我可以设置打印吗?知道这个正则表达式是否捕获以及每个组中的内容? 见
- 如何打印 grok 正在处理的日志行?
解决方法
针对此类问题的 2 个选项:
- Grokdebug 可能对您非常有用。这是一个非常简单的在线解决方案,可以测试您的 Grok 表达。
- 您可以使用 tag_on_failure 并放置一个可用作过滤器的特定值,例如在输出后打印与 grok 表达式不匹配的行或在您的 elasticsearch/ 中显示此行kibana 堆栈。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。