MRTGでCPU温度監視!
Updated:
この間、 FedoraサーバのMRTGにCPUの温度を監視する機能を追加してみました。
CPUの温度は「 lm_sensors 」というパッケージを使ってモニタできます。
Fedora10には「 lm_sensors 」はインストールされてました。 もし、インストールされてなければこんな感じで。
# yum install lm_sensors
実施手順
1.センサーを検出
[root@noah ~]# sensors-detect
# sensors-detect revision 5249 (2008-05-11 22:56:25 +0200)
・・・( 省略 )・・・
Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no):
Starting lm_sensors: loading module i2c-i801 smsc47m192 sms[ OK ]
途中何ヶ所か[ yes/no ]聞かれるが、全て[ Enter ]でOK!
2.「 lm_sensors 」動作確認
[root@noah ~]# sensors
smsc47m192-i2c-0-2d
Adapter: SMBus I801 adapter at 2000
+2.5V: +2.50 V (min = +0.00 V, max = +3.32 V)
VCore: +1.15 V (min = +0.00 V, max = +2.99 V)
+3.3V: +3.35 V (min = +0.00 V, max = +4.38 V)
+5V: +5.08 V (min = +0.00 V, max = +6.64 V)
+12V: +12.19 V (min = +0.00 V, max = +15.94 V)
VCC: +3.35 V (min = +0.00 V, max = +4.38 V)
+1.5V: +1.55 V (min = +0.00 V, max = +1.99 V)
+1.8V: +1.77 V (min = +0.00 V, max = +2.39 V)
Chip Temp: +35.0°C (low = -127.0°C, high = +127.0°C)
CPU Temp: +56.0°C (low = -127.0°C, high = +127.0°C)
Sys Temp: +46.0°C (low = -127.0°C, high = +127.0°C)
cpu0_vid: +2.050 V
smsc47m1-isa-0680
Adapter: ISA adapter
fan1: 1228 RPM (min = 1280 RPM, div = 4) ALARM
fan2: 0 RPM (min = 1280 RPM, div = 4) ALARM
3.シェルスクリプトを作成
例として root に「 sensors.sh 」というファイルに以下のように記述。 (今回は「 CPU 」と「 Chip 」の温度を監視してみます)
[root@noah ~]# vi /root/sensors.sh
#!/bin/sh
/usr/bin/sensors | grep CPU | awk '{print $3}' | sed -e 's/+//' -e 's/[^0-9+\.].*//'
/usr/bin/sensors | grep Chip | awk '{print $3}' | sed -e 's/+//' -e 's/[^0-9+\.].*//'
4.「 sensors.sh 」に実行権を与える。
[root@noah ~]# chmod 755 sensors.sh
5.MRTGの設定ファイルの修正
MRTGの設定ファイル「 /etc/mrtg/mrtg.cfg 」の最後に以下のような記述を追加する。 実際には、当方のサーバはシステムの文字コードが「 UTF−8 」なので、設定ファイルの文字コードを「 EUC 」に変換するために、以下のように「 /etc/mrtg/mrtg.cfg.org 」を編集して「 /etc/mrtg/mrtg.cfg 」にEUC変換してコピーするというようなことをしています。
[root@noah ~]# vi /etc/mrtg/mrtg.cfg.org
・・・( 省略 )・・・
### CPU Temp ###
Target[cputemp]: `/root/sensors.sh`
MaxBytes[cputemp]: 100
Title[cputemp]: CPU・チップセット温度
PageTop[cputemp]:
<h1>CPU・チップセット温度</h1>
Options[cputemp]: growright,absolute,gauge,nopercent,noinfo
WithPeak[cputemp]: ymw
#unscaled[cputemp]: dwmy
YLegend[cputemp]: Temperature
ShortLegend[cputemp]: C
LegendI[cputemp]: CPU
LegendO[cputemp]: Chip
Legend1[cputemp]: CPU温度
Legend2[cputemp]: ChipSet温度
[root@noah ~]# nkf -e /etc/mrtg/mrtg.cfg.org > /etc/mrtg/mrtg.cfg
6.各画面の統合
元々あるMRTGの各種グラフが統合された画面に「 CPU・チップセット温度 」も同じように統合するには、以下のようにする。 ・MRTGインデックスページ作成
[root@noah ~]# indexmaker --columns=1 \
--addhead="<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=euc-jp\">" \
/etc/mrtg/mrtg.cfg > /var/www/html/mrtg/index.html
・MRTGインデックスページ編集
[root@noah ~]# vi /var/www/html/mrtg/index.html
<!-- <meta http-equiv="content-type" content="text/html; charset=iso-8859-15" > --> < - - - コメントアウト(文字化け対策)
7.動作確認
「 http://サーバアドレス/mrtg/ 」にアクセスしてみる。 MRTGが正常に動作していれば、設定した間隔(ここでは5分)でモニタできるはずです。 ↓↓こんな感じ↓↓
「 CPU・チップセット温度 」をクリックして、以下のようになるはず。
設定は以上です。
・MRTGの統合画面での表示順は「 /etc/mrtg/mrtg.cfg 」を編集してご自由に変更してください。
※MRTG自体の操作については こちら を参照してください。
しかし、CPUの温度が60度近くもあるって、おかしくない? 去年の夏場から今のマシンでサーバ稼働させてるけど、たぶん夏場はもっと大変なことになってたんだろう! と思うとなんともおそろしい。 ちなみに、ケースの外からエアフロー考えてUSB接続のミニ扇風機で風を送ってやると、何とか55度くらいまで下がるけど。。。 ということで、CPUファンを付けることを考えたが、mini-ITX用ケース(Noah800シリーズ)なんで、ケース内に余裕がない。 ならば、ケースファンを付けようということで、Noah800シリーズ用の拡張ファン(Noah Fan Kit 1700)を付けることにしました。 ということで、ネットで探して注文しました。(¥3,000ほどでした) (残念ながら、楽天の各ショップにはありませんでした)
それでは、また。
Comments