Se i tutorial di questo sito vi sono stati di aiuto e volete contribuire al loro sviluppo e al loro mantenimento, potete fare delle donazioni in modo sicuro utilizzando PayPal. Il denaro raccolto sarà utilizzato per il mantenimento di questo sito, spese per l'utilizzo di banda e mantenimento del dominio. Grazie!

MRTG - Multi Router Traffic Grapher

Cos'é MRTG

MRTG é un software open source che permette di monitorare il traffico di un qualsiasi apparato dotato di server snmp
In questo tutorial vedremo come installare MRTG e un sever SNMP sotto Mac OS X

*a> Mac os X Developer tools: http://developer.apple.com/tools/
b> SNMP-AGENT http://www.dartware.com/net-snmp/net-snmp-5.0.1.dmg.gz
b> MRTG: Sorgente - Package installabile

*Necessari solo se volete compilare MRTG.
Entrambe i software sono disponibili in forma di package.

*a> Developer Tools
Come prima cosa assicuratevi di avere i Developer Tools installati. (Nella root del vostro disco dovete avere una cartella Developer). Nel caso non siano presenti scaricateli http://developer.apple.com/tools/ e installateli come un normale software applicativo per X (richiesta la password di amministratore).
Attenzione: i Developer tools pesano circa 200 Mb. e potrebbe essere un problema downloadarli, leggete su http://developer.apple.com/ i vari metodi per ottenere il software ad esempio su CD-ROM.
Con i Developer Tools potete ora compilare i source.

b> snmp-agent - NET-SNMP
Downlodate il software all'url http://www.dartware.com/net-snmp/net-snmp-5.0.1.dmg.gz. Una volta scaricato decomprimetelo con StuffIt e attivate l'immagine, semplicemente facendo doppio click sul file appena estratto. Aprite da Applicazioni>Utility il Teminale e digitate i seguenti comandi, riportati tra l'altro nel file README.TXT della distribuzione.

cd /Volumes/net-snmp-5.0.1
sudo ./install 5.0.1

Il software verrà installato nel vostro sistema automaticamente, per verificare l'installazione digitate nel terminale:

man snmpwalk

Vi sarà così mostrata la pagina di manuale di uno dei comandi appena installati.
Per eseguire una interrogazione SNMP utilizzate ad esempio:

snmpwalk -c <community string> <host>
Inserite ad esempio la community string public e come host l'ip del vostro router, otterrete tutte le informazioni riguardo a questo apparato.

Utilizzate invece questo comando per estrarre l'elenco delle interfacce "porte" del vostro router:

snmpwalk -c public <host> .1.3.6.1.2.1.2.2.1.2

oppure

snmpwalk -c public <host> .1.3.6.1.2.1.2.2.1.16

per estrarre lo stato dei contatori (ifOutOctets .1.3.6.1.2.1.2.2.1.16) riferiti a ogni singola interfaccia.

Potete trovare una montagna di informazioni su SNMP e MIB nel PDF http://www.cisco.com/warp/public/477/SNMP/faq-snmpcounter.pdf

c> MRTG
MRTG é un software scritto in perl, che tramite delle interrogazioni temporizzate SNMP salva in appositi log files i dati relativi all'interfaccia di uno o più apparati per poi proporli sotto veste di grafici. I grafici sono molto utili a scopo diagnostico e informativo.
Se volete installare MRTG partendo dai sorgenti allora seguite le istruzioni (in inglese) disponibili all'URL http://www.stepwise.com/Articles/Workbench/2001-11-13.01.html (sconsigliato ad utenti poco esperti), assicurandovi di avere i Developer tools installati come descritto nel punto (a>).
MRTG: http://www.mrtg.org
Le istruzioni riportate sono molto dettagliate, ho provato a seguirle e nonostante qualche problemino con le GD (compilate come shared library) tutto ha funzionato per il meglio. Io consiglio comunque di utilizzare la comodissima compilazione per OS X jaguar disponibile per il download all'URL http://www.mosxsw.com/port/mrtg/mrtg-2.9.4-mosx.tgz
Per scaricare e installare questo software vi basterà semplicemente aprire il terminale e digitare questi semplici comandi:

