Monitoraggio di Apache tramite MRTG

Premessa
In questo documento spiegherò come sfruttare il noto MRTG per monitorare l’attività di Apache. Sebbene 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.
apache_mrtg

  • Facebook
  • Google Bookmarks
  • Windows Live Favorites
  • LinkedIn
  • Delicious
  • Hotmail
  • Twitter
  • Windows Live Spaces
  • Yahoo Bookmarks
  • Yahoo Messenger
  • Share/Bookmark
  1. Nessun commento ancora...
  1. Nessun trackback ancora...

Spam Protection by WP-SpamFree