'''[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インタフェースから参照することができます。ただし、Webインタフェースはちょっとサーバの状態を調べたいときには便利なのですが、継続的なサーバの監視には向いていません。そこで本稿では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 トップ]'''