У меня есть Centos 7 Box, на котором я установил Nagios, а затем перенес все файлы конфигурации из старого модуля Centos.
Все в порядке, nagios -v
не возвращает никаких ошибок.
Однако systemd не может запустить службу и дать мне тайм-аут. Найдите ниже результат systemctl -l status nagios.service
:
● nagios.service - Nagios Network Monitoring
Loaded: loaded (/usr/lib/systemd/system/nagios.service; disabled; vendor preset: disabled)
Active: failed (Result: timeout) since Fri 2016-02-05 10:52:55 CET; 13min ago
Docs: https://www.nagios.org/documentation/
Process: 2259 ExecStart=/usr/sbin/nagios -d /etc/nagios/nagios.cfg (code=exited, status=0/SUCCESS)
Process: 2257 ExecStartPre=/usr/sbin/nagios -v /etc/nagios/nagios.cfg (code=exited, status=0/SUCCESS)
Feb 05 10:52:52 nagios.adflux.net nagios[2261]: SERVICE ALERT: VM-CRO-JIRA2;Drive Space C:;CRITICAL;SOFT;1;CRITICAL - Socket timeout after 10 seconds
Feb 05 10:52:52 nagios.adflux.net nagios[2261]: SERVICE ALERT: ESXi-ls1;PING;WARNING;SOFT;1;PING WARNING - Packet loss = 33%, RTA = 80.47 ms
Feb 05 10:52:55 nagios.adflux.net systemd[1]: nagios.service start operation timed out. Terminating.
Feb 05 10:52:55 nagios.adflux.net nagios[2261]: Caught SIGTERM, shutting down...
Feb 05 10:52:55 nagios.adflux.net nagios[2268]: Caught SIGTERM, shutting down...
Feb 05 10:52:55 nagios.adflux.net nagios[2261]: Successfully shutdown... (PID=2261)
Feb 05 10:52:55 nagios.adflux.net nagios[2261]: Event broker module 'NERD' deinitialized successfully.
Feb 05 10:52:55 nagios.adflux.net systemd[1]: Failed to start Nagios Network Monitoring.
Feb 05 10:52:55 nagios.adflux.net systemd[1]: Unit nagios.service entered failed state.
Feb 05 10:52:55 nagios.adflux.net systemd[1]: nagios.service failed.
Никаких дополнительных ошибок в журналах не обнаружено (или, по крайней мере, там, где я смотрел, может быть .... скорее всего, здесь что-то не хватает).
Запуск команды /sbin/nagios /etc/nagios/nagios.cfg
запустите службу мониторинга, и все будет работать должным образом. Но это не решает мою проблему, поскольку Nagios здесь не запускается как демон и является ссылкой на мою оболочку. Это указывает на то, что проблема вызвана не Nagios, а самой системой.
Любая подсказка по этому поводу будет оценена.
Большое спасибо.
Похоже, что Nagios не работает должным образом в фоновом режиме -d
вариант, что systemd ожидает здесь из-за type=forking
.
Таким образом, systemd считает не-форк тайм-аутом при запуске. Это могло быть связано с NERD или другой проблемой.
Вы можете запустить Nagios на переднем плане:
cp /usr/lib/systemd/system/nagios.service /etc/systemd/system/nagios.service
vim /etc/systemd/system/nagios.service
# remove Type=forking and -d in cmd line of nagios
systemctl daemon-reload
systemctl restart nagios.service
Тем не менее, есть баг ...
Вы обновили установку Nagios далеко за пределами старых параметров конфигурации. Несмотря на то, что -V показывает, что полет в порядке.
У меня была такая же проблема, потому что я не включил какие-либо различия в файл nagios.cfg.rpmnew.
Я переустановил после резервного копирования моей конфигурации, а затем добавил свои изменения в новую конфигурацию.
Вы уже решили свою проблему, переопределив конфигурацию SystemD по умолчанию. У меня была аналогичная проблема, мой Nagios на машине Centos 7 перестал работать после недавнего автоматического обновления. Проблема заключалась в том, что моя конфигурация /etc/nagios/nagios.cfg определяла PID, отличный от ожидаемого конфигурацией SystemD (/var/run/nagios.pid vs /var/run/nagios/nagios.pid), и поэтому SystemD мог не обнаружить, что демон Nagios действительно запущен. Сообщения, которые я получил, были похожи на это:
systemctl status nagios.service -l
nagios.service - Nagios Network Monitoring
Loaded: loaded (/usr/lib/systemd/system/nagios.service; disabled; vendor preset: disabled)
Active: failed (Result: timeout) since jue 2016-02-18 12:33:05 UTC; 1min 43s ago
Docs: https://www.nagios.org/documentation/
Process: 26986 ExecStart=/usr/sbin/nagios -d /etc/nagios/nagios.cfg (code=exited, status=0/SUCCESS)
Process: 26985 ExecStartPre=/usr/sbin/nagios -v /etc/nagios/nagios.cfg (code=exited, status=0/SUCCESS)
feb 18 12:33:04 mvdatos.com nagios[26989]: wproc: 'Core Worker 26992' seems to be choked. ret = -1; bufsize = 124: errno = 32 (Broken pipe)
feb 18 12:33:04 mvdatos.com nagios[26989]: wproc: Socket to worker Core Worker 26991 broken, removing
feb 18 12:33:04 mvdatos.com nagios[26989]: wproc: Socket to worker Core Worker 26992 broken, removing
feb 18 12:33:04 mvdatos.com nagios[26989]: wproc: Socket to worker Core Worker 26993 broken, removing
feb 18 12:33:04 mvdatos.com nagios[26989]: Successfully shutdown... (PID=26989)
feb 18 12:33:05 mvdatos.com systemd[1]: Failed to start Nagios Network Monitoring.
feb 18 12:33:05 mvdatos.com systemd[1]: Unit nagios.service entered failed state.
feb 18 12:33:05 mvdatos.com systemd[1]: nagios.service failed.
feb 18 12:33:35 mvdatos.com systemd[1]: Stopped Nagios Network Monitoring.
feb 18 12:33:36 mvdatos.com systemd[1]: Stopped Nagios Network Monitoring.
Запуск демона напрямую (/ usr / sbin / nagios -d /etc/nagios/nagios.cfg) работал отлично, намекая, что проблема связана с SystemD, а не с Nagios.
Надеюсь, это поможет кому-то еще с таймаутом SystemD при запуске Nagios.
Этот ответ предполагает, что вы устанавливаете с помощью yum
от EPEL. Если вы устанавливаете из исходного кода, файлы могут находиться в разных местах, но идеи те же. Убедитесь, что nagios
у пользователя есть разрешение на эти файлы.
Ищите этот раздел в /etc/nagios/nagios.cfg
# LOCK FILE
# This is the lockfile that Nagios will use to store its PID number
# in when it is running in daemon mode.
lock_file=/var/run/nagios/nagios.pid
Это файл, который Nagios создаст при запуске. Более старые версии могут использовать nagios.lock
, или путь может выглядеть примерно так /usr/local/nagios/
systemd
указывает файл pid, в котором он ищет /lib/systemd/system/nagios.service
PIDFile=/var/run/nagios/nagios.pid
Это должно быть так же, как lock_file
в твоем nagios.cfg
, или systemd
будет тайм-аут и остановит ваш nagios
служба.
Поскольку вы перенесли файлы конфигурации и тому подобное из более старой установки Nagios, убедитесь, что вы изменили все свои пути в файлах конфигурации, то есть nagios.cfg,
objects.cfg,
commands.cfg, etc . You will probably also have to move around your custom scripts in
libexec`, среди прочего.