2010-11-12

Munin で温度を記録しよう。

最近は寒くなってきましたね。 室内に設置しているサーバの温度も、窓を開けておけば下がりだして気楽なシーズン。


ここでサーバの温度を取得して記録する方法をまとめていこうと思います。


ファンの回転数
温度
電圧


lm_sensors のインストール


lm_sensors はマザーボードやCPUに搭載された各種温度センサーやファン回転数、電圧の表示などを行うものです。 インストールは lm_sensors のパッケージをインストールするだけです。


CentOS なら yum で


sudo yum install lm_sensors

Ubuntu なら aptitude で


sudo aptitude install lm-sensors

インストールが終わったら、センサーデバイスの検出を行います。


yes | sudo /usr/sbin/sensors-detect

センサーの検出ができたら、サービスとして登録します。


CentOS なら /sbin/ckconfig で登録


sudo /sbin/chkconfig lm_sensors on

Ubuntu ならば update-rc.d で登録


sudo /usr/sbin/update-rc.d lm-sensors enable 2345

/usr/bin/sensors を使うとセンサーの検出する値が表示できます。


$ sensors
it8718-isa-0290
Adapter: ISA adapter
in0: +1.09 V (min = +0.77 V, max = +1.54 V)
in1: +1.81 V (min = +1.62 V, max = +1.98 V)
in2: +3.26 V (min = +2.96 V, max = +3.63 V)
in3: +2.99 V (min = +2.54 V, max = +3.46 V)
in4: +3.04 V (min = +2.70 V, max = +3.30 V)
in5: +0.03 V (min = +0.02 V, max = +4.06 V)
in6: +1.09 V (min = +0.02 V, max = +4.06 V)
in7: +2.54 V (min = +2.24 V, max = +2.75 V)
in8: +3.22 V
fan1: 1917 RPM (min = 1500 RPM)
fan2: 1634 RPM (min = 1149 RPM)
fan3: 1541 RPM (min = 1149 RPM)
fan4: 1544 RPM (min = 1149 RPM)
fan5: 0 RPM (min = 10 RPM) ALARM
temp1: +36.0°C (low = +5.0°C, high = +62.0°C) sensor = thermistor
temp2: +35.0°C (low = +5.0°C, high = +62.0°C) sensor = thermistor
temp3: +52.0°C (low = +5.0°C, high = +90.0°C) sensor = thermal diode
cpu0_vid: +2.050 V
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +34.0°C (high = +78.0°C, crit = +100.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Core 1: +37.0°C (high = +78.0°C, crit = +100.0°C)

取得できる対象はマシンによって異なります。 今回試したマシンでは、CPUコア温度、ファン速度、電圧のすべてが取得できました。


hddtemp のインストール


hddtemp を用いると各HDDの温度が取得できます。


sudo yum install hddtemp

sudo apt-get install hddtemp

手元のマシンでは 3ware のRAIDカードを使っているため、hddtemp での温度取得が出来ませんでした。 残念。


munin-node の plugin を登録


munin-node の設定は省略します。


munin-node plugin の sensors_ を使うと、lm_sensors を介した、温度・ファン・電圧の値が取得され記録できます。 登録は /etc/munin/plugins にシンボリックリンクを作るだけです。 先ほどの sensors コマンドで取得できる対象のシンボリックリンクだけを作ると良いでしょう。


# 温度を取得する場合
sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp
# ファン速度を取得する場合
sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_fan
# 電圧を取得する場合
sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_volt

# HDDの温度を取得する場合
sudo ln -s /usr/share/munin/plugins/hddtemp2 /etc/munin/plugins/hddtemp2

以上が完了したら munin-node のリスタートを行います。


/etc/init.d/munin-node restart

リスタート後に取得できるか、telnet で munin-node に接続し、確認してください。


$ telnet localhost munin
fetch sensors_temp
fetch sensors_volt
fetch sensors_fan
fetch hddtemp2

その他


HDDの温度は hddtemp で採る方法を今回使いましたが、SMARTの情報を採るツールもあります。

0 件のコメント:

コメントを投稿