MRTG でCPUの温度管理

MRTGでネットワークトラフィック、CPU負荷、空きメモリ、ディスク使用量の監視データに加え、CPUコアの温度管理を追加しようと/usr/local/mrtg-2/lib/mrtg.cfg の設定したのでメモ。

まず、sensors コマンドをインストールします。

# yum install lm_sensors
# sensors-detect

Target[cputemp_0] にはCore 0 のCPU温度をsensors コマンド、uptimeコマンドで取得するスクリプトを指示しています。

書式は、`input; output; uptime; hostname`で以下の4行を出力します。

例)
45.0
45.0
16 days, 07:07:45
hostname

input=output は、以下のシェルスクリプト。

/usr/bin/sensors | grep Core | awk NR==1'{print $3}' | sed -e 's/+//' -e 's/[^0-9+\.].*//'

uptime は、以下のシェルスクリプト。

uptime | awk '{$2=""; print$3" "$4" "$1}'

その他の設定項目は、@IT:MRTGでCPUの温度変化をグラフ化するには を参考にしました。

Target[cputemp_0]: `/usr/bin/sensors | grep Core | awk NR==1'{print $3}' | sed -e 's/+//' -e 's/[^0-9+\.].*//'; /usr/bin/sensors | grep Core | awk NR==1'{print $3}' | sed -e 's/+//' -e 's/[^0-9+\.].*//'; uptime | awk '{$2=""; print$3" "$4" "$1}'; hostname`
MaxBytes[cputemp_0]: 100
Title[cputemp_0]: Temp of CPU Core 0
PageTop[cputemp_0]: <h1>Temp of CPU Core 0</h1>
Options[cputemp_0]: growright,absolute,gauge,nopercent,noinfo
WithPeak[cputemp_0]: ymw
#unscaled[cputemp_0]: dwmy
YLegend[cputemp_0]: Temperature
ShortLegend[cputemp_0]: C
LegendI[cputemp_0]: M/B
LegendO[cputemp_0]: CPU
Legend1[cputemp_0]: M/B
Legend2[cputemp_0]: CPU

NR==1 の所を同様に、NR==2, NR==3, NR==4, とするとCore 別の温度が取得できますのでmrtg.cfg にcputemp_1, cputemp_2, cputemp_3 を編集で追加。indexmaker コマンドを実行すると

# indexmaker /usr/local/mrtg-2/lib/mrtg.cfg > /usr/local/apache2/htdocs/mrtg/index.html

 

CPU温度を表示する、index.html ファイルが生成されました。

参考URL:
http://blog.goo.ne.jp/takuminews/e/19ecc7aa1878401df1850285bfe17436
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/797mrtg2cpu.html