Installare Nagios

L'installazione di base di Nagios è relativamente semplice.

Di seguito le istruzioni per Suse SLES 11 SP2.

Nagios fornisce una console web, per cui è bene verificare, prima di installare nagios, di avere la parte web server funzionante e attiva, almeno nelle parti fondamentali.

  • Via Yast o zypper installare apache.

Se non ci sono necessità particolari, preferisco installare semplicemente il pattern LAMP (Linux Apache MySQL, PHP).
Con zypper il  comando è zypper in -t patterns lamp-server .
Al solito eventuali dipendenze vengono risolte automaticamente.
Ricordarsi di attivare il servizio apache2 all'avvio di linux (chkconfig apache2 on   rcapache2 start)

Controllare il corretto funzionamento del servizio attraverso il browser. Compare il classico messaggio It works!

  • Allo stesso modo è bene installare preventivamente il servizio SNMP (net-snmp) e perl-Net-SNMP (molti plugin di Nagios fanno uso di perl, tanto vale caricare la parte perl di SNMP.

zypper in net-snmp perl-Net-SNMP
accettare gli eventuali moduli suggeriti. Vedi la pagina http://www.rfc.it/content/snmp-su-suse-sles-11-sp2 e seguire le istruzioni per la configurazione minima del servizio.

  • Ora l'installazione di Nagios, i plug-in principali e alcuni pacchetti aggiuntivi. Il comando zypper è il seguente:

    zypper in nagios nagios-nrpe nagios-plugins nagios-plugins-extras nagios-plugins-nrpe nagios-www rrdtool php5-gd php5-zlib  nmap

L'installazione crea l'utente nagios e i gruppi nagios e nagcmd.

Nagios richiede l'autenticazione per l'accesso l'interfaccia web, occorre creare un utente e definire la relativa password. L'utente web non ha nulla a che fare con l'utenza linux nagios creata nella installazione.
Le modalità di autenticazione e il file di password sono definite nella descrizione del servizio web per nagios, presente in /etc/apache2/conf.d/nagios.conf per creare l'utenza web usare il seguente comando:

htpasswd2 -c /etc/nagios/htpasswd.users nagiosadmin

L'utente è, in questo caso, nagiosadmin . Scegliere una password.

L'installazione di nagios fornisce una configurazione minima.
I files di configurazione sono nella directory  /etc/nagios
Il file principale di configurazione è /etc/nagios/nagios.cfg

Le modifiche ai files di configurazione possono essere testate con il comando
nagios -v /etc/nagios/nagios.cfg

che deve concludersi con il messaggio:

.......
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Eventuali errori impediscono l'avvio del deamon di nagios.

Non resta che attivare il servizio all'avvio
chkconfig nagios on
e avviare il servizio
rcnagios start


Eventuali errori sono nei file di log in /var/log/nagios

Nel caso dell'installazione nell'ambiente citato, l'interfaccia web funziona correttamente, ma il click su un qualunque menu da l'errore Error: Could not read object configuration data!

In questo caso mancano i permessi all'utente linux nagios e al gruppo nagcmd alla directory /var/lib/nagios per provvedere:
chown nagios:nagcmd /var/lib/nagios

e riavvire il servizio

rcnagios restart

Questo problema sembra essere risolto in SLES11 SP2 con le patch rilasciate alla data attuale.

 

Questo è tutto.
Da qui si comincia a 'litigare' con Nagios, un ambiente molto potente e completo, ma che richiede pratica e attenzione per definire cosa e come controllare.

 

Nagios in altri ambienti e versioni di Linux non differisce molto da quanto proposto (SLES 11), quindi spero che le indicazioni siano utili anche a chi non usa SLES.