• Showing Page History #13097

NEC iモデル Wiki トップ

EXPRESSSCOPEエンジンを使う

[応用編2] サーバのセンサー情報の取得とグラフ化

IPMI対応のBMC(Baseboard Management Controller)を搭載するサーバでは、ipmitoolコマンドを使ってサーバの各種センサーの情報を収集することができます。今回はNECの「Express5800/i110Rc-1h」が搭載するEXPRESSSCOPEを例に、BMCからセンサー情報を収集してグラフ化する方法を紹介します。

by morihide

コマンドラインから情報を収集する

IPMI経由で収集できる情報は、EXPRESSSCOPEのWebインタフェースから参照することができます。ただし、Webインタフェースはちょっとサーバの状態を調べたいときには便利なのですが、継続的なサーバの監視には向いていません。そこで本稿では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 | 次のページ>


関連記事

NEC iモデル Wiki トップ