You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Loki v2.4.2搭配S3存储:日志保留配置最优方案咨询

Loki v2.4.2 90天日志保留配置方案(无需Compactor)

核心结论

  • 绝对禁止直接在S3根前缀设置TTL:会误删Loki的活跃元数据、索引文件,导致数据损坏或查询异常
  • 必须通过table_manager配置+S3前缀级生命周期规则组合实现安全的日志保留,无需运行Compactor

具体配置修改

基于你提供的Loki配置,需修改以下部分:

1. 更新table_manager配置

将原table_manager块替换为:

table_manager:
  retention_deletes_enabled: true
  retention_period: 2160h  # 对应90天,单位小时
  poll_interval: 24h       # 每天检查一次过期数据,减少S3请求次数(可选,默认1h)
  • retention_deletes_enabled: true:开启过期索引的标记删除功能
  • retention_period: 2160h:设置索引数据的保留周期为90天

2. 禁用Compactor

由于你不想运行Compactor,需明确禁用该组件:

compactor:
  enabled: false
  working_directory: /data/loki/boltdb-shipper-compactor
  shared_store: filesystem

3. 可选调整:接收端日志年龄限制

当前limits_config中reject_old_samples_max_age: 168h(7天)是限制接收超过7天的日志,若你需要接收最近90天的日志,可修改为:

limits_config:
  # 其他配置不变
  reject_old_samples_max_age: 2160h

S3生命周期规则(TTL)设置

需为S3桶内两个特定前缀分别创建生命周期规则,不能在根前缀设置:

1. 索引文件前缀规则(对应schema_config中的index.prefix: index_)

  • 规则名称:loki-index-retention
  • 前缀:index_
  • 操作:永久删除对象,设置为对象创建后95天(比90天多5天缓冲,确保table_manager完成过期标记)
  • 若开启S3版本控制,需勾选"删除所有版本"

2. 块文件前缀规则(Loki默认块存储前缀chunks_)

  • 规则名称:loki-chunks-retention
  • 前缀:chunks_
  • 操作:永久删除对象,设置为对象创建后95天
  • 若开启S3版本控制,需勾选"删除所有版本"

关键注意事项

  • 缓冲期的必要性:额外5天的缓冲是为了给table_manager足够时间扫描并标记过期索引为删除状态,避免S3提前清理仍被Loki引用的数据
  • 配置验证:重启Loki后,查看日志确认table_manager模块无报错,可通过/metrics端点查看loki_table_manager_deleted_tables_total指标验证删除逻辑是否正常运行
  • 数据备份:修改配置前建议备份S3桶内的index_和chunks_前缀数据,避免配置失误导致数据丢失

内容的提问来源于stack exchange,提问作者manu4543

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 05:15:27