giovedì, Novembre 21, 2024

Monitoraggio di Apache tramite MRTG

Alessandro Pensato
Alessandro Pensatohttp://www.alessandro-pensato.it
Ciao a tutti, sono Alessandro, sono nato a Palermo il 24/01/1983 e vivo a qualche chilometro dalla città. Da anni coltivo la passione per i computer e tutto quello che ci sta attorno, con un occhio di riguardo per il mondo delle reti. Nel 2000 mi avvicino al mondo di Linux e ne resto impressionato da ciò che consente di fare, nonchè alla filosofia dell’opensource. Nel Aprile 2005 ho conseguito la certificazione Cisco CCNA. Da Novembre 2006 sono membro del CUG. Ho completato il corso HP IT Essential I e II e Cisco Network Security. Ho svolto uno stage presso Jump2Future dove mi sono occupato di redigere una ralazione per la realizzazione di un cluster basato su RedHat GFS (Global File System). Lavoro per l’IBIM-CNR di Palermo dal 2002 come tecnico informatico e gestione rete. Sto cominciando ad acquisire conoscenze nel campo del VoIP con software quali Trixbox e Elastix, realizzazione e uso di macchine virtuali basate su VMWare.

Premessa

In questo documento spiegherà come sfruttare il noto MRTG per monitorare l’attività di Apache. Se bene, MRTG sia stato realizzato per ottenere delle statistiche sulle condizioni di una rete, e anche possibile sfruttarlo, grazie ad un modulo, per monitorare le funzioni vitali di un webserver che usa Apache. Un esempio di configurazione reale in cui viene utilizzato MRTG come strumento per il monitoraggio dello stato di una rete, è quello del GARR. Infatti dal suo sito (http://www.garr.it) si puà accedere a queste informazioni relative a tutti gli enti a cui fornisce connettività (CNR, Università , ENEA; INFN, ecc).

Risorse Hardware e Software

Per il mio scopo ho utilizzato un vecchio pc, composto da un processore Pentium 166MMX, 32MB di RAM, Hard Disk da 2GB ide, scheda di rete pci 3Com 905-b 10/100Mbit., dal lato software ho utilizzato Slackware 10, Apache e MRTG.

Procuriamoci i pacchetti necessari

Per facilitarvi nell’impresa vi ho messo a disposizione il mio spazio web, da dove potere prelevare i pacchetti necessari senza andare in giro per la rete magari non trovando le versioni utilizzate in questo documento. Di seguito trovate i link per scaricare i pacchetti:

http://www.webalice.it/alepensato/apache-mrtg/apache_1.3.27.tar.gz

http://www.webalice.it/alepensato/apache-mrtg/apache.mrtg.tgz

http://www.webalice.it/alepensato/apache-mrtg/mrtg-2.10.13.tar.gz

http://www.webalice.it/alepensato/apache-mrtg/gd-2.0.26.tar.gz

http://www.webalice.it/alepensato/apache-mrtg/perl-addons.zip

Compilazione e installazione dei software sorgenti (come root)

Installazione delle librerie GD

Il primo software che installeremo sono le librerie GD, che insieme alle librerie per JPEG, PNG, GIF, permetteranno al software MRTG di creare i grafici relative allo stato del nostro webserver. Eseguite questi comandi passo passo:

cd /tar						
tar zxvf  gd*					
cd gd*						
./configure					 
make && make install				
ldconfig					

Installazione di MRTG

Questo pacchetto, una volta installato, si occuperà di creare i grafici andando a sfruttare in modulo Apache-MRTG che a sua volta consulta il modulo server-status di Apache, per ottenere le informazioni relative al webserver. Eseguite questi comandi passo passo:

cd /tar					
tar zxvf mrtg*				 
cd mrtg*				
./configure –prefix=/usr/local/mrtg					
make && make install			

Installazione del pacchetto Perl-Addons

All’interno del file zip troverete altri pacchetti in formato tar.gz prelevati da CPAN e necessari a far funzionare MRTG, in realtà è solo libwww-perl che si lega a MRTG, ma a sua volta necessita di altri pacchetti per poter funzionare quindi dobbiamo installarli. Seguite l’ordine di installazione dei pacchetti per evitare malfunzionamenti dovuti alle dipendenze tra essi:

cd /tar						
unzip perl-addons.zip				 
cd perl-addons					
tar zxvf Convert*				
cd Convert*					
perl Makefile.PL && make && make install	
tar zxvf Period*					
cd Period*					
perl Makefile.PL && make && make install	
tar zxvf DB*					
cd DB*						
perl Makefile.PL && make && make install	
tar zxvf Digest-1*				
cd Digest-1*					
perl Makefile.PL && make && make install	
tar zxvf HTML-Tagset*				
cd HTML-Tagset*				
perl Makefile.PL && make && make install	
tar zxvf HTML-Template*			
cd HTML-Template*				
perl Makefile.PL && make && make install	
tar zxvf HTML-Parser*				
cd HTML-Parser*				
perl Makefile.PL && make && make install	
tar zxvf MIME*3*				
cd MIME*3*					
perl Makefile.PL && make && make install	
tar zxvf MIME*P*				
cd MIME*P*					
perl Makefile.PL && make && make install	
tar zxvf Time*					
cd Time*					
perl Makefile.PL && make && make install	
tar zxvf URI*					
cd URI*					
perl Makefile.PL && make && make install	
tar zxvf libwww*				
cd libwww*					
perl Makefile.PL && make && make install	

Installazione di Apache

A questo punto dobbiamo installare Apache, il webserver,. La procedura di seguito è valida per una installazione minima necessaria per realizzare il nostro scopo, ma se si vuole si possono abilitare altri moduli in base alle proprie necessità . Seguite i seguenti comandi:

cd /tar
tar zxvf apache_*				 
cd apache_*					
./configure --prefix=/usr/local/apache --enable-module=rewrite --enable-module=status \
--enable-shared=max
make && make install				
mkdir /usr/local/apache/etc			

Configurazione del file httpd.conf di Apache

A questo punto siamo pronti per modificare il file di configurazione httpd.conf di Apache. Per ottenere i grafici dobbiano aggiungere alcune righe nel file in modo che il modulo Apache-MRTG possa leggere le informazioni necessarie. Aprite con un qualsiasi editor di testi il file che potete trovare in /usr/local/apache/conf/httpd.conf:

vi /usr/local/apache/conf/httpd.conf

aggiungete queste brevi righe di comando, salvate il file e avviate Apache:

ExtendedStatus On
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from your-domain.com
</Location>
/usr/local/apache/bin/apachectl start

Configurazione del modulo Apache-MRTG

A questo punto siamo pronti per modificare i file di configurazione in modo da poter ottenere i grafici relativi allo stato del webserver. Seguite i seguenti comandi:

cd /tar				  		 
tar zxvf apache.mrtg.tgz				
cd apache.mrtg*				
cp apache.mrtg.pl /usr/local/apache/etc		

Cominciamo a modificare il primo dei due file di configurazione del modulo.

vi batch

Correggere il nome del server e con il suo URL.

$BATCHBIN server1   "-url http://server1/server-status?auto"

Modifica del secondo file di configurazione.

vi mkapachemrtg.sh
   HTMLHOME="/usr/local/apache/htdocs"	
   SCRIPTHOME="/usr/local/apache/etc" 	
   URLHOME="http://server.home.local"	
   CONFHOME="/usr/local/apache/etc" 	
   MRTGBIN="/usr/localmrtg/bin/mrtg"

Ora che abbiamo terminato la configurazione possiamo lanciare in esecuzione il programma che collocherà i file necessari ad ottenere i grafici, nelle directory di lavoro:

./batch

Adesso lanciamo MRTG in modo che crei i grafici per la prima volta:

/usr/local/mrtg/bin/mrtg /usr/local/apche/etc/server1.apache.mrtg.cfg

Puntando con un qualsiasi browser grafico all’URL del nostro webserver http://localhost/server1/apache.html ci troveremo davanti ad una pagina riepilogativa comprendente dei grafici relativi al websserver come: Uptime, CPULoad, Total Access, Child Status, Idle Server, ecc.

Articoli correlati

Noleggia una Tesla per il tuo evento ICT!

Categorie