0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ひとりでkubernetesを中心にAdvent Calendar 2021

Day 24

kubernetes環境でのLoki recording rules storage設定ポイント

Posted at

ドキュメント読んで普通にやっただけなのにやたら躓いたポイントが多かったのでメモ

環境

Loki: v2.4.1
Monolithic mode

この先修正・変更があるかと思いますのでバージョンを確認してください

ドキュメント

出てくるもの

config.yaml(の一部)
    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エンドポイント'

躓きポイントは3種類のローカルなストレージ

  • storage
    • ruleの設定ファイルを置くストレージを設定する場所
    • 今回はconfigMapをマウントするので、localを使用
  • rule_path
    • storageからrule設定ファイルをコピーして置いておく場所
    • 最初storageとの違いがわからなかったけど、storageはs3などのサービスも使えるので、そういう場合は一時的にローカルに保存する流れが必要っぽい(想像)
  • wal

storage

ここはconfigMapをマウントするんですが、
subPathを使うとなぜか読んでくれない
ので使わずにディレクトリごとでマウントするようにしましょう

理由までは追えてません(なにかわかったら追記したい)

rule_path

ここはstorageからファイルをコピーするので、書き込みが発生します
コンテナのボリュームは読み込み専用でエラーになるので、書き込み可能なボリュームをマウントしてそこのpathを指定しましょう

wal

ここも書き込みが発生するので、書き込み可能なボリュームをマウントしてそこのpathを指定しましょう
デフォルト値のruler-walはどこに対しての相対pathになるのか把握してませんが、基本的な構成だとおそらく読み込み専用ボリュームになると思いますので、実質設定必須になります
また、公式ドキュメントではwalの記述箇所はremote_writeの下になってますが、これは何かの間違いで、rulerの下でないと動作しません
(何かしら修正があるはずですが、2021/12/24 v2.4.1の時点でどっちが本来の正しいものなのかわからないのでアップデートを待ちます)
ちなみにその下のwal_cleanerもrulerの下が正しいです

:grinning:

ストレージに関してはこのあたりを押さえておけばとりあえず変に躓くことはないのではないかなと思います

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?