Я использую monit, чтобы убедиться, что все работает нормально, но демон monit также был остановлен.
Я не знаю, как это быть и как предотвратить останов демона monit?
В Ubuntu 9.10, / etc / inittab не существует, потому что Ubuntu использует выскочка вместо того / sbin / init. Итак, чтобы добиться того же, что и в ответе №1 выше, нам понадобится сценарий выскочки:
# This is an event.d (upstart) script to keep monit running
# To install disable the old way of doing things:
#
# /etc/init.d/monit stop && update-rc.d -f monit remove
#
# then put this script here: /etc/init/monit.conf
#
# You can manually start and stop monit like this:
#
# start monit
# stop monit
#
# Karim Ratib (http://thereisamoduleforthat.com)
#
# Based on monit.upstart (https://code.google.com/p/monit/source/browse/trunk/contrib/monit.upstart?r=132)
# by Michael Hale (http://halethegeek.com)
start on runlevel [2345]
stop on runlevel [06]
exec /usr/sbin/monit -Ic /etc/monit/monitrc
respawn
Лучший вариант, который я могу придумать для чего-то, что обязательно должно быть запущено и должно быть перезапущено, если оно умирает, - это запустить процесс из init.
Вы помещаете следующую запись в / etc / inittab:
имя: 234: респаун: / usr / local / bin / daemon
Затем перезапустите init с помощью:
init q
Теперь каждый раз, когда ваш демон умирает, он автоматически "возрождается".
Изменить: я не знаком с Monit, но мне довелось проверить их Страница часто задаваемых вопросов, и они подробно описали это специально для monit.
Взято из документации monit: http://mmonit.com/wiki/Monit/FAQ#init
В: Как мне запустить monit из init, чтобы его можно было возродить в случае неожиданной смерти monit?
О: При запуске Monit из init рекомендуется использовать Monit версии 5 или новее.
Используйте либо оператор set init в файле конфигурации монитора, либо опцию -I в командной строке. Вот пример записи в / etc / inittab для monit:
# Run monit in standard runlevels mo:2345:respawn:/usr/local/sbin/monit -Ic /etc/monitrc
После того, как вы изменили его файл конфигурации, вы можете запустить следующую команду, чтобы повторно проверить уровень выполнения и запустить мониторинг:
telinit q
Вам следует подумать о добавлении еще одного уровня мониторинга в свой сценарий, например Nagios / Icinga, Zabix или Sensu, чтобы проверить статус мониторинга.
Несмотря на то, что monit может возродиться в случае смерти, в некоторых случаях monit перестает работать, а демон все еще жив, поэтому возрождение никогда не запускается.
На этом этапе можно настроить другой уровень мониторинга, чтобы отправлять вам по электронной почте предупреждение о том, что статус мониторинга недоступен, а затем вы устраняете проблему.