Tag: logstash grok

如何处理不匹配的Logstash grokfilter

我想知道什么是我的Logstash Grokfilter采取的最佳方法。 我有一些针对特定日志条目的filter,并不适用于所有条目。 不适用的总是生成_grokparsefailure标签。 例如,我有一个grokfilter是每个日志条目,它工作正常。 然后我有另一个filter是用于回溯错误消息。 回溯filter会为每个没有回溯的日志条目引发grokparsefailure。 如果没有匹配而不是添加parsefailure标记,我宁愿通过规则。 我使用parsefailure标签来查找不正确parsing的东西,而不是简单地不匹配特定filter的东西。 也许这只是命名“parsing失败”,让我。 对我来说,这意味着filter有问题(例如格式不正确),而不是不匹配。 所以问题是,我该如何处理呢? 使filter模式可选使用? (ab)将tag_on_failure选项设置为nothing [] 使过滤条件使用像“如果回溯消息” 别的什么我不考虑? 提前致谢。 编辑 我采取了添加条件的filter的path: if [message] =~ /took\s\d+/ { grok { patterns_dir => "/etc/logstash/patterns" match => ["message", "took\s+(?<servicetime>[\d\.]+)"] add_tag => [ "stats", "servicetime" ] } } 仍然对反馈感兴趣。 这里被认为是“最佳实践”?