Iv недавно обновил версию Ubuntu с 9.04 до 10.04LTS (до 9.10), и теперь Monit не запускается. Делая sudo /etc/init.d/monit syntax
говорит, что синтаксис в порядке. Если я запустил команду sudo /etc/init.d/monit start
я получил Starting daemon monitor: monit
. Однако если я сделаю ps -ef
, то monit не отображается.
Если я копаюсь в /etc/init.d/monit
файл, то я вижу, что запускаемый исполняемый файл /etc/monit/monitrc
. Выполнение этого с помощью sudo дает результат
/etc/monit/monitrc: 6: allow: not found
/etc/monit/monitrc: 7: SSL: not found
/etc/monit/monitrc: 8: PEMFILE: not found
/etc/monit/monitrc: 10: check: not found
/etc/monit/monitrc: 11: Syntax error: word unexpected (expecting ")")
Мой контрольный файл находится ниже:
set mailserver localhost
set mail-format { from: me@mydomain.com }
set alert me@mydomain.com
set httpd port 2812 and
allow myuser:mypassword
SSL ENABLE
PEMFILE /etc/monit/monit.pem
check system my.ip.he.re
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 60% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 70% then alert
if cpu usage (wait) > 70% then alert
include /etc/monit/conf.d/*.monitrc
Сообщение Кайла побудило меня посмотреть на /etc/default/monit
и я сравнил установку с более новым сервером.
В более старых версиях monit у вас была такая строка, как CHECK_INTERVALS=30
в /etc/default/monit
. Он больше не используется, и теперь у вас должна быть строка, которая выглядит как set daemon 30
в твоем /etc/monit/monitrc
файл.
Я не совсем уверен, но, возможно, есть один из тех файлов по умолчанию для monit, который нужно включить в /etc/default
?
Поскольку файл monit в /etc/init.d/
это сценарий оболочки, вы можете запустить sudo bash -x /etc/init.d/monit start
который будет отслеживать сценарий на вашем экране и может показать вам, где вы ошиблись.