AWS CloudWatch日志Ingested量与日志组总大小不符问题咨询
CloudWatch日志Ingested量与日志组总大小差异的原因
- 日志压缩机制:CloudWatch按
PutLogEvents接收的原始日志大小统计Ingested量(即计费的写入量),但存储到日志组时会自动进行高比例压缩。结构化日志、重复内容多的日志压缩比通常能达到5:1到10:1甚至更高,你这里1826GB原始量压缩到163GB属于合理范围。 - 日志过滤/丢弃规则:如果配置了订阅过滤器或自定义过滤规则,部分写入的日志会被转发到Lambda、S3等服务,或者直接被丢弃,不会留存到日志组中。比如只保留ERROR级别的日志,其余INFO、DEBUG日志被过滤,就会导致Ingested量远大于实际存储的日志量。
- 写入重试与去重:
PutLogEvents接口出现重试(比如网络抖动导致重传)时,重复的日志会被计入Ingested量,但CloudWatch存储时会自动去重,不会重复存储这些内容,这部分重复数据不会体现在日志组总大小里。 - 日志删除操作:如果当月手动删除过部分日志流,或者配置了日志生命周期规则(哪怕保留期超过一个月,也可能临时删除特定日志流),这些已删除日志的Ingested量仍会被计入账单,但不会算入当前日志组的总大小。
- 导出后删除场景:如果配置了实时导出日志到S3并删除原日志的自动化流程(比如用Lambda实现),Ingested的日志会被导出后立即删除,日志组只留存未导出的部分,也会造成两者数据差异。
内容的提问来源于stack exchange,提问作者Lukonjun
相关产品推荐
相关产品推荐

