安定したサーバ運用のために、 CPUとMotherboardの温度を観察する。 温度情報取得には xmbmon を、グラフ化には MRTG を使う。
動作確認バージョンは、 xmbmon 2.03と、 MRTG 2.10.13。
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
FreeBSDのportsを利用。
MRTGは、 「第1の整数、第2の整数、uptime、ホスト名」の順に1行1項目の出力を与えれば、 それをグラフ化することができる。
mbmonはMRTGで利用しやすいような出力が考慮されており、 温度の小数点以下をまるめて良いなら、 温度を整数値にする"-i"オプションを使えばよいが、 ここでは温度の値を一旦10倍することで整数値化し、 MRTGの方でFactor,YTicsFactorにより1/10倍してグラフにすることで、 小数点以下の値も有効にする。
下記サンプルで、 sedにより小数点を取り除いているところが10倍を意味する。
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.
| 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 |