久しぶりにMRTGをインストールしてみた。
yumでインストールしたら…はまった
# yum -y install mrtg
以下のファイルが生成される
で、/etc/cron.d/mrtgの内容を修正しておかないとmrtgを実行した時にログファイルの置き換えができないエラーが多発した。内容はこれだけでよい
*/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg他の部分は削除しておく。
びっくりした。
そして、Apacheのconfディレクトリにも目を通しておく
VirtualHostとかしてたりすると変更しなきゃぁいけないからね
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=で定義しておく
これらを利用することで、閾値を超えた場合にメールを送信したり閾値内に戻ったときにメールを送信することが可能となる