私はLinuxを初めて使用し、DigitalOceanでUbuntu12.04をセットアップします。
Monitをインストールし、電子メールアラートでMySQLを正常に監視できるようにしました。
Apache2も監視したいのですが、monitrcファイルに入れるのに必要なhttpd.pid
ファイルが見つかりません。
Apache2は次のコマンドで開始できます:/etc/init.d/Apache2 start
Apache2を次の方法で停止できます:/etc/init.d/Apache2 stop
Spache2は次のコマンドで再起動できます:/etc/init.d/Apache2 restart
Httpd.pidファイルなしでMonitでApache2を監視する他の方法はありますか?
Initスクリプトを見ると、$ Apache_PID_FILEの値が使用されています。この値は$ Apache_ENVVARSとして定義されたファイルから読み取られ、デフォルトは/ etc/Apache2/envvarsであると思います。
PIDFILE=$(. $Apache_ENVVARS && echo $Apache_PID_FILE)
Envvarsファイルでは、PIDFILEは次のように定義されています。
Apache_PID_FILE =/var/run/Apache2 $ SUFFIX.pid
Apache2の複数のインスタンスを実行していない限り、$ SUFFIXは「」になる可能性が高いため$ Apache_PID_FILEの値は次のようになります。
/var/run/Apache2.pid
しかし、あなたは実行できるはずです
echo $(. /etc/Apache2/envvars && echo $Apache_PID_FILE)
そして、あなたのシステムが価値があると考えるものを手に入れてください。
Centosでは、「サービス」ユーティリティを使用してデーモンを管理する可能性が高くなります。サービスは次のディレクトリで構成されます:/etc/init.d/
ファイル/etc/init.d/httpd
には、pidファイルの場所があります。何かが見えますlike pidfile=${PIDFILE-/var/run/httpd/${prog}.pid}
したがって、私のpidfileは/var/run/httpd/httpd.pid
にあることがわかります。
apache 2.4またはchefcookbook( https://github.com/sous-chefs/Apache2 )を介してインストールする場合、場所は/var/run/Apache2/Apache2.pidになります。
私が試みる2つのこと:
pgrep
コマンドを使用して、開始/停止中にPIDファイルを作成するようにApache2開始/停止スクリプトを変更します。参照: http://mmonit.com/wiki/Monit/ConfigurationExamples