Fluentd配置ignore_repeated_log_interval等参数抑制重复日志不生效求助
Fluentd 重复日志抑制配置不生效解决方案
核心原因
你在<system>块中配置的ignore_repeated_log_interval、ignore_same_log_interval参数仅作用于Fluentd自身的运行日志,用于抑制Fluentd运行过程中重复输出的自身报错/提示日志,不会对你通过tail源采集的业务日志生效,这是配置后无效果的根本原因。
业务日志去重实现方案
如果需要对采集到的业务重复日志进行抑制,可通过以下方案实现:
- 安装第三方去重插件
fluent-plugin-dedup,配置成本最低且效果稳定- 执行安装命令:
td-agent-gem install fluent-plugin-dedup(如果你用的是原生Fluentd,将命令替换为fluent-gem install fluent-plugin-dedup) - 在你的配置的
<source>段和<match>段之间新增如下Filter配置:
<filter docker.**> @type dedup # 去重时间窗口,和你之前预期的5s保持一致 interval 5s # 指定判断日志重复的字段,你配置了format none,日志内容默认存在message字段中 key message </filter> - 执行安装命令:
其他配置注意事项
- 你当前配置的Elasticsearch输出段中
host字段为空,需要补充实际的ES地址才能正常输出日志 - Elasticsearch输出段重复配置了两次
logstash_format true,属于冗余配置可删除其中一条
内容的提问来源于stack exchange,提问作者Nikhil Nayak
相关产品推荐
相关产品推荐

