迁移到 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
您必须将新的时期
from
设置为未来的日期。通过设置
store: tsdb
将新时期更新为使用 TSDB 作为索引类型。此示例配置在两个时期都使用文件系统作为存储。如果您想为 TSDB 索引和 chunk 使用不同的存储,可以在新时期指定不同的
object_store
。将 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 部分了解更多信息和配置示例。