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定制如下(下面只保留了"保留策略相关的配置"):
1# ...
2loki:
3 storage:
4 bucketNames:
5 # ...
6 s3:
7 # ...
8 compactor:
9 # 运行压缩操作的间隔时间
10 compaction_interval: 10m
11 # 启用保留策略
12 retention_enabled: true
13 # 在保留期限过后,完全删除块(chunks)的延迟时间。
14 retention_delete_delay: 2h
15 # 用于删除块的goroutine的最大数量
16 retention_delete_worker_count: 150
17 limits_config:
18 # 是否强制确保每个样本都有一个指标名称。
19 enforce_metric_name: false
20 # 每个租户允许缓存的最新结果,以防止缓存可能仍处于变动状态的最新结果。
21 max_cache_freshness_per_query: 10m
22 # 是否拒绝旧样本。
23 reject_old_samples: true
24 # 在拒绝之前接受的最大样本时间
25 reject_old_samples_max_age: 1w
26 # 按时间间隔分割查询并并行执行。值为0将禁用按时间分割。
27 # 这也决定了在启用结果缓存时如何选择缓存键。
28 split_queries_by_interval: 15m
29 # 存储数据的保留期限,仅在压缩器配置中的retention_enabled为true时才适用。
30 # 从版本2.8.0开始,零值0或0s表示禁用保留。
31 # 在之前的版本中,Loki未正确处理零值以禁用保留,因此应使用一个非常大的值代替。
32 retention_period: 30d
33 tenants:
34 - name: org1
35 password: org1pass
36
37# ...
38
39schema_config:
40 configs:
41 - from: 2022-01-11
42 store: boltdb-shipper
43 object_store: s3
44 schema: v12
45 index:
46 prefix: loki_index_
47 period: 24h
48storage_config:
49 hedging:
50 at: 250ms
51 max_per_second: 20
52 up_to: 3
53
54# ...
注意,只有当索引周期(index period)为24小时时,才可使用保留功能。