在Kubernetes环境中,Loki记录规则存储的设置点
我只是正常地阅读文件,但碰到了很多困扰的地方,所以做了一些笔记。
环境
洛基:v2.4.1
独立模式
由于可能会有修正或更改,所以请确认版本。
文件
浮现出来的东西
ruler:
ring: # 今回ここはスルー
kvstore:
store: inmemory
storage:
type: local
local:
directory: /etc/loki/rules
rule_path: /data/rules/rule
wal:
dir: /data/rules/wal
remote_write: # 今回ここはスルー
enabled: true
client:
url: 'prometheusのremote writeエンドポイント'
躓きポイント包括三种本地存储。
-
- storage
ruleの設定ファイルを置くストレージを設定する場所
今回はconfigMapをマウントするので、localを使用
rule_path
storageからrule設定ファイルをコピーして置いておく場所
最初storageとの違いがわからなかったけど、storageはs3などのサービスも使えるので、そういう場合は一時的にローカルに保存する流れが必要っぽい(想像)
wal
walとはWrite Ahead Logのこと
https://grafana.com/docs/loki/latest/design-documents/2020-09-write-ahead-log/
ここではとりあえずローカルにデータを書き込むということがわかっていればヨシ
储存
这里是要挂载configMap,
但是如果使用subPath时,不知道为什么不会读取,
所以我们不使用subPath,而是整个目录进行挂载。
我还没追溯到原因(如果我知道了什么会补充)
规则路径
由于从存储中复制文件,因此将发生写入操作。
容器的卷将成为只读,从而导致错误,因此应挂载可写入的卷并指定其路径。
娃儿 (Wá’er)
因为这里也会有写入发生,所以请挂载可写入的卷并指定该路径。
对于默认值ruler-wal,我不清楚它是相对于哪个路径的,但基本配置应该是只读卷,因此实际上是必需进行设置。
此外,官方文档中wal的描述部分在remote_write下面,但这是一个错误,它必须在ruler下才能正常运行。
(应该会有一些修正,但截至2021年12月24日v2.4.1,我不知道哪个是本来正确的,所以等待更新)。
顺便说一下,下面的wal_cleaner也应该在ruler下面。
请使用中文将以下内容进行改写,只需要一种选项:
我认为只要在存储方面把握好这些内容,暂时应该不会出什么奇怪的问题。