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:
[email protected]:/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:
[email protected]:/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:
[email protected]:/scambio$ cd mrtg-2.9.29
[email protected]:/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
:
[email protected]:/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 '[email protected]^#!\s*/\S*[email protected]#! /usr/bin/[email protected]' ./bin/cfgmaker ./bin/indexmaker ./bin/mrtg
/usr/bin/perl -0777 -p -i~ -e '[email protected]="...";@GRAPHFMT="png";@' ./bin/mrtg ./bin/indexmaker
[email protected]:/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/:
[[email protected] 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:
[[email protected] 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.
[email protected]:/# /usr/local/mrtg-2/bin/cfgmaker \
indica la password SNMP per l'apparato da interrogare
--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
[email protected]
--base: Get Device Info on [email protected]:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache [email protected]: Descr lo --> 1
--snpo:confcache [email protected]: Descr eth0 --> 2
--snpo: confcache [email protected]: Ip 127.0.0.1 --> 1
--snpo: confcache [email protected]: Ip 192.168.0.1 --> 2
--snpo: confcache [email protected]: Type 24 --> 1
--snpo: confcache [email protected]: Type 6 --> 2
--snpo: confcache [email protected]: Eth --> 1
--snpo: confcache [email protected]: 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:
[email protected]:/# 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:
[[email protected] /]# 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.