Я запустил обновление на сервере 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.
Если вы не хотите изменять разрешения на / var / run саму папку, вы можете настроить nagios для хранения файла блокировки в любом месте системы, добавив строку ниже в свой nagios.cfg файл. Пока вы указываете lock_file в каталог, к которому у nagios есть доступ для создания, изменения и удаления файлов, тогда вам все будет в порядке.
Вы даже можете сохранить файл блокировки в каталоге установки nagios, создав каталог вроде: / usr / lib / nagios / var
lock_file=/usr/lib/nagios/var
Сначала узнайте, что pid
из nagios
процесс:
$ ps aux | grep nagios
Затем вы можете использовать эту команду для перезапуска службы:
kill -HUP <nagios_pid>
и это остановить:
kill <nagios_pid>
Чтобы остановить нагиос автоматически, у вас должна быть pid
в /var/run/nagios.pid
. Проверь это.
Как сказал выше Барт Б. не chmod 777 любой каталог в производственной системе, за исключением случаев, когда для этого есть действительно веская причина и вы не знаете, что делаете. Это было быстрое исправление, но это не решение.
Правильным решением этой проблемы, по крайней мере для меня, было обновление файла конфигурации nagios.cfg Nagios (мой - /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
Это должно сработать.
В Centos / RedHat 7 вы не должны писать напрямую в каталог / var / run, но у вас есть подкаталог / var / run / nagios. Убедитесь, что опция lock_file указывает на это вместо этого:
lock_file=/var/run/nagios/nagios.pid
Если на сервере Nagios возникла проблема с запуском / остановкой в CentOS 6.x, я использую эту команду: /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
Он работает на моем сервере Nagios.
Как насчет:
/etc/init.d/nagios stop
У меня такое же поведение при обновлении до centos 5.5. Для меня это произойдет, если я изменю разрешение / var / run на 777:
chmod 777 / var / run
Я знаю, что это не лучший способ взлома, но у меня не было времени, чтобы понять, в чем проблема.