【发布时间】:2021-05-17 12:46:29
【问题描述】:
有没有办法在将消息发送到 logz 之前清理 logstash 中消息中的 x-forwarded-for 字段。
字段:日期时间 s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc- win32-status sc-bytes cs-bytes time-taken X-Forwarded-For
【问题讨论】:
-
使用 mutate 过滤器,选项 remove field
-
只想清理包含 X-forwarded-For 字段为空的消息。 .. 删除字段仅在字段未添加到消息本身时才会删除。
-
能否请您展示您的消息是什么样的(例如使用带有 json 编解码器的 stdout 输出插件)并且您想要更改?这样可以更好地了解如何为您提供帮助
-
日志看起来像:消息:2021-05-12 08:02:32 10.x.x.x GET
.js - 80 - 10.x.x.x Mozilla/5.0+(Windows+ NT+10.0;+Win64;+x64)+(KHTML,+like+Gecko)+Chrome/x.x.x.x+Safari/x.x 2xx x x 1xxxxx xxx xx 预期:消息: 2021-05-12 08:02:32 10.x.x.x GET .js - 80 - 10.x.x.x Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+(KHTML ,+like+Gecko)+Chrome/x.x.x.x+Safari/x.x 2xx x x 1xxxxx xxx xx -
为此,您必须使用 mutate 过滤器的 gsub 选项