在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下面。

请使用中文将以下内容进行改写,只需要一种选项:

我认为只要在存储方面把握好这些内容,暂时应该不会出什么奇怪的问题。

bannerAds