IPMIを使ってHP ProLiant ML115の温度を監視する
FreeBSD 7.2-RELEASEをインストールしたML115 G1は、騒音対策でCPU FANを鎌風2の風に交換してる。ファンコンでファンの回転数を制御できるんだけど、CPUの温度とCPU FANの回転数を連動させられないので、CPUの温度を気にしておく必要がある。
以前はmbmonを使ってたけど、ML115だと使えなさそう。その代わり、IPMIでセンサー情報が取得できるので使ってみた。
準備
まずはFreeBSDからIPMIが見えるように準備する。IPMIのドライバはすでにbase systemに取り込まれてるので、kernel moduleをloadする。
# kldload ipmi
こんなかんじでipmi0その他のデバイスが認識されたらOK。
ipmi0: <IPMI System Interface> port 0xca2-0xca3 on acpi0 ipmi0: KCS mode found at io 0xca2 on acpi ipmi0: IPMI device rev. 1, firmware rev. 2.2, version 2.0 ipmi0: Number of channels 1 ipmi0: Attached watchdog ipmi1: <IPMI System Interface> on isa0 device_attach: ipmi1 attach returned 16 ppc0: cannot reserve I/O port range sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled
あとは、再起動した後もipmi.koがloadされるように、/boot/loader.confに以下を記述しておく。
ipmi_load="YES"
ipmitoolのインストール
IPMI経由で情報をゲットするipmitoolというツールがあるので、インストールする。portsならsysutils/ipmitoolから。
ちなみに、sysutils/ipmi-kmodもあるけど、こっちは5.3や6.1へのbackportなので、7.2-RELEASEだと不要。
ipmitoolを使ってセンサー情報を取得する
IPMI経由では、サーバに関する多くの情報がゲットできる。とりあえず、温度を含むセンサー情報をゲットしてみる。以下では温度に間係する部分だけ抜粋した。他には、FANの回転数や電源電圧などが取得できる。
# ipmitool sensor list 多いので省略 RCPU Diode 1 | 36.000 | degrees C | ok | na | na | na | na | 85.000 | na Ambient | 27.000 | degrees C | ok | na | na | na | na | 53.000 | na Local VRD0 Temp | 33.000 | degrees C | ok | na | na | na | na | 85.000 | na
あとはわかりやすいようにグラフにするか。muninのpluginを書くのがよさそう。