Installare, usare e configurare MRTG

MRTG è disponibile in rete sia in formato RPM che sorgente, di seguito la procedura di installazione e la configurazione di base per potere utilizzare questo strumento.

PREREQUISITI
L'utilizzo di MRTG per il monitoring del traffico necessita di avere installati alcuni software sulla propria macchina per poterlo utilizzare. In particolare deve essere presente un interprete Perl con il quale è sono stato scritto gran parte del codice del programma, e le librerie per la creazione e gestione dei grafici, ovvero zlib, libpng e gd. Ultimo requisito è l'esistenza un un agent SNMP sull'apparato da monitorare, in quanto MRTG ricava da esso i dati.  

INSTALLAZIONE DA SORGENTI
E' possibile procedere al download dei sorgenti tramite il sito degli autori <a href="http://www.mrtg.org">http://www.mrtg.org:  
root@Joker:/software# wget
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/mrtg-2.9.29.tar.gz

--02:44:15 --http://people.ee.ethz.ch/%7Eoetiker/webtools/mrtg/pub/mrtg-2.9.29.tar.gz      
      => `mrtg-2.9.29.tar.gz.1'Resolving people.ee.ethz.ch... done.        
Connecting to people.ee.ethz.ch[129.132.2.204]:80... connected.  
HTTP request sent, awaiting response... 200 OK      
Length: 1,026,837 [application/x-tar]

100%[=================================================================================>] 1,026,837  
4.32K/s    ETA 00:00 02:48:09 (4.32 KB/s) - `mrtg-2.9.29.tar.gz.1' saved [1026837/1026837]


Successivamente si procede alla scompattazione dei sorgenti:
root@Joker:/software# tar xvfz mrtg-2.9.29.tar.gz  
mrtg-2.9.29/ANNOUNCE  
mrtg-2.9.29/THANKS    
mrtg-2.9.29/CHANGES  
mrtg-2.9.29/COPYING  
...                  
mrtg-2.9.29/doc/mrtg.html  
mrtg-2.9.29/doc/mrtg.pod  
mrtg-2.9.29/doc/mrtg.txt  


Una volta scompattati i sorgenti e' necessario posizionarsi nella directory appena creata e lanciare direttamente il comando ./configure o ./configure --help per le opzioni di configurazione:
homer@Joker:/scambio$ cd mrtg-2.9.29   
root@Joker:/software/mrtg-2.9.29# ./configure --prefix=/usr/local/mrtg   
checking for gcc... gcc  checking for C compiler default output... a.out  
checking whether the C compiler works... yes  
...  
ordering CD from http://people.ee.ethz.ch/~oetiker/wish .... just kidding ;-)


Infine per terminare l'installazione si utilizzano i classici make e make install:  
root@Joker:/scambio/mrtg-2.9.29# make  
gcc -DGFORM_GD=gdImagePng -g -O2 -Wall -Wpointer-arith -Wcast-align -Wmissing-declarations -Wnested-externs -Winline -W -DHAVE_CONFIG_H -c ./src/rateup.c -o bin/rateup.o  
In file included from /usr/include/string.h:360,  
...  
/usr/bin/perl -0777 -p -i~ -e 's@^#!\s*/\S*perl@#! /usr/bin/perl@' ./bin/cfgmaker ./bin/indexmaker ./bin/mrtg  
/usr/bin/perl -0777 -p -i~ -e 's@GRAPHFMT="...";@GRAPHFMT="png";@' ./bin/mrtg ./bin/indexmaker

