Prometheus データ永続化

Posted on 2018-11-19 in zakki

永続化

別に大したことはやってなくて、docker-compose の volume マウントにこれつけただけ。

  • docker-compose.yml
( 中略 )
volumes:
  - ./prometheus/data/:/prometheus/
( 中略 )

簡単でしょ?

エラー

とか思ってたら、コンテナ立ち上がってなくて「はー?」的なアレ。

prometheus       | level=error ts=2018-11-17T07:00:16.341990794Z caller=main.go:617 err="opening storage failed: open /prometheus/wal/00000000: permission denied"
prometheus exited with code 1

「はー?」と思いつつ prometheus の Docker コンテナ見てみるとなんとなくユーザマター臭いのが分かる。

/prometheus $ ls -la
total 12
drwxr-xr-x    3 nobody   nogroup       4096 Nov 17 16:01 .
drwxr-xr-x    1 root     root          4096 Nov 17 16:01 ..
-rw-r--r--    1 nobody   nogroup          0 Nov 17 16:01 lock
drwxr-xr-x    2 nobody   nogroup       4096 Nov 17 16:01 wal

んでこれ。

https://groups.google.com/forum/#!topic/prometheus-users/4qiYbUAPoXc

まさに、という感じ。nobody さんが書き込めないので涙目、ってやつでした。お世話になります。

試しに ./promtheus/data/ をパーミッション全開にしたら通る。内容もマウントされている。

[vagrant@localhost prometheus]$ ll
 合計 8
drwxrwxrwx 9 vagrant wheel 4096 11 月 19 20:00 data
[vagrant@localhost prometheus]$ ll data 
 合計 28
drwxr-xr-x 3 nobody  nobody 4096 11 月 18 12:00 01CWJC5ETCVQZ8Z3Z28YGE7REA
drwxr-xr-x 3 nobody  nobody 4096 11 月 19 06:00 01CWM9YZW0MNZS1HGXVQBQZNA2
drwxr-xr-x 3 nobody  nobody 4096 11 月 19 12:00 01CWMYJ5HANN6S9VHRCEKF0R9P
drwxr-xr-x 3 nobody  nobody 4096 11 月 19 18:00 01CWNK5B6X40WW4THYYR4H4S7J
drwxr-xr-x 3 nobody  nobody 4096 11 月 19 18:00 01CWNK5B9X866YPPYJB6AX6MGD
drwxr-xr-x 3 nobody  nobody 4096 11 月 19 20:00 01CWNT12F7910E344WYSGPN5T9
-rw-r--r-- 1 nobody  nobody    0 11 月 17 16:21 lock
drwxrwxrwx 2 vagrant wheel  4096 11 月 17 16:18 wal

パーミッション全開もさすがにアレなので、URL 先で触れられているとおり、nobody ユーザに所有者を変更する。nobody ユーザとか設定できるんだねしらなんだ。あとは 777 から 775 に。

[vagrant@localhost data]$ ll
( 中略 )
drwxrwxr-x 2 nobody nobody 4096 11 月 17 16:18 wal
[vagrant@localhost data]$ sudo systemctl status usr-prometheus
● usr-prometheus.service - usrPrometheus
   Loaded: loaded (/usr/lib/systemd/system/usr-prometheus.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-11-19 21:49:40 JST; 9s ago

よかった。