Я заметил, что иногда amavis не запускается.
Я думал, что monit наблюдает за процессом, но, похоже, он не предупреждает меня и не исправляет.
Моя запись в monitrc выглядит так, и я могу подтвердить, что запуск / остановка процесса с помощью monit работает:
check process amavisd with pidfile /var/run/amavis/amavisd.pid
group mail
start program = "/etc/init.d/amavis start"
stop program = "/etc/init.d/amavis stop"
if failed port 10024 protocol smtp then restart
if 5 restarts within 5 cycles then timeout
depends on amavisd_bin
depends on amavisd_rc
check file amavisd_bin with path /usr/sbin/amavisd-new
group mail
if failed checksum then unmonitor
if failed permission 755 then unmonitor
if failed uid root then unmonitor
if failed gid root then unmonitor
check file amavisd_rc with path /etc/init.d/amavis
group mail
if failed checksum then unmonitor
if failed permission 755 then unmonitor
if failed uid root then unmonitor
if failed gid root then unmonitor
Как мне решить эту проблему?
Я думаю, что правильный путь к pidfile /var/run/amavisd/amavisd.pid
так что вам не хватает 'd
' в 'amavisd
'имя каталога.
Start и Stop будут работать, так как пути start / stop в порядке, но файл pid не будет найден.
Начните с проверки правильности всех тестов в конфигурации монитора.
/var/run/amavis/amavisd.pid
существует?/etc/init.d/amavis
функции запуска и остановки работают?/usr/sbin/amavisd-new
и /etc/init.d/amavis
существуют?Затем вы должны продолжить проверку вывода monit summary
и monit status verbose
и проверьте, поможет ли вывод найти проблему.
Это может быть проблема с monit или проблема с amavis. Или сочетание того и другого. Если вы разместите дополнительную информацию (например, вывод из monit summary
) Я отредактирую этот ответ с дополнительной помощью.