cd /
mkdir -p downloads
cd downloads
curl -O http://www.mosxsw.com/port/mrtg/mrtg-2.9.4-mosx.tgz
tar xzvf mrtg-2.9.4-mosx.tgz
cd mrtg-2.9.4-mosx
sudo ./install.sh


Con questa operazione avete scaricato, decompresso e installato MRTG nella posizione /usr/local/mrtg-2/

Ora dovete configurare MRTG in modo tale da permettergli di leggere i dati dell'interfaccia dell'apparato che volete monitorare.
Come prima cosa é necessario interrogare il vostro apparato con snmpwalk, il comando installato al punto (b>)
Vi propongo qui sotto la configurazione minima per eseguire in "monitoring" di una interfaccia:

#Inizio parte comune
RunAsDaemon: yes
WorkDir: /<posizione pagine html e grafici>
#fine parte comune
#
#duplica per monitorare più interfacce
Target[nome]: 2:public@<host>
MaxBytes[nome]: 80000
Title[nome]: Traffic Analysis
PageTop[nome]: <H1>Titolo della pagina</H1>
#fine dupica

Il 2 scritto in rosso rappresenta il numero dell'interfaccia da monitorare ricavato con il comando:

snmpwalk -c public <host> .1.3.6.1.2.1.2.2.1.9

Qui sotto potete vedere l'esempio di una interrogazione, le interfacce 1 e 2 hanno il valore di uptime superiore a 0 ma solo la 2 ha un valore che varia nel tempo, ed é presumibilmente l'interfaccia dalla quale passa il traffico della vostra rete.

IF-MIB::ifLastChange.1 = Timeticks: (700) 0:00:07.00
IF-MIB::ifLastChange.2 = Timeticks: (97105600) 11 days, 5:44:16.00
IF-MIB::ifLastChange.3 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.4 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.5 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.6 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.7 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.8 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.9 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.10 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.11 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.12 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.13 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.14 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.15 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.16 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.17 = Timeticks: (0) 0:00:00.00

Per creare il vostro file di configurazione dal Terminale battete:

sudo pico /etc/mrtg.cfg

Multi router Traffic Grapher
MRTG: http://www.mrtg.org
Copia l'esempio e incollalo nella finestra del terminale, poi applicate i seguenti cambiamenti:
Specificate come Target [ Target[nome]: 2:public@<host> ] l''istanza (il numero IF-MIB::ifLastChange.N) dell'interfaccia sulla quale volete effettuare il "polling", la vostra community string nel caso essa non sia public e l'host.

Configurate il parametro della workdirectory alla voce [ WorkDir: /<posizione pagine html e grafici> ], indicando il path assoluto dove volete scrivere le pagine HTML di report generate dallo script. [es. /Users/kanta/sites/traffico/].

Cambiate il parametro [nome] in tutte le righe, questo é il nome che prenderanno i vostri file es. serial.html, serial.png etc...

Sostituite PageTop[nome]: <H1>Titolo della pagina</H1> con il titolo che volete dare alla pagina

Sostituite MaxBytes[nome]: 256000 con il valore massimo trasferibile dalla vostra rete es. 256000 corrisponde a una rete a 2megabit/s

Premi ctrl+x per uscire da pico e y per confermare il salvataggio del file.

La vostra workdir deve essere "writable" da MRTG per fare ciò dovete eseguire:

sudo chmod 755 <la workdir>

Ora potete avviare MRTG

cd /usr/local/mrtg-2/bin
sudo ./mrtg /etc/mrtg.cfg

e otterrete un risultato simile a questo: http://www.kdev.it/traffic/ser.html
Il polling ha un tempo di refresh automatico di 5 minuti.
Per ulterirori informazioni sulla configurazione e su MRTG vedi:

Utility di configurazione incluse in MRTG
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/cfgmaker.html
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/indexmaker.html


Se avete riscontrato qualche problema nelle istruzioni, o necessitate chiarimenti o approfondimenti scrivete a info@kdev.it


< torna alla home