Guida a Ubuntu Server 12.10_ITA-Cap10
-
Upload
giovanniniosi -
Category
Documents
-
view
8 -
download
2
description
Transcript of Guida a Ubuntu Server 12.10_ITA-Cap10
179
Capitolo 10. Monitoraggio
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.
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.
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
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
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
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.
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