Loki中reject_old_samples_max_age与retention_period的区别及优先级问询
Loki中reject_old_samples_max_age与retention_period的区别及优先级解析
核心区别
- reject_old_samples_max_age:控制Loki拒绝接收旧日志的时间阈值。当
reject_old_samples设为true时,任何时间戳与当前时间差超过该值的日志,会被直接拒绝,不会进入存储流程。 - retention_period:控制已存储日志的保留时长。成功写入Loki的日志,会在存储时长达到该值后被自动清理删除。
优先级说明
二者作用于日志生命周期的不同阶段,不存在互相覆盖的优先级关系:
- 先执行
reject_old_samples_max_age的校验:不符合条件的日志直接被拦截,无法进入存储环节。 - 校验通过、成功存储的日志,再遵循
retention_period的规则,到点后被删除。
你的配置示例分析
你提供的配置如下:
limits_config: enforce_metric_name: false reject_old_samples: true reject_old_samples_max_age: 168h max_cache_freshness_per_query: 10m retention_period: 336h
- 首先,时间戳晚于当前时间168小时的日志会被Loki拒绝接收;
- 成功存入Loki的日志,会在存储满336小时后被删除。
结论:已存储的数据会在336小时后被删除,168小时是日志能否被接收的准入门槛,与存储后的删除时间无关。
内容的提问来源于stack exchange,提问作者DmitrySemenov
相关产品推荐
相关产品推荐

