logstash grok 过滤器忽略消息的某些部分

Posted

技术标签:

【中文标题】logstash grok 过滤器忽略消息的某些部分【英文标题】:logstash grok filter ignore certain parts of message 【发布时间】:2015-02-26 14:27:01 【问题描述】:

我有一个以syslog 开头的drupal 看门狗日志文件,例如时间戳等,然后有一个管道分隔的我登录看门狗的东西。现在我正在编写一个 grok 过滤规则来从中获取字段。

我在消息正文中有几个 URL,因此我使用 %URI:request 来获取这些 URL。但是,这会创建一个名为 port 的字段,该字段始终为空,我不想将很多空字段放入我的弹性搜索数据库中,所以我想知道如何摆脱看起来像这样的空数组:@987654324 @。

【问题讨论】:

【参考方案1】:

如果您想无条件地删除一个字段,只需在您的 grok 块中添加一个 remove_field => ['port']

如果您想有条件地删除某些内容,您可以使用ruby 过滤器在删除之前检查字段中的内容,或者在mutate remove_field => ['port'] 过滤器周围使用if

【讨论】:

以上是关于logstash grok 过滤器忽略消息的某些部分的主要内容,如果未能解决你的问题,请参考以下文章

Logstash grok 模式过滤自定义日志消息

Logstash Grok过滤器Apache访问日志

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

用于logstash的grok过滤器

Logstash 中的 Grok 过滤器错误

使用Logstash filter grok过滤日志文件