Project

General

Profile

MonitorIcingaEtAl » History » Version 3

« Previous - Version 3/26 (diff) - Next » - Current version
Simone Piccardi, 04/17/2013 12:15 PM


Monitoraggio sistemi con Icinga & C.

Icinga (http://www.icinga.org) è un fork di Nagios sviluppato in maniera aperta, che presenta numerosi miglioramenti e soprattutto una interfaccia utente nettamente più elaborata. Le presenti istruzioni fanno riferimento all'installazione su una Debian Squeeze utilizzando le versione più recenti disponibili nel repository di backports pertanto il primo passo da fare sarà quello di abilitare questi ultimi, aggiungendo a /etc/apt/sources.list la riga:

deb http://backports.debian.org/debian-backports squeeze-backports main

il pacchetto è suddiviso in due parti, il "core" che reimplementa le funzionalità di Nagios, e la nuova interfaccia web, pertanto installeremo entrambe con:

apt-get install -t squeeze-backports icinga icinga-web

Il sistema di debconf chiederà se abilitare o meno l'uso di comandi esterni con icinga, questo consente, attraverso l'accesso in scrittura della pipe di controllo posta in /var/lib/icinga/rw/ di dare al web server la possibilità di utilizzare l'interfaccia dei comandi CGI, e servirà anche per l'accesso alla stessa da parte di altri programmi di ausilio, pertanto è opportuno attivarla rispetto alla scelta di default.

L'interfaccia di debconf chiede anche (qualora si usino diverse alternative) per quale web server generare la configurazione (si lasci il default di apache2), di configurare l'accesso e la creazione di vari database per i quali occorre, usando dbconfig-common, la password di root del database (si assume l'uso di MySQL su localhost) e le password per gli utenti di amministrazione, icingaadmin per Icinga e root per l'interfaccia Web. Viene altresì richiesta la configurazione del database di appoggio per lo storico dei dati (icinga-idoutils), per il quale di nuovo occorre la password di root del database.

Qualora la configurazione di icinga-web fallisca in fase di configurazione come capitato a me, occorrerà impostare a mano la password dell'utente root nel relativo database, per questo si dovranno eseguire i seguenti comandi (estratti dallo script di post-installazione):

salt=$(php5 -r 'echo hash("sha256", uniqid("root_", mt_rand()));')
export SALT="$salt" 
export PW="passwordlungaecomplicata" 
pwhash=$(php5 -r 'echo hash_hmac("sha256", getenv("PW"), getenv("SALT"));')
salt_e=${salt/\'/\\\'}
pwhash_e=${pwhash/\'/\\\'}
query="UPDATE nsm_user SET user_password='""$pwhash_e""', user_salt = '""$salt_e""', user_modified = NOW() WHERE user_name = 'root';" 
echo $query | mysql -u icinga_web -p icinga_web

fornendo dopo l'ultimo comando la password impostata per il database di icinga-web.

Una delle caratteristiche di icinga è la possibilità di utilizzare un database per lo stoccaggio dei dati (necessario nel caso si voglia utilizzare la nuova interfaccia di icinga-web, questo deve essere esplicitamente abilitato modificando la seguente riga in /etc/default/icinga:

# start ido2db daemon (no/yes)
IDO2DB=yes

una volta fattoo questo si riavviino i relativi servizi con:

service ido2db start
service icinga restart