Sei sulla pagina 1di 8

Capitolo 10.

Monitoraggio

179

Monitoraggio

1. Panoramica
Il monitoraggio di server e servizi essenziali un aspetto importante dell'amministrazione di sistema. La maggior parte dei servizi di rete vengono monitorati per controllarne prestazioni, disponibilit oppure entrambi. Questa sezione descrive l'installazione e la configurazione di Nagios per il monitoraggio mirato alla disponibilit dei servizi e di Munin per il monitoraggio delle prestazioni. Gli esempi in questa sezione utilizzano due server con nome host server01 e server02. Il server chiamato server01 viene configurato con Nagios per monitorare i servizi sul server stesso e su server02. Inoltre, viene configurato anche munin per raccogliere informazioni dalla rete. Utilizzando il pacchetto munin-node, server02 viene configurato per inviare informazioni a server01. Questi semplici esempi dovrebbero permettere di monitorare server aggiuntivi e servizi all'interno della rete.

180

Monitoraggio

2. Nagios
2.1. Installazione
Per prima cosa, su server01 installare il pacchetto nagios. In un terminale digitare:

sudo apt-get install nagios3 nagios-nrpe-plugin

Viene chiesto di inserire una password per l'utente nagiosadmin. Le credenziali vengono salvate nel file /etc/nagios3/htpasswd.users. Per modificare la password dell'utente nagiosadmin o per aggiungere altri utenti, usare il comando htpasswd, parte del pacchetto apache2-utils. Per esempio, per modificare la password dell'utente nagiosadmin digitare:

sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin

Per aggiungere un utente:

sudo htpasswd /etc/nagios3/htpasswd.users steve

Su server02 installare il pacchetto nagios-nrpe-server. Da un terminale su server02 inserire:

sudo apt-get install nagios-nrpe-server

NRPE consente di eseguire controlli locali sugli host remoti. Esistono anche altri metodi per eseguire questo attraverso l'uso di altri plugin o controlli di Nagios.

2.2. Panoramica della configurazione


Esistono diverse directory contenenti file di configurazione e di controllo di Nagios. /etc/nagios3: contiene i file di configurazione per le operazioni del demone nagios, i file CGI, host, ecc... /etc/nagios-plugins: contiene i file di configurazione per i controlli del servizio. /etc/nagios: sull'host remoto contiene i file di configurazione di nagios-nrpe-server. /usr/lib/nagios/plugins/: contiene i file binari dei controlli. Per visualizzare le opzioni di un controllo, usare l'opzione -h. Per esempio: /usr/lib/nagios/plugins/check_dhcp -h Esistono moltissimi controlli che possibile eseguire tramite Nagios su un qualsiasi host. In questo esempio Nagios viene configurato per controlla lo spazio su disco, DNS e un gruppo di host MySQL. Il controllo DNS avviene su server02 e il gruppo di host MySQL include sia server01 che server02. 181

Monitoraggio Consultare Sezione 1, HTTPD - Server web Apache2 [188] per informazioni su Apache, Capitolo 8, DNS (Domain Name Service) [140] su DNS e Sezione 1, MySQL [207] su MySQL. Inoltre, vi sono alcuni termini che una volta descritti, aiuteranno a rendere pi semplice la comprensione di Nagios: Host: un server, una workstation o un dispositivo di rete che viene monitorato. Gruppo di host: un gruppo di host simili. Per esempio potrebbe essere possibile raggruppare tutti i server web, i server di file, ecc... Servizio: il servizio che viene monitorato sull'host come HTTP, DNS, FTP, ecc... Gruppo di servizi: consente di raggruppare servizi simili. Utile, per esempio, per raggruppare pi servizi HTTP. Contatto: una persona da notificare quando si verifica un evento. Nagios pu essere configurato per inviare email, SMS, ecc... Come impostazione predefinita, Nagios configurato per controllare HTTP, spazio su disco, SSH, gli utenti attuali, i processi e il carico sul localhost. Inoltre, in grado di controllare attraverso il comando ping il gateway. Installazioni di Nagios di grosse dimensioni possono essere complesse da configurare ed quindi utile partire con una configurazione piccola, uno o due host, prima di aumentare le dimensioni.

2.3. Configurazione
1. Per prima cosa, creare un file di configurazione host per server02; se non diversamente specificato, eseguire tutti questi comandi su server01. In un terminale digitare:

sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg \ /etc/nagios3/conf.d/server02.cfg

Nei comandi precedenti e in quelli che seguono, sostituire server01, server02, 172.18.100.100 e 172.18.100.101 con i nomi host e gli indirizzi IP dei propri server. 2. Modificare il file /etc/nagios3/conf.d/server02.cfg:

define host{ use generic-host ; Name of host template to use host_name server02 alias Server 02 address 172.18.100.101 } # check DNS service. define service { use generic-service host_name server02 service_description DNS

182

Monitoraggio
check_command check_dns!172.18.100.101 }

3.

Riavviare il demone nagios per abilitare la nuova configurazione:

sudo service nagios3 restart

1.

