Logstash 中的 Grok 过滤器错误

Posted

技术标签:

【中文标题】Logstash 中的 Grok 过滤器错误【英文标题】:Grok Filter Error in Logstash 【发布时间】:2017-01-11 09:28:42 【问题描述】:

我的过滤器中有以下内容,出于某种原因,它只打印电子邮件而不是交付状态。但是当我注释掉这封电子邮件时,它会打印出交付状态。

有没有办法打印它们而不用注释掉它们中的任何一个?

filter    
    grok 
      patterns_dir => ["/etc/logstash/patterns/postfix"]
      match =>  "message" => "%EMAIL" 
      match =>  "message" => "%DELIVERY_STATUS" 
      overwrite => [ "message" ]
         


您的帮助将不胜感激。

【问题讨论】:

【参考方案1】:

默认情况下,grok 过滤器在第一次成功匹配时结束。如果要覆盖此行为,请添加以下行:

break_on_match => false

如需进一步参考,请查看 grok 过滤器文档here。

【讨论】:

谢谢,我的解决方案是添加多个 grok 过滤器。但是您的建议同样是一个巧妙的解决方案。谢谢。

以上是关于Logstash 中的 Grok 过滤器错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 Grok for Logstash 解析 Apache2 错误日志

logstash grok,用 json 过滤器解析一行

Logstash 应该只记录 grok 解析的消息

Logstash,grok 过滤器不适用于固定长度字段

用于logstash的grok过滤器

Logstash Grok过滤器Apache访问日志