プロジェクト

全般

プロフィール

機能 #104

完了

Prometheus SNMP exporter を chuable にデプロイする

nop_thread さんが10ヶ月前に追加. 10ヶ月前に更新.

ステータス:
終了
優先度:
低め
担当者:
開始日:
期日:
進捗率:

100%

一時中断:
いいえ
pinned:
いいえ
確認予定日:
前回確認日:
管理外残件あり:

説明

house-exporter と一緒に RasPi に載せようかと思ったこともあったが、 LAN 内にあればノードの制限は特にないので、素直に独立した Debian のコンテナとかにしてしまう方が可用性の面でも保守性の面でも望ましい。

Cloudflare Tunnel を使ってしまうと追加の Basic 認証をかけられないことにだけは注意。
→ バックエンド (アップストリーム) サーバの時点で Basic 認証がかかっていれば、 Cloudflare Tunnel 越しにもそのまま認証がかかる。 SNMP exporter 自体が Basic Auth 機能を持っているため、そちらで認証を設定しておけば Cloudflare Tunnel を使って問題ない。


ファイル

2024-01-23-004334+0900.png (94.8 KB) 2024-01-23-004334+0900.png nop_thread, 2024/01/23 00:44

nop_thread さんが10ヶ月前に更新

  • ステータス新規 から 進行中 に変更
  • 進捗率0 から 50 に変更

nop_thread さんが10ヶ月前に更新

  • 題名snmp_exporter を chuable にデプロイする から Prometheus SNMP exporter を chuable にデプロイする に変更
  • 説明 を更新 (差分)

nop_thread さんが10ヶ月前に更新

完了。
サーバラックの消費電力がとれるようになった。

nop_thread さんが10ヶ月前に更新

  • ステータス進行中 から 終了 に変更
  • 進捗率50 から 100 に変更

APC の AP8858 を使っているが、 SNMP exporter が頻繁に I/O エラーを報告してくる。
つまり Prometheus 側でとれる情報も頻繁に欠落するので、グラフ上での表示にも多少の工夫が必要。
たとえば last_over_time(rPDU2PhaseStatusPower{job="snmp-apc-pdu-interval15",house=~"$house"}[5m])*10 にすると欠落した場所は最後の値を使うし、 rPDU2PhaseStatusPower{job="snmp-apc-pdu-interval15",house=~"$house"}*10 or avg_over_time(rPDU2PhaseStatusPower{job="snmp-apc-pdu-interval15",house=~"$house"}[5m])*10 のようにすれば欠落した場所は過去5分の平均で埋める。

値の正確性で言うなら rPDU2DeviceStatusPower よりも rPDU2DeviceStatusEnergy の増分を見る方が良いのだろうが (なぜなら前者ではスクレイプ間で発生した瞬間的な高い値を取り零す可能性があるため)、前者が 10 W (1/100 kW) 単位で後者は 100Wh (1/10 kWh) 単位なので前者の方が精度が良く、15秒程度の高頻度表示に使うなら前者一択。
rPDU2DeviceStatusEnergy はある程度長期的な値を見たいときにしか使えない。

nop_thread さんが10ヶ月前に更新

  • pinnedいいえ にセット

他の形式にエクスポート: Atom PDF