Назад | Перейти на главную страницу

Nagios не запускается после загрузки

У меня есть небольшая установка 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/