mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

MRTGでCPU温度監視!

[ サーバ構築 ] [ Fedora, Linux ]

こんばんは。

この間、 FedoraサーバのMRTGにCPUの温度を監視する機能を追加してみました。

CPUの温度は「 lm_sensors 」というパッケージを使ってモニタできます。

Fedora10には「 lm_sensors 」はインストールされてました。 もし、インストールされてなければこんな感じで。

1
# yum install lm_sensors

実施手順

1.センサーを検出

1
2
3
4
5
[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 」動作確認

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[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 」の温度を監視してみます)

1
2
3
4
5
[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 」に実行権を与える。

1
[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変換してコピーするというようなことをしています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[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インデックスページ作成

1
2
3
[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インデックスページ編集

1
2
[root@noah ~]# vi /var/www/html/mrtg/index.html
    <!-- <meta http-equiv="content-type" content="text/html; charset=iso-8859-15" > -->  < - - - コメントアウト(文字化け対策)

7.動作確認

http://%E3%82%B5%E3%83%BC%E3%83%90%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9/mrtg/ 」にアクセスしてみる。 MRTGが正常に動作していれば、設定した間隔(ここでは5分)でモニタできるはずです。 ↓↓こんな感じ↓↓

mrtg_cputemp_01

「 CPU・チップセット温度 」をクリックして、以下のようになるはず。

mrtg_cputemp_02

mrtg_cputemp_03


設定は以上です。

・MRTGの統合画面での表示順は「 /etc/mrtg/mrtg.cfg 」を編集してご自由に変更してください。

※MRTG自体の操作については こちら を参照してください。

しかし、CPUの温度が60度近くもあるって、おかしくない? 去年の夏場から今のマシンでサーバ稼働させてるけど、たぶん夏場はもっと大変なことになってたんだろう! と思うとなんともおそろしい。 ちなみに、ケースの外からエアフロー考えてUSB接続のミニ扇風機で風を送ってやると、何とか55度くらいまで下がるけど。。。 ということで、CPUファンを付けることを考えたが、mini-ITX用ケース(Noah800シリーズ)なんで、ケース内に余裕がない。 ならば、ケースファンを付けようということで、Noah800シリーズ用の拡張ファン(Noah Fan Kit 1700)を付けることにしました。 ということで、ネットで探して注文しました。(¥3,000ほどでした) (残念ながら、楽天の各ショップにはありませんでした)

それでは、また。

Comments