Aggiungere una definizione di servizio per il controllo MySQL aggiungendo quanto segue al file /etc/nagios3/conf.d/services_nagios2.cfg:

# check MySQL servers. define service { hostgroup_name mysql-servers service_description MySQL check_command check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS use generic-service notification_interval 0 ; set > 0 if you want to be renotified }

2.

necessario definire un gruppo di host mysql-servers; modificare il file /etc/nagios3/ conf.d/hostgroups_nagios2.cfg aggiungendovi:

# MySQL hostgroup. define hostgroup { hostgroup_name alias members }

mysql-servers MySQL servers localhost, server02

3.

Il controllo di Nagios necessita di autenticarsi con MySQL. Per aggiungere un utente nagios a MySQL inserire:

mysql -u root -p -e "create user nagios identified by 'secret';"

necessario aggiungere l'utente nagios a tutti gli host del gruppo mysql-servers.

4.

Riavviare nagios per iniziare il controllo dei server MySQL.

sudo service nagios3 restart

1.

Infine configurare NRPE affinch controlli lo spazio su disco su server02. Sul server01 aggiungere il controllo del servizio al file /etc/nagios3/conf.d/server02.cfg:

# NRPE disk check. define service { use generic-service host_name server02 service_description nrpe-disk

183

Monitoraggio
check_command check_nrpe_1arg!check_all_disks!172.18.100.101 }

2.

Su server02 modificare il file /etc/nagios/nrpe.cfg:

allowed_hosts=172.18.100.100

E nella sezione dove sono definiti i comandi, aggiungere:

command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e

3.

Infine, riavviare nagios-nrpe-server:

sudo service nagios-nrpe-server restart

4.

Riavviare, su server01, nagios:

sudo service nagios3 restart

Dovrebbe essere possibile visualizzare l'host e i controlli nei file CGI di Nagios. Per accedere a questi file, in un browser web inserire l'indirizzo http://server01/nagios3. Vengono richiesti password e nome utente dell'utente nagiosadmin.

2.4. Riferimenti
Questa sezione ha fornito una panoramica preliminare delle caratteristiche di Nagios, i pacchetti nagios-plugins-extra e nagios-snmp-plugins contengono molti altri controlli. Per maggiori informazioni, consultare il sito web di Nagios1. In particolare, consultare la documentazione in rete2. Sono disponibili anche molti libri3 riguardo Nagios e il monitoraggio di rete: Maggiori informazioni possono essere trovate nella documentazione online della comunit su Nagios4.

1 http://www.nagios.org/ 2 http://nagios.sourceforge.net/docs/3_0/ 3 http://www.nagios.org/propaganda/books/ 4 https://help.ubuntu.com/community/Nagios

184

Monitoraggio

3. Munin
3.1. Installazione
Prima di installare Munin su server01, necessario installare apache2. La configurazione predefinita sufficiente per poter eseguire un server munin. Per maggiori informazioni, consultare Sezione 1, HTTPD - Server web Apache2 [188]. Installare, su server01, munin. In un terminale, inserire:

sudo apt-get install munin

Su server02, installare il pacchetto munin-node:

sudo apt-get install munin-node

3.2. Configurazione
Su server01 modificare il file /etc/munin/munin.conf aggiungendo l'indirizzo IP di server02:

## First our "normal" host. [server02] address 172.18.100.101

Sostituire server02 e 172.18.100.101 con il nome host e con l'indirizzo IP del proprio server.

Successivamente, configurare munin-node su server02. Modificare il file /etc/munin/muninnode.conf per consentire l'accesso al server01:

allow ^172\.18\.100\.100$

Sostituire ^172\.18\.100\.100$ con l'indirizzo IP del proprio server munin.

Riavviare munin-node su server02 per applicare le modifiche:

sudo service munin-node restart

Infine, in un browser, inserire l'indirizzo http://server01/munin per visualizzare grafici che rappresentano le informazioni dal pacchetto munin-plugins standard per disco, rete, processi e sistema. Poich una nuova installazione, potrebbe impiegare un po' di tempo affinch i grafici visualizzino qualche cosa di utile. 185

Monitoraggio

3.3. Plugin aggiuntivi


Il pacchetto munin-plugins-extra contiene controlli per le prestazioni e per servizi come DNS, DHCP, Samba e altri. Per installare il pacchetto, in un terminale inserire:

sudo apt-get install munin-plugins-extra

Assicurarsi di installare il pacchetto sia sul server che su tutti i nodi.

3.4. Riferimenti
Per maggiori informazioni, consultare il sito web di Munin5. In particolare, la pagina relativa alla documentazione6 contiene informazioni su maggiori plugin, sulla scrittura di plugin, ecc.. anche disponibile un libro in tedesco da Open Source Press: Munin Graphisches Netzwerk- und System-Monitoring7. Un'altra risorsa la pagina della documentazione della comunit su Munin8.

5 http://munin.projects.linpro.no/ 6 http://munin.projects.linpro.no/wiki/Documentation 7 https://www.opensourcepress.de/index.php?26&backPID=178&tt_products=152 8 https://help.ubuntu.com/community/Munin

186