NRPE CentOS 7 Не удалось открыть каталог конфигурации

2083
user3063045

Я только что установил NRPE на CentOS 7 через Chef. Это тот же рецепт, который я использую для всех своих серверов CentOS 6 - и работает там. NRPE запускается, но ошибки здесь:

Jun 13 15:12:21 myserver nrpe[3667]: Could not open config directory '/etc/nagios/nrpe.d' for reading. Jun 13 15:12:21 myserver nrpe[3667]: Continuing with errors... 

Все настройки сервера находятся в /etc/nagios/nrpe.d. Вот мой CFG:

pid_file=/var/run/nrpe.pid server_port=5666 nrpe_user=nagios nrpe_group=nagios dont_blame_nrpe=0 debug=0 command_timeout=60 allowed_hosts=127.0.0.1,192.168.1.14 include_dir=/etc/nagios/nrpe.d 

Вот разрешения для /etc/nagios/nrpe.d:

# ls -atlr /etc/nagios/ -rwxrwxrwx. 1 nagios nagios 248 Jun 13 14:45 nrpe.cfg drwxrwxrwx. 2 nagios nagios 89 Jun 13 14:51 nrpe.d 

Как я могу получить NRPE для чтения конфигов в каталоге config?

0
В итоге я использовал стандартные настройки CentOS 7 - /etc/nrpe.d. Теперь мои команды распознаются. Я на 90% уверен, что это проблема политики Selinux, но у меня нет времени копаться в их коде и выяснять, как его ослабить. user3063045 7 лет назад 0
Я наткнулся на то же самое, используя [поваренная книга шеф-повара nrpe] (https://github.com/sous-chefs/nrpe). Проблема была в том, что `/ etc / nagios` установлен как` /etc/nagios(/.*)? system_u: object_r: nagios_etc_t: s0` и поваренная книга использует `include_dir =" # / nrpe.d "`. Rpm создает `/ etc / nrpe.d`, который просто наследует` system_u: object_r: etc_t: s0` из `/ etc`. Похоже, что агент nrpe не может читать каталоги `nrpe_etc_t` или` nagios_etc_t`, но он может читать из `etc_t`. Tim Lum 6 лет назад 0

3 ответа на вопрос

2
Abdullah K

Я сталкивался с той же проблемой. Пожалуйста, найдите ниже шаги для разрешения.

  1. Проверьте права доступа к /etc/nagios/nrpe.cfgфайлу и статусу SELinux, используя sestatusкоманду или getenforceкоманду. Если он показывает «Отключено», то никаких проблем. Если он показывает «Permissive», то никаких проблем, но если он показывает «Enforcing», выполните следующие действия.
  2. Если вы хотите, чтобы SELinux находился в принудительном режиме, проверьте контекст файла политики SELinux с помощью следующей команды:

    # pwd /etc/nagios # ls -Z -rw-r--r--. root root system_u:object_r:nrpe_etc_t:s0 nrpe.cfg 
  3. Если контекст файла отличается, измените его на nrpe_etc_t, используя следующую команду.

    # semanage fcontext -a -t nrpe_etc_t "/etc/nagios/nrpe.cfg" # restorecon -R -v /etc/nagios/nrpe.cfg 

Я проверял то же самое в CentOS 7.

1
Autumn Wang

Включите отладку в nrpe.cfg и перезапустите службу, если вы видите сообщение об ошибке типа «nrpe не может прочитать configure dir /etc/nagios/nrpe.d». Это означает, что selinux вызвал проблему.

Вы можете проверить и отключить selinux (если нет защиты).

getenforce

Обеспечение

Сетенфорс 0

getenforce

диспозитивный

Затем перезапустите nrpe с помощью «service nrpe restart». Теперь это должно работать.

0
choffman

Я бы посоветовал вам взглянуть на права доступа и владельца в каталоге / etc / nagios.

Вы также можете выполнить команду su для пользователя nagios и начать перемещение (cd) вверх по дереву каталогов, чтобы определить, где разрешения нарушены.

Хороший совет. Не повезло, хотя. Вы можете попробовать прокомментировать сообщение, прежде чем ответить. Некоторые люди могут понизить это, и я бы не хотел, чтобы вы потеряли свою карму :) user3063045 7 лет назад 0
Мне бы хотелось, чтобы я мог. Это не позволит мне добавить комментарий к основному вопросу, пока я не наберу 50 очков репутации. Я ценю совет, хотя! Я получил такую ​​выгоду от StackExchange и др., Что хотел попробовать внести свой вклад. choffman 7 лет назад 0

Похожие вопросы