Я использую monit, чтобы убедиться, что все работает нормально, но демон monit также был остановлен.
Я не знаю, как это может быть, и как предотвратить остановку демона monit?
решение1
В 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
решение2
Лучший вариант, который я могу придумать для чего-то, что непременно должно быть запущено и должно быть перезапущено в случае сбоя, — это запустить процесс из init.
Вы помещаете запись следующего вида в/etc/inittab:
имя:234:respawn:/usr/local/bin/daemon
Затем перезапустите init с помощью:
инициализация q
Теперь, когда ваш демон умрет, он будет автоматически «возрожден».
Редактировать: Я не знаком с Monit, но мне довелось проверить ихСтраница часто задаваемых вопросов, и они подробно описали это специально для monit.
решение3
Взято из документов monit:http://mmonit.com/wiki/Monit/FAQ#init
В: Как запустить monit из init, чтобы его можно было возродить в случае неожиданной остановки monit?
A: При запуске Monit из init рекомендуется использовать Monit версии 5 или более поздней.
Используйте либо оператор 'set init' в файле конфигурации monits, либо используйте опцию -I из командной строки. Вот пример записи /etc/inittab для monit:
# Run monit in standard runlevels mo:2345:respawn:/usr/local/sbin/monit -Ic /etc/monitrc
После изменения файла конфигурации inits вы можете выполнить следующую команду, чтобы повторно проверить уровень выполнения и запустить мониторинг:
telinit q
Вам следует рассмотреть возможность добавления в ваш сценарий еще одного уровня мониторинга, например Nagios/Icinga, Zabix или Sensu, для проверки состояния мониторинга.
Несмотря на то, что Monit может возродиться после смерти, бывают случаи, когда Monit перестает работать, а демон продолжает жить, поэтому возрождение никогда не происходит.
На этом этапе можно настроить другой уровень мониторинга так, чтобы он отправлял вам электронное письмо с предупреждением о том, что статус мониторинга недоступен, после чего вы устраняете проблему.