• Showing Page History #13431
  • Showing Page History #13097

Show page source of ExpressScopeHowTo_4p1 #13431

'''[FrontPage NEC iモデル Wiki トップ]'''

== EXPRESSSCOPEエンジンを使う
= ![応用編2] サーバのセンサー情報の取得とグラフ化

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

by [user:morihide 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_manpage こちらの日本語マニュアル]を参照してください。

まずは、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 | [ExpressScopeHowTo_4p2 2] | [ExpressScopeHowTo_4p3 3] | [ExpressScopeHowTo_4p4 4] | [ExpressScopeHowTo_4p5 5] | [ExpressScopeHowTo_4p2 次のページ>]
----
[[include(ExpressScopeHowTo_4_backnumber)]]

'''[FrontPage NEC iモデル Wiki トップ]'''