(古い記事) « スーパーボイジャーEで空撮 【天竜川で空撮】 | サイトTOP
先日の日記「HDD(ハードディスク)の寿命か」にも書いたが、SMARTを使ってHDD(ハードディスク)の温度を取得できる事がわかった。データが取れるという事はこのデータをもとにMRTGでグラフにできるはず。普段からHDDがどのくらいの温度環境にいるのかわかったらいいなぁ。と思いネットで調べてみた。
まず、MRTGでグラフのソースとなるHDDの温度を返すシェル(バッチ)を作成する。これはsmartコマンドの結果から'Temperature'の値を抽出するバッチ。うちのサーバー環境に合わせて2つ搭載されているHDDの温度を取るコマンドを2行書いた。このコマンドはこのサイト備忘録::Naka MRTGでCPU温度とHDD温度もグラフ化を参考にさせて頂いた。
#/bin/sh
/usr/sbin/smartctl -A /dev/hda | grep Temperature | awk '{print $10}'
/usr/sbin/smartctl -A /dev/hdb | grep Temperature | awk '{print $10}'
適当にファイル名を付け(私の環境ではhdd_temp.sh)て保存。正しく温度を返すかこのシェルを実行してみる。
[root@xxxx mrtg]# ./hdd_temp.sh
55
51
[root@xxxx mrtg]#
55℃と51℃を返した。コマンドはOK。でもハードディスクの温度55℃は高いなー。。。
次にこのシェルの結果を基データとしてMRTGでグラフ化して表示させる。MRTGの設定ファイル /etc/mrtg/mrtg.cfg に、このデータをグラフ化する設定を追記。
### HDD Temperature ###
Target[hddtemp]: `/etc/mrtg/hdd_temp.sh`
MaxBytes[hddtemp]:100
Unscaled[hddtemp]:dwmy
Options[hddtemp]: gauge, growright, noinfo , nopercent
Title[hddtemp]: HDD Temperature
PageTop[hddtemp]: >H1&st;HDD Temperature Green:hda Blue:hdb>/H1<
ShortLegend[hddtemp]: (Celsius)
YLegend[hddtemp]: HDD Temperature(Celsius)
LegendI[hddtemp]: hda
LegendO[hddtemp]: hdb
Legend1[hddtemp]: hda(Celsius)
この設定では“Target[hddtemp]: `/etc/mrtg/hdd_temp.sh`”でHDD温度を取得している。次のコマンドを実行してグラフが作成されるか動作確認を行う。
[root@xxxx mrtg]# /etc/mrtg/mrtg.sh
特にエラーがでなかった。実際にHTMLとグラフが作成されているかサイトにアクセスする。HTMLのファイル名はhddtemp.htmlで出力されているはずなので、URL直打ちで確認。正常に出力されていた。
最後に、MRTGのサマリページ(index.html)に今回追加したHDD温度のグラフを追加する。MRTGにはmakeindexというperlで書かれたindexを作成してくれるツールが用意されている。このコマンドの使い方を忘れてしまったので、ネットで調査。ここのサイトMRTGのインデックスページ作成 (indexmaker)を参考にさせてもらった。私の環境の場合は次のコマンドを使用した。
indexmaker /etc/mrtg/mrtg.cfg > /var/www/xxxx/mrtg/index.html
2008/08/03 21:53
このエントリーのトラックバックURL:
http://www.wingnotes.net/mt/mt-tb.cgi/149
(古い記事) « スーパーボイジャーEで空撮 【天竜川で空撮】 | サイトTOP