CPU温度観察の仕方

安定したサーバ運用のために、 CPUとMotherboardの温度を観察する。 温度情報取得には xmbmon を、グラフ化には MRTG を使う。

動作確認バージョンは、 xmbmon 2.03と、 MRTG 2.10.13。

mbmonのビルド

FreeBSDのportsを利用。

xmbmonはXアプリケーションであるが、 MRTGによるグラフ化だけならばGUIは不要なので、 WITHOUT_X11=yes でmake。

mbmonの実行例

# mbmon -c 1
Temp.= 34.2, 35.9, 22.5; Rot.=    0,    0,    0
Vcore = 1.75, 1.12; Volt. = 3.45, 5.20, 12.07,   0.00,  0.00

MRTGのビルド

FreeBSDのportsを利用。

情報取得用スクリプト

MRTGは、 「第1の整数、第2の整数、uptime、ホスト名」の順に1行1項目の出力を与えれば、 それをグラフ化することができる。

mbmonはMRTGで利用しやすいような出力が考慮されており、 温度の小数点以下をまるめて良いなら、 温度を整数値にする"-i"オプションを使えばよいが、 ここでは温度の値を一旦10倍することで整数値化し、 MRTGの方でFactor,YTicsFactorにより1/10倍してグラフにすることで、 小数点以下の値も有効にする。

下記サンプルで、 sedにより小数点を取り除いているところが10倍を意味する。

MRTG用コンフィギュレーション

Target[temperature]: `/usr/local/bin/mbmon -c 1 -T 4 -u -n | sed '/\.[0-9]$/s/\.//'`
MaxBytes[temperature]: 1000
Title[temperature]: System Temperature
PageTop[temperature]: <H1>System Temperature</H1>
Options[temperature]: nopercent, gauge, absolute, unknaszero, growright
Factor[temperature]: 0.1
YTicsFactor[temperature]: 0.1
YLegend[temperature]: Temperature
ShortLegend[temperature]: degrees
Legend1[temperature]: CPU Temperature
Legend2[temperature]: M/B Temperature
LegendI[temperature]: CPU Temp.
LegendO[temperature]: M/B Temp.

出力例

`Daily' Graph (5 Minute Average)
day
Max CPU Temp.  46.6 degrees Average CPU Temp.  35.5 degrees Current CPU Temp.  35.0 degrees
Max M/B Temp.  37.6 degrees Average M/B Temp.  36.2 degrees Current M/B Temp.  36.8 degrees

Presented by kanai _at_ nadmin.org
May 9, 2004 改訂版
Nov. 10, 2001 初版
Home