Monit は、システム管理者にとって非常に役立ついくつかのシステム監視機能を提供するオープン ソース ユーティリティです。この記事では、monit のインストールと構成に関するジャンプスタート ガイドを提供します。また、プロセス監視に関連する具体例についても説明します。
1.インストールモニター
Fedora、openSUSE、Debian では、monit をディストリビューション リポジトリからパッケージとしてインストールします。たとえば、Debian (および Ubuntu) では、以下に示すように apt-get を使用して monit をインストールします。
# apt-get install monit
ディストリビューションに monit パッケージがない場合は、monit ソースをダウンロードしてインストールしてください。
2.モニターの構成
monit 構成ファイル /etc/monit/monitrc のサンプル プロセス監視エントリ 次のようになります。
check process PROCESSNAME with pidfile PIDFILENAME-WITHABSOLUTE-PATH start = STARTUP-SCRIPT stop = STOP-SCRIPT
たとえば、cron デーモンを監視するには、monitrc ファイルに次の行を追加します。
# vim /etc/monit/monitrc check process crond with pidfile /var/run/crond.pid start = "/etc/init.d/cron start" stop = "/etc/init.d/cron stop"
詳細な構成 (たとえば、プロセスがメモリまたはプロセスの制限を超えたときにプロセスを再起動する) については、「man monit」の「監視方法」セクションを参照してください。
また、/etc/monit/monitrc の次の行のコメントを外して、syslog を有効にします。
# vim /etc/monit/monitrc set logfile syslog facility log_daemon
3. monit の起動を許可
/etc/default/monit ファイルを編集し、起動フラグを有効にします。これにより、monit を起動できるように構成が行われます。
# vim /etc/default/monit startup=1
4.モニターを開始
# /etc/init.d/monit start Starting daemon monitor: monit
5.モニター機能をチェック
これをテストするために、以下に示すように、実行中の cron デーモンを強制終了してみましょう。
# ps -ef | grep cron root 2886 1 0 10:18 ? 00:00:00 /usr/sbin/cron # pkill -9 cron
次の間隔で、monit は、以下の syslog メッセージに示されているように、管理者の介入なしに cron デーモンを自動的に開始します。
Dec 5 13:06:55 (none) monit[2968]: 'crond' process is not running Dec 5 13:06:55 (none) monit[2968]: 'crond' trying to restart Dec 5 13:06:55 (none) monit[2968]: 'crond' start: /etc/init.d/cron
ps -ef を実行して、cron ジョブを強制終了したときに monit によって自動的に開始されるようにします。
# ps -ef | grep cron root 19728 1 0 13:06 ? 00:00:00 /usr/sbin/cron