GeekFactory

int128.hatenablog.com

IPMI経由でDell PowerEdgeのハードウェア情報を取得する

DellやHPのサーバは、IPMI経由で電源やシャーシ温度などのハードウェア情報を取得できます。IPMIを使うとOSに依存せずに情報を取得できます。

今回は以下の環境を使って検証しました。

最初はUbuntu 10.10を使っていたのですが、Zabbix serverのIPMIを有効にするとIPMI Pollerがセグフォで落ちてどうにもならなかったので、11.10にアップグレードしました。

PowerEdgeを設定する

起動時のBIOS画面からIPMIを設定します。もしくは、Windows上のOpenManageからも設定できます。リモートデスクトップで設定できるので便利です。

今回はOpenManageからIPMIを設定しました。

  • オンボードNICのみ使えます。拡張スロットのNICは使えません。
  • IPMIには独立したIPアドレスを設定します。OSから見えるインタフェースと共有する形になります。
  • NIC冗長化している場合は「フェイルオーバーと共有」を選びます。
  • NICをtrunk接続している場合はVLAN IDを設定します。
  • シリアルオーバーLAN」を有効にします。
  • 接続ユーザのパスワードを設定します。ここでは root ユーザとします。

設定が完了したら、IPMI用のIPアドレスpingが通るか確認しましょう。

IPMIでハードウェア情報を取得する

Zabbix serverが入っているLinuxからIPMIでハードウェア情報を取得できるか確認します。ipmitoolが入っていない場合はインストールします。

下記コマンドで値がずらっと表示されたら成功です。エラーの場合はIPMI設定のどこかが間違っているはずです。

ipmitool sensor -I lanplus -H 192.168.1.1 -U root

1列目がキー、2列目が値です。ここで表示されるキーは後述するZabbixアイテムの設定で使います。

Zabbix serverを設定する

Zabbix serverでIPMI pollerが立ち上がっているか確認します。StartIPMIPollersを1以上に書き換えます。

# Number of pre-forked instances of IPMI pollers
# Default value is 0
# This parameter must be between 0 and 255
StartIPMIPollers=5

Zabbix serverを再起動します。ログを確認して、以下のようにIPMIがYESになっていればOKです。

 Starting Zabbix Server. Zabbix 1.8.5 (revision 19050).
 ****** Enabled features ******
 SNMP monitoring:           YES
 IPMI monitoring:           YES
 WEB monitoring:            YES
 Jabber notifications:      YES
 Ez Texting notifications:  YES
 ODBC:                       NO
 SSH2 support:              YES
 IPv6 support:              YES
 ******************************

監視項目を追加する

ホストの設定で「IPMIを使用」にチェックを入れ、以下の項目を設定します。

項目 設定値
IPMI IPアドレス サーバに設定したIPMI用のIPアドレス
IPMIポート 623
IPMI認証アルゴリズム RMCP+
IPMI特権レベル Admin
IPMIユーザ名 IPMI設定で入れたユーザ名
IPMIパスワード IPMI設定で入れたパスワード

続いて、アイテムを追加します。

  • タイプは「IPMIエージェント」を選びます。
  • IPMIセンサーにはipmitoolコマンドで表示されたキーを入力します。PowerEdgeの場合は System Level で消費電力が取得できます。
  • 必要に応じてデータ型を変更します。

アイテムを追加したら、ホストの一覧でIPMIエージェントが緑色になるか確認します。緑色になったら値が取れているので、最新データを見るなり、グラフを表示するなり、トリガを仕込むなり、好きにしてください。

よいZabbixライフを〜。