菜单
开源 RSS

迁移到 TSDB

TSDB 是 Loki 推荐的索引类型,也是当前开发重点。如果您正在使用 boltb-shipper 或任何已弃用的旧式索引类型运行 Loki,我们强烈建议迁移到 TSDB。

为未来一段时间配置 TSDB 索引

要开始迁移,请在您的schema_config中添加一个新的period_config条目。您可以此处阅读更多关于 schema config 的信息。

注意

您必须将新的 period_config 更改推广到所有 Loki 组件才能使其生效。

此示例添加了一个新的 period_config,它将 Loki 配置为从 2023-10-20 开始对摄取的数据使用 TSDB 索引。

schema_config:
  configs:
    - from: 2023-01-01
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h
    - from: 2023-10-20 ①
      store: tsdb ②
      object_store: filesystem ③
      schema: v13 ④
      index:
        prefix: index_
        period: 24h
  1. 您必须将新的时期 from 设置为未来的日期。

  2. 通过设置 store: tsdb 将新时期更新为使用 TSDB 作为索引类型。

  3. 此示例配置在两个时期都使用文件系统作为存储。如果您想为 TSDB 索引和 chunk 使用不同的存储,可以在新时期指定不同的 object_store

  4. 将 schema 更新到 v13,这是撰写本文时推荐的版本。请参阅配置页面了解当前的推荐版本。

配置 TSDB Shipper

配置 storage_config 中的 tsdb_shipper 块也很重要。特别是以下选项:

  • active_index_directory:Ingester 将索引文件写入的目录,这些文件随后将由 shipper 上传到配置的存储。
  • cache_location:用于从存储下载索引文件以供查询路径使用的缓存位置。
storage_config:
  tsdb_shipper:
    active_index_directory: /data/tsdb-index
    cache_location: /data/tsdb-cache

运行 Compactor

强烈建议在使用 TSDB 索引时运行 compactor。它负责对 TSDB 索引进行压缩和保留。不运行索引压缩将导致查询性能欠佳。

请参阅compactor 部分了解更多信息和配置示例。