root@Joker:/scambio/mrtg-2.9.29# make install  
/bin/sh ./mkinstalldirs /usr/local/mrtg/bin  
mkdir /usr/local/mrtg  
mkdir /usr/local/mrtg/bin  
...  
for x in ./doc/*.1; do \  
  /usr/bin/ginstall -c -m 644 $x /usr/local/mrtg/man/man1; done


INSTALLAZIONE DA RPM
Per quanto riguarda i pacchetti RPM aggiornati e' possibile trovarli sul sito di Henry Gomez <a href="http://ftp.falsehope.com/home/gomez/">http://ftp.falsehope.com/home/gomez/:  
[root@Enigma software]# wget http://ftp.falsehope.com/home/gomez/mrtg/mrtg-2.9.22-2.7.2.i386.rpm
--02:35:49--  http://ftp.falsehope.com/home/gomez/mrtg/mrtg-2.9.22-2.7.2.i386.rpm          
  => `mrtg-2.9.22-2.7.2.i386.rpm'  Resolving ftp.falsehope.com... done.  
Connecting to ftp.falsehope.com[12.163.168.5]:80... connected.  

HTTP request sent, awaiting response... 200 OK  
Length: 1,011,368 [application/x-rpm]  
100%[=================================================================================>] 1,011,368      4.87K/s    ETA 00:00  
02:39:13 (4.87 KB/s) - `mrtg-2.9.22-2.7.2.i386.rpm' saved [1011368/1011368]


In seguito si installa il pacchetto:  
[root@Enigma software]# rpm -ivh mrtg-2.9.22-2.7.2.i386.rpm
warning: mrtg-2.9.22-2.7.2.i386.rpm: V3 DSA signature: NOKEY, key ID 307a10a5  
Preparing...               ########################################### [100%]  
   1:mrtg                 ########################################### [100%]


CONFIGURAZIONE
Una volta installato, MRTG deve essere configurato in modo e quindi istruito su quali device di rete deve monitorare. Il file di configurazione e' mrtg.cfg e puo' essere generato grazie all'ausilio dell'utility cfgmaker fornita con il programma.  
root@Joker:/# /usr/local/mrtg-2/bin/cfgmaker \  
--global "Workdir: /home/homerweb/arnaldotest" \ Workdir indica la directory in cui verrano salvate le pagine HTML generate
--global "options[_]: bits, growright" \ Indica di utilizzare i bit com unita' di misura e che la direzione del grafico e' da sinstra a destra
--output /etc/mrtg.cfg \ Indica il percorso ed il nome del file di configurazione
jkrnet@joker
indica la password SNMP per l'apparato da interrogare
--base: Get Device Info on jkrnet@joker:  
--base: Vendor Id:  
--base: Populating confcache  
--snpo: confcache jkrnet@joker: Descr lo --> 1  
--snpo:confcache jkrnet@joker: Descr eth0 --> 2  
--snpo: confcache jkrnet@joker: Ip 127.0.0.1 --> 1  
--snpo: confcache jkrnet@joker: Ip 192.168.0.1 --> 2  
--snpo: confcache jkrnet@joker: Type 24 --> 1  
--snpo: confcache jkrnet@joker: Type 6 --> 2  
--snpo: confcache jkrnet@joker: Eth  --> 1  
--snpo: confcache jkrnet@joker: Eth 00-48-54-6e-e4-a2 --> 2  
--base: Get Interface Info  
--base: Walking ifIndex  
--base: Walking ifType  
--base: Walking ifAdminStatus  
--base: Walking ifOperStatus  
--base: Walking ifSpeed  
--base: Writing /etc/mrtg.cfg

Vengono acquisite le informazioni per la configurazione e generato il relativo file  
A questo punto MRTG ha tutti i dati necessari per essere avviato.

UTILIZZO DI MRTG  
E' possibile utilizzare MRTG in due modi, inserire una entry nel file di configurazione di crontab in modo da eseguirlo ad intervalli regolari, oppure avviarlo tra gli script di avvio come demone.
Per quanto riguarda l'utilizzo con crontab e' possibile inserire una riga di configurazione simile a:
root@Joker:/# crontab -l  
...  
# CONFIGURAZIONE MRTG  
*/5 * * * * /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg --logging /var/log/mrtg.log  
Esegue mrtg ogni 5 minuti, utilizzando come configurazione quanto definito in /etc/mrtg.cfg ed
eseguendo il log delle operazioni in /var/log/mrtg.log

Nel caso si voglia invece utilizzare MRTG come demone si deve aggiungere a mrtg.cfg la riga: RunAsDaemon: yes e richiamare tra gli script d'avvio MRTG.  
Una volta creato l'utente mrtg per avviare il programma e' possibile scrivere uno script d'avvio come:  
[root@Enigma /]# cat /etc/rc.d/init.d/mrtg  
#! /bin/sh  
cd /usr/local/mrtg/bin && ./mrtg --user=mrtg-user \  
/etc/mrtg.cfg  --logging /var/log/mrtg.log
  
In questo caso mrtg viene avviato con le credenziali dell'utente mrtg-user, leggendo
la configurazione /etc/mrtg.cfg e abilitando il logging
  
Infine sara' necessario inserire un link in /etc/rc3.d/ come S91mrtg per avviare MRTG quando il sistema entra nel runlevel 3.

Privacy Policy