青蛙小白
博客 / 2023/05

Grafana Loki笔记09: 使用Helm部署Loki时的保留策略配置

2023/05/31 · — 字 · 阅读约 — 分钟 ·
目录

前面学习了Loki中日志的保留策略,本文整理一下对于使用Loki官方helm chart部署Loki时如何在values.yaml中配置日志保留策略。

所有的配置参考都可以在这个helm chart的默认的values.yaml中获得,地址是https://github.com/grafana/loki/blob/main/production/helm/loki/values.yaml

基于默认的values.yaml结合前面已经学习的保留策略配置,对我们使用的values.yaml定制如下(下面只保留了"保留策略相关的配置"):

# ...
loki:
  storage:
    bucketNames:
      # ...
    s3:
      # ...
  compactor:
    # 运行压缩操作的间隔时间
    compaction_interval: 10m
    # 启用保留策略
    retention_enabled: true
    # 在保留期限过后,完全删除块(chunks)的延迟时间。
    retention_delete_delay: 2h
    # 用于删除块的goroutine的最大数量
    retention_delete_worker_count: 150
  limits_config:
    # 是否强制确保每个样本都有一个指标名称。
    enforce_metric_name: false
    # 每个租户允许缓存的最新结果,以防止缓存可能仍处于变动状态的最新结果。
    max_cache_freshness_per_query: 10m
    # 是否拒绝旧样本。
    reject_old_samples: true
    # 在拒绝之前接受的最大样本时间
    reject_old_samples_max_age: 1w
    # 按时间间隔分割查询并并行执行。值为0将禁用按时间分割。
    # 这也决定了在启用结果缓存时如何选择缓存键。
    split_queries_by_interval: 15m
    # 存储数据的保留期限,仅在压缩器配置中的retention_enabled为true时才适用。
    # 从版本2.8.0开始,零值0或0s表示禁用保留。
    # 在之前的版本中,Loki未正确处理零值以禁用保留,因此应使用一个非常大的值代替。
    retention_period: 30d
  tenants:
    - name: org1
      password: org1pass

# ...

schema_config:
  configs:
    - from: 2022-01-11
      store: boltdb-shipper
      object_store: s3
      schema: v12
      index:
        prefix: loki_index_
        period: 24h
storage_config:
  hedging:
    at: 250ms
    max_per_second: 20
    up_to: 3

# ...

注意,只有当索引周期(index period)为24小时时,才可使用保留功能。

TAGS # loki
评论