monitでプロセスの監視
monitでプロセスの監視
mixiアプリなどでhttpdやmysqldを使用する場合、
mysqlのみこけてたりする場合、得点保存できなかったりとかなり不都合があった。
そんなときmonitのプロセス監視デーモンはかなりよさそうだったので、導入してみた。
(参考)http://temog.info/archives/tweet/serversmanvps-centos-monit.html
(参考)http://www.usupi.org/sysad/158.html
インストール方法
リポジトリの追加
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ivh http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
monitのインストール
yum install --enablerepo=rpmforge monit
起動方法
/etc/init.d/monit start
設定ファイル
/etc/monit/monit.conf ログの場所やメールの送信先、監視間隔等
/etc/monit/monit.d アプリケーション別の設定ファイルを設置
例)
apacheの死活監視 check process apache with pidfile /var/run/apache2.pid start program = "/etc/init.d/apache2 start" stop program = "/etc/init.d/apache2 stop" if failed host localhost port 80 protocol HTTP request /keepalive.txt then restart group apache
書式 check process <プロセス名> with pidfile <PIDファイル名> start program = "<プロセスの起動方法>" stop program = "<プロセスの停止方法>" if failed host <ホスト名> port <ポート番号> protocol HTTP request <URLのパス> then restart group <プロセスのグループ>
postfixの死活監視 check process postfix with pidfile /var/run/postmaster.pid start program = "/etc/init.d/postfix start" stop program = "/etc/init.d/postfix stop" if failed port 25 protocol smtp then restart
設定方法
set daemon <秒数> ・・・間隔の秒数
set logfile <ログのパス> ・・・ログファイルのパス
set mailserver <サーバ名> ・・・メールサーバーの指定
set mailserver <サーバ名> port <ポート番号>・・・メールサーバーの指定
set alert <メールアドレス>