Raritan PDUでPrometheus+Grafanaでメトリクスを取る PX3-5138JR

目次

概要

今回はRaritanのインテリジェントPDU PX3-5138JR のメトリクスをPrometheusとGrafanaを用いて可視化してみます。
この記事は3部構成です。

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形式のデータを吐いてくれるおかげでかなり楽にメトリクスを取得することが出来ました。

About

インフラエンジニア
主に作業ログ

About Me

Archives