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