Guida a Ubuntu Server 12.10_ITA-Cap10

8
179 Capitolo 10. Monitoraggio

description

Guida a Ubuntu Server 12.10_ITA

Transcript of Guida a Ubuntu Server 12.10_ITA-Cap10

Page 1: Guida a Ubuntu Server 12.10_ITA-Cap10

179

Capitolo 10. Monitoraggio

Page 2: Guida a Ubuntu Server 12.10_ITA-Cap10

Monitoraggio

180

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 ilmonitoraggio 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 serverchiamato server01 viene configurato con Nagios per monitorare i servizi sul server stesso e suserver02. Inoltre, viene configurato anche munin per raccogliere informazioni dalla rete. Utilizzandoil pacchetto munin-node, server02 viene configurato per inviare informazioni a server01.

Questi semplici esempi dovrebbero permettere di monitorare server aggiuntivi e servizi all'internodella rete.

Page 3: Guida a Ubuntu Server 12.10_ITA-Cap10

Monitoraggio

181

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 salvatenel file /etc/nagios3/htpasswd.users. Per modificare la password dell'utente nagiosadmin o peraggiungere 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 pereseguire 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 uncontrollo, 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 questoesempio 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.

Page 4: Guida a Ubuntu Server 12.10_ITA-Cap10

Monitoraggio

182

Consultare Sezione 1, «HTTPD - Server web Apache2» [188] per informazionisu 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 lacomprensione 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 iserver 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 perinviare 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 ilcomando ping il gateway.

Installazioni di Nagios di grosse dimensioni possono essere complesse da configurare ed è quindi utilepartire 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

Page 5: Guida a Ubuntu Server 12.10_ITA-Cap10

Monitoraggio

183

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 alfile /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 mysql-servers

alias MySQL servers

members localhost, server02

}

3. Il controllo di Nagios necessita di autenticarsi con MySQL. Per aggiungere un utente nagios aMySQL 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

Page 6: Guida a Ubuntu Server 12.10_ITA-Cap10

Monitoraggio

184

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 questifile, in un browser web inserire l'indirizzo http://server01/nagios3. Vengono richiesti password enome utente dell'utente nagiosadmin.

2.4. Riferimenti

Questa sezione ha fornito una panoramica preliminare delle caratteristiche di Nagios, i pacchettinagios-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à suNagios4.

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

Page 7: Guida a Ubuntu Server 12.10_ITA-Cap10

Monitoraggio

185

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/munin-node.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 cherappresentano le informazioni dal pacchetto munin-plugins standard per disco, rete, processi esistema.

Poiché è una nuova installazione, potrebbe impiegare un po' di tempo affinché i graficivisualizzino qualche cosa di utile.

Page 8: Guida a Ubuntu Server 12.10_ITA-Cap10

Monitoraggio

186

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- undSystem-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/Documentation7 https://www.opensourcepress.de/index.php?26&backPID=178&tt_products=1528 https://help.ubuntu.com/community/Munin