MonitorIcingaEtAl » Cronologia » Versione 6
« Precedente |
Versione 6/26
(diff)
| Successivo »
Simone Piccardi, 17-04-2013 20:12
Monitoraggio sistemi con Icinga & C.¶
Installazione base¶
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, le estensioni per l'utilizzo di questa modalità di gestione dei dati sono fornite dal pacchetto icinga-idoutils
(necessario nel caso si voglia utilizzare la nuova interfaccia di icinga-web
, che lo richiede come dipendenza e fa configurare il relativo accesso al database). Per poterlo utilizzare deve essere esplicitamente abilitato l'avvio del demone ido2db
modificando la seguente riga in /etc/default/icinga
:
# start ido2db daemon (no/yes) IDO2DB=yes
inoltre deve essere attivato il modulo di gestione da parte di Icinga, questo deve essere fatto attraverso l'uso del file di configurazione distribuito con icinga-idoutils
, pertanto occorrerà copiare:
cp /usr/share/doc/icinga-idoutils/examples/idoutils.cfg-sample /etc/icinga/modules/idoutils.cfg
una volta fatto questo si riavviino i relativi servizi con:
service ido2db restart service icinga restart
e si potrà verificare il funzionamento anche della nuova interfaccia web (dando per scontato di aver creato un opportuno virtual host sotto SSL), andando sull'indirizzo https://icinga.miosito.it/icinga-web/
.
Qualora i dati di monitoraggio siano presenti, ma risulti marcata come "_DOWN_" l'instanza di icinga
nel quadro riassuntivo, si verifichi che la timezone di sistema in /etc/timezone
, quella di PHP nella variabile date.timezone
in /etc/php5/apache2/php.ini
siano coerenti, nel caso si provveda anche al riavvio di MySQL per fargli vedere i valori corretti.
Grafici delle risorse con PNP4Nagios¶
Uno degli aspetti più rilevanti di un sistema di monitoraggio è quello che consente di mantenere uno storico del consumo delle risorse che consente di tenerne sotto controllo l'evoluzione. A questo scopo è disponibile PHP4Nagios, che supporta anche una opportuna integrazione con icinga
; per installarlo è sufficiente eseguire il comando:
apt-get install -t squeeze-backports icinga-web-pnp
che installa tutto il necessario nelle dipendenze, una volta fatto questo però vanno fatte alcune correzioni alle configurazioni del pacchetto che sono fatte per Nagios, in particolare occorre modificare /etc/apache2/conf.d/pnp4nagios.conf
correggendo le modalità di autenticazione con:
AuthName "Iconga Access" AuthUserFile /etc/icinga/htpasswd.users
in modo che corrispondano a quanto presente anche in /etc/apache2/conf.d/icinga.conf
, e ci si ricordi di eseguire un reload di apache.
Occorre poi correggere /etc/pnp4nagios/config.php
di nuovo per fagli usare i valori opportuni relativi ad Icinga, in particolare si dovranno modificare le seguenti linee:
... $conf['nagios_base'] = "/icinga/cgi-bin"; ... $conf['livestatus_socket'] = "unix:/var/lib/icinga/rw/live"; ...
La seconda riga attiene all'uso di ''livestatus'' per una lettura efficiente dei dati di Icinga, che comporta l'installazione del pacchetto relativo con:
apt-get install -t squeeze-backports check-mk-livestatus
ed una ulteriore configurazione di Icinga; questa può essere fatta usando la nuova funzionalità dei moduli (evitando quindi la direttiva broker_module
) inserendo in un file (nel nostro caso livestatus.cfg
) nella directory /etc/icinga/modules/
con contenuto:
define module{ module_name mklivestatus path /usr/lib/check_mk/livestatus.o module_type neb args /var/lib/icinga/rw/live }
(si usi
/var/lib/icinga/rw/live
che è il default anche per check_mk
che vedremo in seguito).
Inoltre occorre attivare il demone npcd
in /etc/default/npcd
inserendo la riga:
Controllo con check_mk
¶
Aggiornato da Simone Piccardi oltre 11 anni fa · 6 revisions