MRTGのWebページが表示されているが、データは更新されなくなった。
まずサーバにログインすると、mailがどんどん送られてた。
中身を確認すると、以下のメッセージが。
... Tuesday, 25 June 2013 at 18:00: ERROR: I guess another mrtg is running. A lockfile (/var/lock/mrtg/mrtg_l) aged 300 seconds is hanging around. If you are sure that no other mrtg is running you can remove the lockfile ...
lockfileが残っていたため、MRTGの起動に失敗していたらしい。
なので、/var/lock/mrtg/配下のファイルを全て削除してみたが、現象は解消しない。
気になったのでMRTGの状態を確認してみた。
# ps ax | grep mrtg 3547 ? Ss 0:00 /usr/bin/perl -w /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l - 3550 ? S 0:00 /bin/sh /etc/mrtg/temper_mrtg.sh 3551 ? S 0:00 /bin/sh /etc/mrtg/temper_mrtg.sh 3733 ? Ss 0:00 /usr/bin/perl -w /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l - 3736 ? S 0:00 /bin/sh /etc/mrtg/temper_mrtg.sh 3737 ? S 0:00 /bin/sh /etc/mrtg/temper_mrtg.sh ...
mrtgはcrontabで定義されていたため、10分毎にコマンドが実行されており、実行されたプロセスが消えずにどんどん残っていったらしい。
なんでプロセスが残ってるのか分からず、crontabに定義されてたプロセスを実行したら…確かに無応答になった。
中の処理を確認したら、前に組み込んだ温度測定のコマンド[/usr/local/bin/temper]が無応答になってたことが判明!
よくよく見てみると…USB温度計が接続されてなかった。
接続されていないとコマンドが無応答になるらしい。
マシンを再起動して接続したら、ちゃんと動くようになりました。
もちろん、MRTGも正しく更新されるようになりました。
よかった、よかった。