У меня есть небольшая установка Nagios 4.1.1, которую я только что завершил. Он работает на Raspberry Pi с использованием Raspbian. Проверяет нормально, и когда запускаю вручную с помощью /etc/init.d/nagios start
работает нормально.
Я всегда говорил своим системам debian запускать что-то при загрузке системы, делая что-то вроде этого: ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Я вижу, что символическая ссылка создана успешно.
Но он не срабатывает во время загрузки. Я могу запустить сценарии запуска после того, как система заработает, выполнив /etc/rcS.d/S99nagios start
так что я знаю (/ думаю), что символическая ссылка хороша. Когда сервер запускается, Apache запущен, и страница Nagios открыта, но на домашней странице написано «Не удалось получить статус процесса», что ожидается, когда служба nagios не запущена. Есть ли способ посмотреть журналы запуска, чтобы узнать, пытается ли он, или есть лучший способ запустить его при загрузке?
Обновление: я побежал update-rc.d
и это дает мне это:
update-rc.d: using dependency based boot sequencing
update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match resize2fs_once Default-Start values (2 3 4 5 S)
update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match resize2fs_once Default-Stop values (none)
insserv: Script nagios is broken: incomplete LSB comment.
insserv: missing `Default-Start:' entry: please add even if empty.
insserv: missing `Default-Stop:' entry: please add even if empty.
insserv: Script nagios is broken: incomplete LSB comment.
insserv: missing `Default-Start:' entry: please add even if empty.
insserv: missing `Default-Stop:' entry: please add even if empty.
insserv: Default-Start undefined, assuming empty start runlevel(s) for script `nagios'
insserv: Default-Stop undefined, assuming empty stop runlevel(s) for script `nagios'
Я действительно никогда не видел этого и не знаю, что делать, но это должно быть связано.
Обновление 2: почитал, кажется, это может быть связано с форматированием скриптов init.d. Если это так, скорее всего, эта проблема возникает и у других, и это не первый случай, когда скрипты init.d вызывают проблемы для Nagios в системах на основе Debian. Я собираюсь закрыть это и открыть тикет в багтрекере Nagios.
Похоже, это проблема с форматированием скрипта init.d. Это решило проблему для меня:
Сначала отредактируйте сценарий nagios init.d:
nano /etc/init.d/nagios
Замените блок, который начинается и заканчивается следующим образом:
### BEGIN INIT INFO
#
# stuff in here
#
### END INIT INFO
С этим:
### BEGIN INIT INFO
# Provides: nagios
# Required-Start: $local_fs $syslog $network
# Required-Stop: $local_fs $syslog $network
# Short-Description: Start and Stop Nagios monitoring server
# Description: Nagios is is a service monitoring system
# Default-Start: start
# Default-Stop: stop
### END INIT INFO
Из Вот
Затем запустите:
sudo update-rc.d nagios defaults
Вы получите несколько предупреждений, которые можно проигнорировать. Например:
update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match nagios Default-Start values (start)
Перезагрузитесь и проверьте. Моя теперь появляется автоматически.
Итак, похоже, что общее форматирование соответствует требуемому стандарту, только в блоке INIT некоторые вещи отсутствуют. Я предпочитаю этот метод использованию чужого файла init.d для Nagios, потому что считаю, что разработчики, вероятно, поддерживают этот сценарий лучше, чем я. Следует отметить, что если вы когда-нибудь обновите Nagios из исходного кода и запустите make install-init
он перезапишет этот файл, и вам придется сделать это снова. Альтернативой является установка того, что вам нужно, без сценария инициализации.
Да, вы все правильно поняли. Сценарий инициализации неправильно отформатирован.
Можете ли вы попробовать здесь сценарий инициализации: http://roger.steneteg.org/blog/installing-nagios-from-source/