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 !