LoginSignup
3
1

More than 1 year has passed since last update.

ラズパイで動くPrometheusデータの永続化

Posted at

きっかけ

以前からラズパイにセンサーを付けて取得した自宅の環境(温度、湿度、気圧)をPrometheus+Grafanaで可視化したり、ラズパイ達のリソースを監視して楽しんでいたのだが、しばらくするとPrometheusが突然死を繰り返すように。

grafana.png

当初はなす術もなく、数時間おきにPrometheusを再起動して逃げていたのだが、調べる内にPrometheusのデータ保存期間を延ばしたことが原因であることが判明。
※デフォルトは15日間。起動オプション(--storage.tsdb.retention 365d)を付けて1年分の保存を目論んでいた

対応策

私の調べた内容はざっと下記。

  • そもそもPrometheusはデータの永続化に興味がない
  • 永続化したかったらPrometheusから「remote_write」を使って外部に書き出すといいみたい
  • 外部ストレージとして使えるのはInfluxDBとかPostgreSQLとか色々あるらしい

その中でVictoriaMetricsが簡単かつGrafanaのデータソースとしてもPrometheusからそのままリプレースできるということで使ってみることに。

環境

ちなみにVictoriaMetrics導入先の環境はこんなです。

  • Raspberry Pi 3 Model B+
  • Raspbian GNU/Linux 10 (buster)
  • 温度・湿度計測用にDHT22センサーを装着し、Pythonのprometheus_clientを使ってメトリクス生成
  • Prometheus関係で動いてるもの
    • Prometheus 2.29.1
    • Grafana Server 8.1.1 [可視化用]
    • AlertManager 0.22.2 [アラート発報用]
    • Blackbox Exporter 0.19.0 [URL監視用]
    • Node Exporter 1.2.2 [ラズパイのメトリクス取得&センサーデータ用]

導入

Prometheus

設定ファイルにremote_writeを追記してあげて、サービス再起動
(VictoriaMetricsのリスナーポートは8428)

prometheus.yml(追記箇所だけ)
remote_write:
  - url: http://localhost:8428/api/v1/write

VictoriaMetrics

簡単。
下記からバイナリをダウンロードして解凍してその場にデータ書き出しでよければ実行するだけ。

常駐させたいし、データもそれなりのところに放り込もうということで、サービス化。
予め/var/lib/victoriaディレクトリを作成し、データ保存期間は12ヶ月としてみた。

victoria-metrics.service
[Unit]
Description=Victoria Metrics
Before=prometheus.service

[Service]
User=prometheus
ExecStart=/usr/local/bin/victoria-metrics-prod \
  -storageDataPath /var/lib/victoria/ \
  -retentionPeriod=12 

[Install]
WantedBy=multi-user.target

Grafana

PrometheusデータソースとしてVictoriaMetricsのエンドポイントを指定するだけ。
grafana-ds.png

PromQLがそのまま使えるので、ダッシュボードもデータソースを変えるだけ
promql.png

まとめ?

色々立ち上げているが、メモリはこれくらい。
安定している感じなので、当面これで使ってみる。
(あ、データのバックアップなにもしてない)
mem.png

ただ、VictoriaMetricsを立ち上げた当初、Grafanaのデータソースを設定してもデータが見えなかった。
が、2、3日した頃に改めて見たら見えるようになり、その後は安定。
Grafanaの設定は変えていないのだが。。
公式ドキュメントの何かを見落としていたか?(英語苦手)

Prometheus+Grafanaの日本語資料はいっぱいあって、私も色々参考にさせて頂いたのだが、
VictoriaMetricsの日本語資料があまりない上、上記問題があったおかげで難儀したなと。

3
1
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
3
1