Project

General

Profile

MonitorIcingaEtAl » History » Version 3

Simone Piccardi, 04/17/2013 12:15 PM

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