がらくたネット


MRTG

MRTG

久しぶりにMRTGをインストールしてみた。

yumでインストールしたら…はまった

# yum -y install mrtg

以下のファイルが生成される

  • /etc/mrtg/mrtg.cfg
  • /etc/cron.d/mrtg
  • /var/www/mrtg
  • /etc/httpd/conf.d/mrtg

で、/etc/cron.d/mrtgの内容を修正しておかないとmrtgを実行した時にログファイルの置き換えができないエラーが多発した。内容はこれだけでよい

 */5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
他の部分は削除しておく。

びっくりした。 :-o

そして、Apacheのconfディレクトリにも目を通しておく

VirtualHostとかしてたりすると変更しなきゃぁいけないからね

Ver2.16.2

mrtg-2.16.2のconfigureオプション

閾値の設定

MRTGでは閾値を設定し閾値を超えた場合に警告を発生させ外部プログラムを起動することが可能

ThreshDirはMRTG実行ユーザが書き込める必要あり

ThreshDir: <ディレクトリ>

ThreshMaxI[識別子]: <値> ←第一パラメーター最大値
ThreshMaxO[識別子]: <値> ←第二パラメーター最大値
ThreshMinI[識別子]: <値> ←第一パラメーター最小値
ThreshMinO[識別子]: <値> ←第二パラメーター最小値
ThreshProgI: <プログラム名> ←第一パラメーター閾値を超えた場合に起動
ThreshProgO: <プログラム名> ←第二パラメーター閾値を超えた場合に起動
ThreshProgOKI: <プログラム名> ←第一パラメーター閾値内に戻った場合に起動
ThreshProgOKO: <プログラム名> ←第一パラメーター閾値内に戻った場合に起動

識別子、閾値、現在のパラメーター値が引数として渡される
引数はシェルの場合$1、$2、$3で参照し、perlの場合は$ARGV[0]、$ARGV[1]、$ARGV[1]で参照する
他の変数を取得するには、シェルの場合は$変数名、perlの場合は$ENV['変数名']で参照する
この変数名はmrtg.cfgでSetEnv=で定義しておく

これらを利用することで、閾値を超えた場合にメールを送信したり閾値内に戻ったときにメールを送信することが可能となる