web-dev-qa-db-ja.com

MonitはApacheを監視対象外としてリストします

monitのドキュメント に従って、monitをインストールして構成しました。 Apache以外のすべてのサービスはRunningと表示されますが、ApacheはNot Monitoredと言います。

Monitの設定の関連する行は次のとおりです。

check process Apache with pidfile /var/run/httpd.pid
        group www
        start program = "/etc/init.d/httpd start"
        stop program = "/etc/init.d/httpd stop"
        if failed Host localhost port 80
        protocol http then restart
        if 5 restarts within 5 cycles then timeout

サーバーから http:// localhost/server-status および http:// localhost にアクセスできます。 Monitは、Apacheの監視モードをactiveとしてリストします。

サーバーはCentOS 5.4を実行しています。

PIDファイルは親httpdサーバーに対して正しいです:

[server ~]$ cat /var/run/httpd.pid
2905
[server ~]$ ps auxc | grep httpd
root      2905  0.0  0.9  26952  4808 ?        Ss   11:36   0:00 httpd
11
dunxd

Pidファイルの内容がApacheマスタープロセスのpid(つまり、ルートとして実行されるhttpdプロセス)と一致していることを確認します。 pidファイルが古くなっている可能性があります。

古くなっている場合は、ApacheマスタープロセスのPIDを取得し、echo 1234 > /var/run/httpd.pid、 どこ 1234は問題のpidです。

その後、monit monitor Apacheそのサービスの監視を再開します。

13
cjc

OSのバージョン/ディストリビューションは提供していませんが、CentOS 6では、監視する必要があるPIDファイルは次の場所にあります:/var/run/httpd/httpd.pid

したがって、次のように変更します。

check process Apache with pidfile /var/run/httpd/httpd.pid

ちなみに、CentOS 5のApache PIDファイルは/var/run/httpd.pid

編集:PIDパスも引用します。

Monitメーリングリストには、使用しているプロトコルテストに関するメモがあります。

http://lists.gnu.org/archive/html/monit-general/2004-12/msg00057.html

名前ベースの仮想ホストを使用している場合は、ホスト名またはサイト名を渡す必要がある場合があります。

1
ewwhite