MRTGでハードディスクの温度をグラフ化する方法

以前、ハードディスクの温度管理をするために、hddtempの導入しました。hddtempをデーモン起動しておくと5分ごとにハードディスクの温度を測定しsyslogに結果を出力します。しかし、syslogに出力されるためテキストベースで見にくい事や、手軽に温度変化を確認できない事から、監視を怠りがちです。そこで、MRTGというグラフ化ツールを使ってハードディスクの温度変化を可視化し監視し易くします。

MRTGとは、数値を日、週、月、年ごとにグラフ化したり最大値、最小値、平均値を算出します。結果は、HTMLでWebページとして作成されウェブブラウザから見ることができます。

スポンサーリンク




設定ファイルの記述方法

Debianの場合、MRTGの設定ファイルは、「/etc/mrtg.cfg」です。グラフ化する数値の取得方法や、グラフの名称や、単位などもここに設定します。設定ファイルのフォーマットは、下記の形式です。

設定項目[識別文字列]: 設定値

それぞれの内容は、次のとおりです。

設定項目
MRTGであらかじめ用意されている項目名を指定します。グラフ化する数値の取得方法や、Webページのタイトルや、グラフを表示する場合の単位などかなり多くの項目が用意されています。
識別文字列
MRTGでは、複数のデータをそのデータごとにグラフ化できます。例えば、CPUの稼働率やメモリの利用率など、それそれグラフ化できるのですが、そのグラフ化する単位を識別するために、識別用の文字列を設定します。(cpuとかmemoryとかわかりやすいものでよいです。)また、この文字列を使ったファイル名(識別文字列+.html)で結果ファイルが作成されます。上記の例の場合、cpu.htmlとかmemory.htmlという名前でファイルが作られます。ただし、識別文字列が「_」の場合は、識別文字列と関係なく全部の設定に反映されます。また、「^」の場合は、全部の設定に追加されます。
設定値
設定項目に応じた値を設定します。単位を設定する項目の場合は、℃とか、グラフの最大値を設定する項目の場合は、その数値とかです。

hddtemp用の設定内容

実際に設定した内容は、次の通りです。

######################################################################
# Multi Router Traffic Grapher
######################################################################
# This file is for use with mrtg-254c

# Global configuration
WorkDir: /var/www/mrtg
WriteExpires: Yes
Language: iso-2022-jp

# Configuration for hddtemp
Target[hddtemp]: `/usr/sbin/hddtemp /dev/hda -n`
MaxBytes[hddtemp]: 100
Title[hddtemp]: ハードディスクの温度
PageTop[hddtemp]: <h1>ハードディスクの温度</h1>
Options[hddtemp]: growright,absolute,gauge,nopercent,noinfo
WithPeak[hddtemp]: ymw
YLegend[hddtemp]: Temperature
ShortLegend[hddtemp]: ℃
LegendI[hddtemp]: 温度:
LegendO[hddtemp]:
Legend1[hddtemp]: ハードディスクの温度
Legend2[hddtemp]:

上記設定内容に対する項目説明です。大きく別けてグローバル設定と個別設定に別れます。それぞれの設定についてまとめてみます。

「Global configuration」(MRTG全体の動作を設定する項目の説明です。)
設定項目 内容説明
WorkDir 閲覧用のHTMLや画像データを出力するディレクトリを設定します。
WriteExpires 「yes」を設定すると<META HTTP-EQUIV=”Expires” CONTENT=”Fri, 25 Jan 2008 02:55:15 GMT”>のようなmetaタグが、グラフ表示ページに埋め込まれます。
Language この設定ファイルで使用している文字コード記入します。
「Configuration for hddtemp」(グラフ化したいデータごとの個別設定です。hddtempの設定で必要な項目の説明です。)
設定項目 内容説明
Target グラフ化する、数値の取得方法を設定します。hddtempの場合は、オプションに -nを実行すると数値だけを戻すので実際に温度を取得するコマンドを設定します。ただし、「’」で囲む事。
MaxBytes データの最大値を設定します。
Title Webページを出力した時の<TITLE>タグの内容を設定します。
PageTop グラフの前に表示する内容を設定します。<h1>などの見出しタグも設定可能です。
Options グラフ描画のオプションを設定します。

  • growright:現在をX横軸の右端にする
  • absolute:データの値を時間で割った平均値をではなくそのままの値を使用する
  • gauge:データの値の差をとらずそのままの値を使用する
  • nopercent:パーセント表示しない
  • noinfo:ページの先頭にデバイス名などの情報を表示しない
WithPeak 平均値ではなく,ピーク値を使用するグラフを指定します。設定値は、y m dでそれぞれ年間、月間、日間を表すのでピーク値を使用したいグラフの値を設定します。
YLegend Y軸のラベルを設定します。
ShortLegend Y軸の単位を設定します。
LegendI データ1のラベルを指定します。
LegendO データ2のラベルを指定します。使用しない場合、値を指定しない事で表示しないようにできます。
Legend1 データ1のグラフ名を指定します。
Legend2 データ2のグラフ名を指定します。使用しない場合、値を指定しない事で表示しないようにできます。

日本語が文字化けする時には

表示項目で日本語を使用できる箇所がありますが、設定を誤ると文字化けの原因となります。注意点は、設定ファイル自身の文字コードと設定ファイルに記載する文字コード指定を一致させることです。設定ファイル自身の文字コードを調べるには、viエディタで設定ファイルを開いて以下のコマンドを実行すればわかります。

:set fileencoding
fileencoding=iso-2022-jp

Debain/Sargeでは、設定ファイルの文字コードはデフォルトで「iso-2022-jp」でした。このコードを「Language: iso-2022-jp」のように設定ファイルに記述しておけばよいです。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする