2005年1月 3日

【MRTG でシステムの温度を監視】


使っている PC が xmbmon によるハードウェアの温度情報の取得が可能であれば、それも MRTG でグラフ化することができます。

xmbmon に含まれる mbmon を使ってみましょう。以下のように使えます。

$ mbmon -c 1
Temp.= 26.0, 33.0, 34.0; Rot.= 1939,    0, 7941
 Vcore = 1.52, 1.54; Volt. = 3.36, 5.19, 11.13,  -3.28, -3.90

↑この Temp のところが温度に相当し、私が使っているシステムだと Temp の1番目が CPU 温度で、2番目が M/B の温度になります。今回は、CPU と System の温度監視をすることにしました。

で、以下のようなスクリプトを書きます。

$ cat << EOF >> tempmon.sh; chmod +x tempmon.sh
#!/bin/sh

/usr/local/bin/mbmon -c 1 -i -T 4 -u -n

exit 0
EOF

mbmon は -c オプションでモニタ回数を指定しなければ永遠に監視し続けますので、1 を渡して一回取得したら終わるようにします。
また、MRTG は Integer な値しか扱えないので -i オプションも渡し、出力を Integer 表記にします。
-T で mbmon の取得するスタイルを指定しますが、これはお使いのシステムに合わせてスタイル番号を変更してください。どのようなスタイルがいいのかは mbmon -h するとわかるかと思います。
で、uptime とホスト名を出力させるために、-u と -n も指定します。
# mbmon ってやっぱ MRTG からの呼び出しを意識してるんでしょうね。

で、mrtg 用のコンフィグファイルには以下を記述します。

Target[--.--.--.--_temp]: `/path/to/tempmon.sh`
MaxBytes[--.--.--.--_temp]: 100
Title[--.--.--.--_temp]: System Temp.
PageTop[--.--.--.--_temp]: <H1>System Temp.</H1>
Options[--.--.--.--_temp]: gauge,absolute,unknaszero,growright
YLegend[--.--.--.--_temp]: Temp.(C)
ShortLegend[--.--.--.--_temp]: (C)
Legend1[--.--.--.--_temp]: CPU Temperature
Legend2[--.--.--.--_temp]: M/B Temperature
LegendI[--.--.--.--_temp]: CPU Temp
LegendO[--.--.--.--_temp]: M/B Temp.

と、これでOK。




トラックバック

このエントリーのトラックバックURL:
http://www.nomadic.jp/admin/MT/mt-tb.cgi/449

コメントを投稿

コメント: (スタイル用のHTMLタグが使えます)