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 !
