IPMI対応のBMC(Baseboard Management Controller)を搭載するサーバでは、ipmitoolコマンドを使ってサーバの各種センサーの情報を収集することができます。今回はNECの「Express5800/i110Rc-1h」が搭載するEXPRESSSCOPEを例に、BMCからセンサー情報を収集してグラフ化する方法を紹介します。
by morihide
IPMI経由で収集できる情報は、EXPRESSSCOPEのWebインタフェースから参照することができます。参照できる情報はSEL(システムイベントログ:電源操作などのイベント履歴)、SDR(センサデータレコード:各種ハードウェアセンサの値)、FRU(フィールド交換可能ユニット:サーバの各パーツの製品情報)の3タイプに大別されており、WebインタフェースはSELやFRUをちょっと調べたいというときに便利です。一方、SDRの情報は気になったときに調べるというやり方でもよいのですが、継続的に収集してその変動を記録することでより有用に活用できます。Express5800の場合、標準添付管理ソフトウェアのDianaScopeで状態監視が行えるのですが、残念ながらiモデルは対象外のようなので、今回はipmitoolでサーバの状態監視を行います。
なお、ipmitoolはサーバ上で実行することもできますが、ここではリモートの監視ホストで実行するものとします。そのため、本稿の作業は基本的に監視対象サーバではなく、監視ホスト上で行います。監視ホストとサーバのOSはどちらもUbuntu 7.10で、サーバの管理ポートのアドレスは「172.17.4.129」です。ipmitoolコマンドの基本的な書式については、こちらの日本語マニュアルを参照してください。
まずは、ipmitoolを手動で実行してセンサー情報を取得してみます。ipmitoolにはサーバの情報を取得するためのコマンドが豊富に用意されています。そのうち、センサーの情報をまとめて取得するためのコマンドが「sdr list」です。このコマンドに引数「full」を付けて実行すると、以下のようにSDR(Sensor Data Record)からすべてのセンサーの現在の値が読み取られて表示されます。
$ ipmitool -I lanplus -H 172.17.4.129 -U hmori -P xxxxxxxx sdr list full Processor Vccp | 1.09 Volts | ok ←CPUコア電圧 Baseboard P_Vtt | 1.07 Volts | ok ←CPU終端電圧 Baseboard 1.5v | 1.53 Volts | ok ←1.5Vライン電圧 Baseboard 1.8v | 1.88 Volts | ok ←1.8Vライン電圧 Baseboard 3.3V | 3.25 Volts | ok ←3.3Vライン電圧 Baseboard 5v | 4.98 Volts | ok ←5Vライン電圧 Baseboard 12v | 12.15 Volts | ok ←12Vライン電圧 Baseboard VBAT | 3.03 Volts | ok ←バッテリ電圧 Baseboard Temp2 | 39 degrees C | ok ←システム温度 Processor Temp1 | 55 degrees C | ok ←CPU温度 Processor FAN | 3039.51 RPM | ok ←CPUファン回転数 Rear FAN1 | 5590.34 RPM | ok ←ケースファン1 回転数 Rear FAN2 | 5590.34 RPM | ok ←ケースファン2 回転数
個別のセンサーの詳細情報を取得するには、「sdr get」コマンドを使います。たとえば、CPU温度センサーを調べる場合は以下のようにセンサー名「Processor Temp1」を指定してこのコマンドを実行します。
$ ipmitool -I lanplus -H 172.17.4.129 -U hmori -P xxxxxxxx sdr get "Processor Temp1" Sensor ID : Processor Temp1 (0x32) Entity ID : 3.1 (Processor) Sensor Type (Analog) : Temperature Sensor Reading : 55 (+/- 1.500) degrees C Status : ok Nominal Reading : 70.000 Normal Minimum : 8.000 Normal Maximum : 94.000 Upper critical : 122.000 Upper non-critical : 119.000 Lower critical : 2.000 Lower non-critical : 5.000 Positive Hysteresis : -62.000 Negative Hysteresis : -62.000 Minimum sensor range : Unspecified Maximum sensor range : Unspecified Event Message Control : Entire Sensor Only Readable Thresholds : lcr lnc unc ucr Settable Thresholds : lcr lnc unc ucr Threshold Read Mask : lcr lnc unc ucr Assertion Events : Assertions Enabled : lnc- lcr- unc+ ucr+ Deassertions Enabled : lnc- lcr- unc+ ucr+
上記のように、現在の値(Sensor Reading)のほかに、各種上下限値がどのように設定されているのかが表示されます。
<前のページ | 1 | 2 | 3 | 4 | 5 | 次のページ>