![Nagios не запустился, а теперь и не остановится!](https://rvso.com/image/515021/Nagios%20%D0%BD%D0%B5%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D0%BB%D1%81%D1%8F%2C%20%D0%B0%20%D1%82%D0%B5%D0%BF%D0%B5%D1%80%D1%8C%20%D0%B8%20%D0%BD%D0%B5%20%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%81%D1%8F!.png)
Я запустил обновление на сервере CentOS, на котором запущен Nagios. После обновления Nagios не запустился.
Ошибка в журналах была следующей:
Не удалось получить блокировку файла /var/run/nagios.pid: Отказано в доступе
Итак, я проверил, и в /var/run не было pid-файла для Nagios. Я создал его и дал ему следующие разрешения:
-rwxr--r-- 1 nagios nagios 6 мая 31 11:58 nagios.pid
Затем Nagios запустился и, похоже, работает нормально.
Единственная проблема в том, что он теперь отказывается останавливаться, поэтому я не могу перезапустить его, чтобы добавить новые серверы и службы для мониторинга!
Когда я ввожу команду «service nagios stop», я получаю [FAILED], но в журнале вообще ничего не выводится, и служба остается включенной.
Есть ли у меня идеи, как мне остановить эту услугу сейчас?
Я использую версию RPM, установленную через yum из репозиториев RPMForge. Сервер — CenotOS 5.5.
решение1
Если вы не хотите менять разрешения на/var/runСаму папку, вы можете настроить nagios для хранения файла блокировки в любом месте системы, добавив строку ниже в свойnagios.cfgфайл. Пока вы указываетефайл_блокировкиЕсли вы укажете каталог, к которому у Nagios есть доступ для создания, изменения и удаления файлов, то все будет готово.
Вы даже можете сохранить файл блокировки в каталоге установки Nagios, создав такой каталог:/usr/lib/nagios/var
lock_file=/usr/lib/nagios/var
решение2
Сначала выясним, что представляет pid
собой nagios
процесс:
$ ps aux | grep nagios
Затем вы можете использовать эту команду для перезапуска службы:
kill -HUP <nagios_pid>
и это, чтобы остановить:
kill <nagios_pid>
Чтобы остановить nagios автоматически, у вас должен быть pid
включен /var/run/nagios.pid
. Проверьте это.
решение3
Как сказал выше Барт Б., сделайтенетchmod 777 любой каталог в производственной системе, когда-либо, если только нет действительно веской причины для этого, и вы знаете, что делаете. Это было быстрое исправление, но этонетрешение.
Правильным решением этой проблемы, по крайней мере для меня, было обновление файла конфигурации Nagios nagios.cfg (у меня это /etc/nagios/nagios.cfg) иизменятьэта строка:
lock_file=/var/run/nagios.pid
к этому:
lock_file=/var/nagios/nagios.pid
Файл блокировки установлен в /var/nagios/nagios.pid в файле конфигурации службы /etc/init.d/nagios, но, по-видимому, переопределяется указанным выше значением в nagios.cfg
Затем вы можете перезапустить службу/демон Nagios:
service nagios restart
Этого должно хватить.
решение4
Если у сервера Nagios возникают проблемы с запуском/остановкой на CentOS 6.x, я использую эту команду:/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
Работает на моем сервере Nagios.