关闭rsyslog的$RepeatedMsgReduction对高负载环境的影响咨询
$RepeatedMsgReduction配置在高负载环境下的影响分析 首先明确:$RepeatedMsgReduction开启时会自动合并连续重复的日志条目(比如将100条相同日志压缩为「[重复100次] 原日志内容」),关闭后每条重复日志都会被完整输出。针对你提到的多Kubernetes集群、日志写入ElasticSearch的高负载场景,关闭该配置会带来以下显著影响:
ElasticSearch存储与稳定性风险
高负载下重复日志量会呈倍数级增长,直接导致ES的磁盘存储占用大幅上升——多集群场景下所有继承该基础镜像的服务都会产生这类冗余日志,存储成本会显著增加。同时,频繁写入大量重复日志会加剧ES的磁盘IO压力,容易触发磁盘水位线告警,极端情况下可能导致ES集群因磁盘耗尽而不可用。日志传输链路资源消耗激增
从K8s节点日志采集组件(如Fluentd、Filebeat)到ES的传输链路会承载远高于之前的流量,带宽消耗翻倍甚至数倍,在高负载场景下可能成为性能瓶颈,引发日志延迟、丢包问题。此外,采集组件本身的CPU、内存占用也会上升,可能挤压节点上业务容器的资源配额,影响业务服务稳定性。日志查询与运维效率下降
查询日志时需要遍历更多冗余文档,聚合统计、趋势分析等操作的速度会明显变慢。排查故障时,大量重复日志会干扰运维人员的判断,需要手动过滤重复内容,大幅增加问题定位的时间成本。依赖日志的监控体系受影响
如果你的监控、告警系统依赖ES中的日志数据,ES性能下降会导致监控指标延迟、告警不准确,直接影响故障响应的及时性。
建议
如果确实需要关闭该配置,建议先在单个K8s集群的部分服务做灰度测试,统计日志量变化、ES资源占用情况,评估实际影响后再逐步全量切换;或者考虑在日志采集层补充重复日志过滤逻辑,抵消关闭配置带来的冗余问题。
内容的提问来源于stack exchange,提问作者Kevin Niland

