MRTGでハードディスク温度監視!
Updated:
今日は、 前回に引き続いて、MRTGの話です。 MRTGにハードディスクの温度を監視する機能を追加してみました。
ハードディスクの温度は「 hddtemp 」というものを使ってモニタできます。
ちなみにCUIベースでのインストールはこんな感じで。
# yum install hddtemp
使い方はこんな感じ。
# hddtemp /dev/sda
/dev/sda: Maxtor 6V250F0: 37°C
温度の数字だけを出力するにはこんな感じ。
# hddtemp -n /dev/sda
41
「 hddtemp 」の詳しい使い方は以下でわかります。
# hddtemp --help
この「 hddtemp 」をMRTGで使えるようにしてみました。 ※Feora10にMRTGインストール済みが前提です。 (MRTGインストール方法は こちら を参照)
導入記録
1.シェルスクリプトを作成
例として root に「 hddtemp.sh 」というファイルに以下のように記述。
#!/bin/sh
/usr/sbin/hddtemp -n /dev/sda1
/usr/sbin/hddtemp -n /dev/sda2
「 hddtemp.sh 」に実行権を与える。
# chmod 755 hddtemp.sh
2.MRTGの設定ファイルの修正
MRTGの設定ファイル「 /etc/mrtg/mrtg.cfg 」の最後に以下のような記述を追加する。
Target[hddtemp]: `/root/hddtemp.sh` ←監視対象の設定(※)
MaxBytes[hddtemp]: 80 ←監視している値の最大値
Title[hddtemp]: ハードディスクの温度 ←生成するWebページ(HTMLファイル)のタイトル
PageTop[hddtemp]:<h1>ハードディスクの温度</h1>←Webページの冒頭に表示する文字列
Options[hddtemp]: growright,absolute,gauge,nopercent,noinfo ←下記の表を参照
WithPeak[hddtemp]: ymw ←年(y)月(m)週(w)の各最大値を表示
YLegend[hddtemp]: Temperature ←グラフのY軸のラベル
ShortLegend[hddtemp]: C ←最大(Max)平均(Average)現在(Current)の単位を表す文字列
LegendI[hddtemp]: Temp: ←凡例に表示する文字列
LegendO[hddtemp]:
Legend1[hddtemp]: HDD Temperature in Degrees Celcius ←凡例に表示する文字列
Legend2[hddtemp]:
(※)ここに直接「 /usr/sbin/hddtemp -n /dev/sda1 」と記述すると「返ってくる値足りない」というワーニングが出る。
3.各画面の統合
元々あるMRTGの4つが統合された画面に「 hddtemp 」も同じように統合するには、以下のようにする。 ・MRTGインデックスページ作成
# indexmaker --columns=1 \
>--addhead="<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=euc-jp\">" \
>/etc/mrtg/mrtg.cfg > /var/www/html/mrtg/index.html
・MRTGインデックスページ編集
# vi /var/www/mrtg/index.html
<!-- <meta http-equiv="content-type" content="text/html; charset=iso-8859-15" > --> < - - - コメントアウト(文字化け対策)
4.動作確認
「 http://サーバアドレス/mrtg/ 」にアクセスしてみる。 MRTGが正常に動作していれば、設定した間隔(ここでは5分)でモニタできるはずです。 ↓↓こんな感じ↓↓
「ハードディスクの温度」をクリックして、以下のようになるはず。
設定は以上です。
もし、エラーがあればCronDaemonからメールが設定した間隔(ここでは5分)ごとに届きます。
※MRTG自体の操作については こちら を参照してください。
次はCPUの温度監視かなっ!?
それでは、また。
Comments