Я новичок в Linux, и я установил Ubuntu 12.04 на Digital Ocean.
Я установил Monit и заставил его успешно отслеживать MySQL с помощью оповещений по электронной почте.
Я тоже хочу следить за Apache2, но не могу найти httpd.pid
файл, который необходимо поместить в файл monitrc.
Я могу запустить Apache2 с помощью: /etc/init.d/apache2 start
Я могу остановить Apache2 с помощью: /etc/init.d/apache2 stop
Я могу перезапустить Spache2 с помощью: /etc/init.d/apache2 restart
Как еще можно отслеживать Apache2 в Monit без файла httpd.pid?
Если вы посмотрите в сценарий инициализации, он использует значение $ 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 или через chef cookbook (https://github.com/sous-chefs/apache2), то местоположение будет /var/run/apache2/apache2.pid
Я бы попробовал две вещи:
pgrep
команда. Ссылка: http://mmonit.com/wiki/Monit/ConfigurationExamples