目次
概要
今回はRaritanのインテリジェントPDU PX3-5138JR のメトリクスをPrometheusとGrafanaを用いて可視化してみます。
この記事は3部構成です。
- インテリジェントPDUを買ってみた セットアップ編 PX3-5138JR
- Raritan PDUでカスケード接続してみる PX3-5138JR
- Raritan PDUでPrometheus+Grafanaでメトリクスを取る PX3-5138JR
PDUのメトリクスをPrometheusで読む
まずは、PDUのメトリクスをPrometheusで読めるようにする必要があります。
これまでRaritanのPDUでPrometheusを使用するには別途Exporterをサーバーなどで実行してメトリクスを取得する必要がありました。
しかし、PDUのファームウェアのv4系へのアップデートでPDUが直接Exporterの役割を果たすようになり、別途Prometheus Exporterを用意する必要がなくなりました。
また、設定不要で利用することができます。(マニュアル)
curlでアクセスしてみる
まずはマニュアルに従ってcurlコマンドを使用してアクセスしてみます。
$ curl -k https://<USER>:<PASS>@<IP>/cgi-bin/dump_prometheus.cgi
#HELP raritan_pdu_activeenergy_watthour_total Total activeenergy consumed in watthour
#TYPE raritan_pdu_activeenergy_watthour_total counter
raritan_pdu_activeenergy_watthour_total{pduid="1", inletid="I1"} 158.46
raritan_pdu_activeenergy_watthour_total{pduid="1", outletid="1"} 137.26
raritan_pdu_activeenergy_watthour_total{pduid="1", outletid="2"} 11.70
raritan_pdu_activeenergy_watthour_total{pduid="1", outletid="3"} 9.50
~~~~~
また、末尾にパラメーターとして include_names=1
を付加することで名前の情報を取得することができます。
取得できるデータ
raritan_pdu_activeenergy_watthour_total
Total activeenergy consumed in watthour- トータル電力量
raritan_pdu_activepower_watt
The current value of the activepower in watt- 現在の電力量
raritan_pdu_apparentpower_voltampere
The current value of the apparentpower in voltampere- 現在のVA
raritan_pdu_current_ampere
The current value of the current in ampere- 現在のA
raritan_pdu_inletrating
The maximum ampere rating of the inlet- 入力の最大A
raritan_pdu_linefrequency_hertz
The current value of the linefrequency in hertz- 現在の周波数
raritan_pdu_outletrating
The maximum ampere rating of the outlet- 出力の最大A
raritan_pdu_powerfactor
The current value of the powerfactor- 現在の力率
raritan_pdu_voltage_volt
The current value of the voltage in volt- 現在の電圧
Prometheusの設定
/etc/prometheus/prometheus
などに下記設定を追記することでPrometheusからデータを取得することができます。
- job_name: PDU
scrape_interval: 1m
scrape_timeout: 1m
scheme: https
tls_config:
insecure_skip_verify: true
metrics_path: "/cgi-bin/dump_prometheus.cgi"
params:
include_names: ["1"]
static_configs:
- targets: ['<PDU_IP>:443']
basic_auth:
username: "<USERNAME>"
password: "<PASSWORD>"
Grafanaで表示
サクッとGrafanaでグラフを表示してみます。
現在はPDUにPDUを接続している状況なので、PDU自体の負荷がおよそ3W程度であることが読めています。
分解能もかなり高そうです。
最後に
こういった製品のメトリクスを取得して可視化しようとすると、たいていSNMPを使用することになり毎回苦労することになるのですが、この製品はPDU自体がPrometheus形式のデータを吐いてくれるおかげでかなり楽にメトリクスを取得することが出来ました。