Solaris 10 e Nagios NRPE

Di seguito i passi che ho seguito per installare e configurare Nagios su una macchina Solari 10

    useradd -c "nagios system user" -d /usr/local/nagios -m nagios
    groupadd nagios
    chown nagios:nagios /usr/local/nagios/
    cd /usr/local/src # dove vuoi posizionare i sorgeti
    wget http://internap.dl.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
    wget http://internap.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
    gunzip nagios-plugins-1.4.16.tar.gz
    tar -xvf nagios-plugins-1.4.16.tar
    gunzip nrpe-2.13.tar.gz
    tar -xvf nrpe-2.13.tar

Devo compilare i due pacchetti. Per fortuna il compilatore è installato, ma non è visibile… tuttavia dando

PATH=$PATH:/usr/ccs/bin:/usr/sfw/bin

magicamente diventa disponibile…

cd nagios-plugins-1.4.16
./configure
make
make install
chown -R nagios:nagios /usr/local/nagios/libexec
cd ..

Un controllo veloce che dia la conferma che tutto è stato compilato correttamente…

/usr/local/nagios/libexec/check_disk -w 10 -c 5 -p /
DISK OK - free space: / 78954 MB (70% inode=99%);| /=33781MB;112725;112730;0;112735

Ora è il turno di NRPE. Basterebbe un semplice

 ./configure

però l’errore è dietro l’angolo… le librerie SSL:

checking for SSL headers… configure: error: Cannot find ssl headers

checking for SSL libraries… configure: error: Cannot find ssl libraries

per fortua basta impostare dove si trovano..

cd nrpe-2.13
./configure –with-ssl=/usr/sfw/ –with-ssl-lib=/usr/sfw/lib/

Ed ora compiliamo

# make all
cd ./src/; make ; cd ..
gcc -g -O2 -I/usr/sfw//include/openssl -I/usr/sfw//include -DHAVE_CONFIG_H -o nrpe nrpe.c utils.c -L/usr/sfw/lib/ -lssl -lcrypto -lnsl -lsocket ./snprintf.o
gcc -g -O2 -I/usr/sfw//include/openssl -I/usr/sfw//include -DHAVE_CONFIG_H -o check_nrpe check_nrpe.c utils.c -L/usr/sfw/lib/ -lssl -lcrypto -lnsl -lsocket

*** Compile finished ***

ed installiamo i nuovi eseguibili:

# make install
cd ./src/ && make install
make install-plugin
.././install-sh -c -m 775 -o nagios -g nagios -d /usr/local/nagios/libexec
.././install-sh -c -m 775 -o nagios -g nagios check_nrpe /usr/local/nagios/libexec
make install-daemon
.././install-sh -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin
.././install-sh -c -m 775 -o nagios -g nagios nrpe /usr/local/nagios/bin

# make install-daemon-config
./install-sh -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc
./install-sh -c -m 644 -o nagios -g nagios sample-config/nrpe.cfg /usr/local/nagios/etc

Modifichiamo il file nrpe.cfg con i tuoi settaggi:

vi /usr/local/nagios/etc/nrpe.cfg

Con Solaris 10 non si usa né inetd né xinetd, ma SMF. E’ possibile convertire le voci di initd in quelle di SMF con il comandi inetconv, per cui per prima cosa aggiungiamo nel file /etc/services la riga

nrpe 5666/tcp # NRPE

e poi aggiungiao alla fine del file /etc/inet/inetd.conf:

nrpe stream tcp nowait nagios /usr/sfw/sbin/tcpd /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -i

e poi convertiamo per essere gestito da SMF:

# inetconv
nrpe -> /var/svc/manifest/network/nrpe-tcp.xml
Importing nrpe-tcp.xml …Done
# inetconv -e
svc:/network/nrpe/tcp:default enabled

Controlliamo che sia attivo:

# svcs svc:/network/nrpe/tcp:default
STATE STIME FMRI
online 15:53:39 svc:/network/nrpe/tcp:default
# netstat -a | grep nrpe
*.nrpe *.* 0 0 49152 0 LISTEN

controlliamo i parametri di default:

# inetadm -l svc:/network/nrpe/tcp:default
SCOPE NAME=VALUE
name=”nrpe”
endpoint_type=”stream”
proto=”tcp”
isrpc=FALSE
wait=FALSE
exec=”/usr/sfw/sbin/tcpd -c /usr/local/nagios/etc/nrpe.cfg -i”
arg0=”/usr/local/nagios/bin/nrpe”
user=”nagios”
default bind_addr=”"
default bind_fail_max=-1
default bind_fail_interval=-1
default max_con_rate=-1
default max_copies=-1
default con_rate_offline=-1
default failrate_cnt=40
default failrate_interval=60
default inherit_env=TRUE
default tcp_trace=FALSE
default tcp_wrappers=FALSE
default connection_backlog=10

cambiamo affiche usi il tcp_wrappers:

# inetadm -m svc:/network/nrpe/tcp:default tcp_wrappers=TRUE

e controlliamo che la modifica abbia avuto luogo:

# inetadm -l svc:/network/nrpe/tcp:default
SCOPE NAME=VALUE
name=”nrpe”
endpoint_type=”stream”
proto=”tcp”
isrpc=FALSE
wait=FALSE
exec=”/usr/sfw/sbin/tcpd -c /usr/local/nagios/etc/nrpe.cfg -i”
arg0=”/usr/local/nagios/bin/nrpe”
user=”nagios”
default bind_addr=”"
default bind_fail_max=-1
default bind_fail_interval=-1
default max_con_rate=-1
default max_copies=-1
default con_rate_offline=-1
default failrate_cnt=40
default failrate_interval=60
default inherit_env=TRUE
default tcp_trace=FALSE
tcp_wrappers=TRUE
default connection_backlog=10

modifichiamo i file hosts.allow per permettere al solo server di nagios l’accesso alla porta NRPE. Il demone tcp controlla prima il file hosts.allow per verificare le regole; solo in seguito controlla l’hosts.deny.

In /etc/hosts.allow:

nrpe: LOCAL, 

ed in /etc/hosts.deny:

nrpe: ALL

Alla fine controlliamo che tutto sia andato bene:

/usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.13

Ricordati di modificare l’eventuale firewall e di configurare Nagios per il controllo del nuovo server !

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.