table 管理器不会清除 loki 2.4 中的块

table manager does not purge chunk in loki 2.4

我想删除超过 31 天的块数据,所以我做了这样的配置

schema_config:
  configs:
    - from: 2020-10-24
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h

storage_config:
  boltdb_shipper:
    active_index_directory: "/var/lib/loki/boltdb-shipper-active"
    cache_location: "/var/lib/loki/boltdb-shipper-cache"
    cache_ttl: 24h 
    shared_store: filesystem
  filesystem:
    directory: /var/lib/loki/chunks

chunk_store_config:
  max_look_back_period: 0s

table_manager:
  retention_deletes_enabled: true
  retention_period: 31d

但实际上删除从未发生过。

我是不是忘了配置什么东西了?

洛基版本:2.4.1

我不确定这是你的情况,但从 Loki 2.4.0 开始,单个二进制文件不再运行 table-manager,这会影响以下场景中的任何人:

  1. 运行 一个二进制 Loki,具有 boltdb-shipper 或 boltdb 以外的任何索引类型
  2. 依靠配置 retention_deletes_enabled 和 retention_period
  3. 的保留

在 Loki 升级指南中查看更多信息以及如何解决此问题,here

Grafana Loki 中的保留是通过 Table ManagerCompactor 实现的。在您的情况下,boltdb-shipper 用于索引和块。 Table 就本地存储而言,管理器不是一个很好的选择。

Compactor 保留将成为默认设置并提供长期支持。它支持针对每个租户和每个流用例的更精细的保留策略。

请检查 Guide here

compactor:
  retention_enabled: true
  retention_delete_delay: 2h <amount of hours to delay the retention period>
  retention_delete_worker_count: 150
limits_config:
  retention_period: [30d]

我在使用 Loki 版本 2.4.1 时遇到了同样的问题。 /data/loki/chunks 目录中的块未被压缩器删除。尝试了我可以在互联网上找到的所有配置变量,结果证明问题出在这个版本的 Loki 中。升级到 2.5.0 解决了我的问题,现在我看到块正在被删除,并且在达到保留期后卷不再增长。