NRPE CentOS 7 Nie można otworzyć katalogu konfiguracji

0

Właśnie zainstalowałem NRPE na CentOS 7 za pośrednictwem Chef. To ten sam przepis, którego używam na wszystkich moich serwerach CentOS 6 - i tam działa. NRPE uruchamia się, ale błędy tutaj:

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...

Wszystkie konfiguracje serwera znajdują się w katalogu /etc/nagios/nrpe.d. Oto moja 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

Oto uprawnienia na /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

Jak mogę zmusić NRPE do odczytu konfiguracji w katalogu config?

użytkownik3063045
źródło
Skończyło się na domyślnych ustawieniach CentOS 7 - /etc/nrpe.d. Teraz moje polecenia są rozpoznawane. Jestem w 90% przekonany, że to problem z polityką Selinuksa, ale nie mam czasu, aby przejrzeć ich kod i dowiedzieć się, jak to rozluźnić.
user3063045
Natknąłem się na to samo, korzystając z książki kucharskiej szefa kuchni nrpe . Problem polegał na tym, że /etc/nagiosjest ustawiony jako /etc/nagios(/.*)? system_u:object_r:nagios_etc_t:s0i używa książki kucharskiej include_dir = "#{node['nrpe']['conf_dir']}/nrpe.d". RPM tworzy /etc/nrpe.dktóra dziedziczy po prostu system_u:object_r:etc_t:s0z /etc. Wydaje się, że agent NRPE nie może odczytać nrpe_etc_tlub nagios_etc_tkatalogi, ale można go odczytać z etc_t.
Tim Lum

Odpowiedzi:

3

Natknąłem się na ten sam problem. Poniżej znajdują się kroki rozwiązania.

  1. Sprawdź uprawnienia do /etc/nagios/nrpe.cfgpliku, a następnie status SELinux za pomocą sestatuspolecenia lub getenforcepolecenia. Jeśli pokazuje „Wyłączone”, to nie ma problemów. Jeśli pokazuje „Permissive”, to nie ma problemów, ale jeśli pokazuje „Enforcing”, wykonaj następujące czynności.
  2. Jeśli potrzebujesz, aby SELinux był w trybie wymuszania, sprawdź kontekst pliku strategii SELinuksa za pomocą następującego polecenia:

    # pwd
    /etc/nagios
    # ls -Z
    -rw-r--r--. root root system_u:object_r:nrpe_etc_t:s0  nrpe.cfg
    
  3. Jeśli kontekst pliku jest inny, zmień go na nrpe_etc_t za pomocą następującego polecenia.

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

Testowałem to samo w CentOS 7.

Abdullah K.
źródło
1

Włącz debugowanie w nrpe.cfg i uruchom ponownie usługę, jeśli zobaczysz komunikat o błędzie: „nrpe nie może odczytać konfiguracji dir /etc/nagios/nrpe.d”. To znaczy, że selinux spowodował problem.

Możesz sprawdzić i wyłączyć selinux (jeśli nie ma konwergencji zabezpieczeń).

getenforce

Egzekwowanie

setenforce 0

getenforce

Puszczalski

Następnie uruchom ponownie nrpe za pomocą „service nrpe restart”. Teraz powinno działać.

Autumn Wang
źródło
0

Sugeruję, abyś spojrzał również na uprawnienia i własność w katalogu / etc / nagios.

Możesz także su do użytkownika nagios i rozpocząć przenoszenie (cd) w górę drzewa katalogów, aby określić, gdzie podziały uprawnień.

choffman
źródło
Dobra rada. Ale bez powodzenia. Przed odpowiedzią możesz spróbować skomentować post. Niektórzy ludzie mogą głosować za tym i nie chciałbym, abyś stracił swoją karmę :)
user3063045
Chciałbym móc. Nie pozwoli mi dodać komentarza do głównego pytania, dopóki nie zdobędę 50 punktów reputacji. Doceniam jednak radę! Otrzymałem taką korzyść od StackExchange i in., Że chciałem spróbować coś wnieść z powrotem.
choffman,