MonitorIcingaEtAl » Cronologia » Versione 3
Simone Piccardi, 17-04-2013 12:15
| 1 | 1 | Simone Piccardi | h1. Monitoraggio sistemi con Icinga & C. |
|---|---|---|---|
| 2 | |||
| 3 | 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: |
||
| 4 | |||
| 5 | <pre> |
||
| 6 | deb http://backports.debian.org/debian-backports squeeze-backports main |
||
| 7 | </pre> |
||
| 8 | |||
| 9 | il pacchetto è suddiviso in due parti, il _"core"_ che reimplementa le funzionalità di Nagios, e la nuova interfaccia web, pertanto installeremo entrambe con: |
||
| 10 | |||
| 11 | <pre> |
||
| 12 | apt-get install -t squeeze-backports icinga icinga-web |
||
| 13 | </pre> |
||
| 14 | |||
| 15 | 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. |
||
| 16 | |||
| 17 | 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. |
||
| 18 | 2 | Simone Piccardi | |
| 19 | 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): |
||
| 20 | |||
| 21 | <pre> |
||
| 22 | salt=$(php5 -r 'echo hash("sha256", uniqid("root_", mt_rand()));') |
||
| 23 | export SALT="$salt" |
||
| 24 | export PW="passwordlungaecomplicata" |
||
| 25 | pwhash=$(php5 -r 'echo hash_hmac("sha256", getenv("PW"), getenv("SALT"));') |
||
| 26 | salt_e=${salt/\'/\\\'} |
||
| 27 | pwhash_e=${pwhash/\'/\\\'} |
||
| 28 | query="UPDATE nsm_user SET user_password='""$pwhash_e""', user_salt = '""$salt_e""', user_modified = NOW() WHERE user_name = 'root';" |
||
| 29 | echo $query | mysql -u icinga_web -p icinga_web |
||
| 30 | </pre> |
||
| 31 | |||
| 32 | fornendo dopo l'ultimo comando la password impostata per il database di @icinga-web@. |
||
| 33 | 3 | Simone Piccardi | |
| 34 | 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@: |
||
| 35 | |||
| 36 | <pre> |
||
| 37 | # start ido2db daemon (no/yes) |
||
| 38 | IDO2DB=yes |
||
| 39 | </pre> |
||
| 40 | |||
| 41 | una volta fattoo questo si riavviino i relativi servizi con: |
||
| 42 | |||
| 43 | <pre> |
||
| 44 | service ido2db start |
||
| 45 | service icinga restart |
||
| 46 | </pre> |