środa, 22 października 2014

CentOS 7 problem z autostartem klienta NRPE z innym użytkownikiem niż nrpe

CentOS 7 momentami przekleństwo, bo coś co zawsze działało nie działa wcale, albo od d***y strony. Jak zwykle coś musi być nie tak. Mamy zainstalowanego nrpe na hoście wszystko ładnie działa Nagios zbiera wszystko tak jak trzeba , ale .... do momentu restartu maszyny. Okazuje się, że usługa nie wstaje automatycznie. Sprawdzamy co się dzieje:

[root@localhost ~]# service nrpe start
[root@localhost ~]# systemctl status  nrpe.service
nrpe.service - NRPE
   Loaded: loaded (/usr/lib/systemd/system/nrpe.service; enabled)
   Active: active (running) since Tue 2014-10-21 08:02:23 CEST; 1 day 1h ago
 Main PID: 31220 (nrpe)
   CGroup: /system.slice/nrpe.service
           └─31220 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d

Oct 21 08:02:22 localhost.localdomain nrpe[31220]: Starting up daemon
Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Warning: Could not set effective GID=997
Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Warning: Unable to change supplementary groups using initgroups()
Oct 21 08:02:23 dlocalhost.localdomain nrpe[31220]: Warning: Could not set effective UID=998

Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Server listening on xxx.xxx.xxx.xxx port 5666.
Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Listening for connections on port 0
Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Allowing connections from: xxx.xxx.xxx.xxx
Oct 21 08:02:23 localhost.localdomain systemd[1]: Started NRPE.


Wychodzi na to, że NRPE nie może sobie poradzić, z uruchomieniem z innym użytkownikiem niż nrpe. Odpalmy wtakim razie nrpe z poziomu xinetd:

yum install xinetd
cd /etc/xintetd.d

Tworzymy plik startowy dla nrpe:
 vi nrpe

service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/sbin/nrpe
        server_args     = -c /etc/nagios/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = 127.0.0.1 xxx.xxx.xxx.xxx
}

Musimy dodać jeszcze odpowiedni wpis w /etc/services, żeby xinetd odpowiedniouruchomił
vi /etc/services

Szukamy takiej linijki:

###UNAUTHORIZED USE: Port 5666 used by SAIC NRPE############

Jeśli jest to pod nią wpisujemy (jak nie to wpisujemy na wysokości, gdzie nasz port powinien się znaleźć):
nrpe<--><------>5666/tcp<------><------>#NRPE


Wyłączamy klasyczne startowanie nrpe i uruchamiamy je z poziomu xinetd, oraz automatyczny jej start:

chkconfig nrpe off
chkconfig xinetd on
service xinetd start

Sprawdzamy czy usługa odpowiednio wstała:
netstat -tulpn

jak pokazuje się wpis:
tcp6       0      0 :::5666                 :::*                    LISTEN      807/xinetd

jest ok. Profilaktycznie można zrestartować maszynę i sprawdzić, czy wszystko działa tak jak potrzeba.

Brak komentarzy:

Prześlij komentarz