M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico...

28
MULTI MRTG = ROUTER TRAFFIC

Transcript of M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico...

Page 1: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MULTI

MRTG = ROUTER

TRAFFIC

GRAPHER

Page 2: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG• Strumento che serve a monitorare il carico di

traffico esistente sui link di una rete traffico di dati “passanti” per uno o più router

• Genera pagine HTML contenenti immagini grafiche che forniscono una rappresentazione visiva “LIVE” di tale traffico.

• Basato sui linguaggi perl e C e gira sotto UNIX/ LINUX, WINDOWS e MAC OS

Page 3: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

UN PO’ DI STORIA• Implementato per la prima volta nel ’94

unicamente in perl difetto lentezza

• Riscrittura nel ’96 di alcune parti in C aumento della velocità di 40 volte

• Successive modifiche degli utenti grazie alla disponibilità del codice sorgente MRTG è soggetto alla GNU GPL

Page 4: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

GNU GPL (General Public License)

Pubblicata dalla Free Software Foundation programmi “free” o “open source”:

– FREE come LIBERTA’ di: copiare, modificare, ridistribuire dichiarando il proprio operato in modo da evitare perdite di reputazione

– L’unico prezzo che può esser fatto pagare è quello inerente ai costi di distribuzione fisica

– OPEN SOURCE significa che il codice sorgente è aperto a tutti coloro che vogliono contribuire a migliorare il programma o che vogliono riutilizzarlo, anche in parte, per implementare un altro programma, anch’esso soggetto a GPL parti di “codice free” non possono infatti essere inclusi in “programmi proprietari”.

Page 5: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: struttura

MRTG consiste essenzialmente in:

1) un programma principale in C che si occupa:- del “logging” (tenere traccia) del traffico monitorato- della creazione dei grafici rappresentanti il traffico

stessoGrazie al C tutto questo avviene in maniera molto efficiente (maggiore velocità rispetto al perl)

2) script perl eseguiti dal programma principale: grazie a loro (tramite il protocollo SNMP) è possibile eseguire delle query verso il nodo da monitorare e leggere ad esempio i contatori di traffico di un router

Page 6: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: componenti necessari

Per poter funzionare MRTG ha bisogno di:

I. un interprete del perl e l’interprete GNU per C (GCC), se non è già installato

II. tre pacchetti di librerie: 1) GD 2) LIBPNG 3) ZLIB

III. i file di installazione di MRTG

IV. (un manager e) uno o più agent SNMP

V. un webserver

Page 7: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: componenti necessari

I. Un interprete del perl e un interprete GNU per C (GCC) :

l’interprete perl è disponibile liberamente all’indirizzo http://www.activeperl.com (l’eseguibile che ad es. possiamo scaricare è “APi522e.exe”)

per le macchine UNIX/LINUX occorre un interprete per C detto GCC che di solito è già compreso nelle diverse distribuzioni LINUX, comunque liberamente scaricabile

Page 8: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: componenti necessari

II. tre pacchetti di librerie:

1) GD come libreria grafica di base 2) la libreria LIBPNG (richiesta dalla GD) per la creazione di files.png 3) ZLIB (richiesta a sua volta da LIBPNG) che serve alla compressione dei file di immagine

Per poter creare e gestire i grafici queste librerie devono essereinstallate perciò nell’ordine inverso 3), 2), 1) prima che venga installato MRTG: così facendo i grafici saranno generati direttamentenel formato PNG-8 (molto simile al formato GIF e supportato da quasitutti i browser) tramite GD (pacchetto di libreria grafica che crea ancheimmagini GIF o JPEG)

Page 9: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: componenti necessari

III. I file di installazione di MRTG

l’ URL di riferimento per il free downolad è:

http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub

Page 10: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: componenti necessari

IV. (Un manager e) uno o più agent SNMP:

SNMP = Simple Network Management Protocol:l’architettura dell’SNMP è di tipo client-server e comprende quindi due elementi:

1) l’AGENT (server):

programma in esecuzione in ognuno dei nodi della rete che devono essere monitorati: solitamente gli agent SNMP di un apparato di rete sono implementati nel firmware dello stesso, infatti gli SNMP agent sono in funzione sui device di rete: gli oggetti gestiti dagli agent, sono raccolti, in ogni device, in un database chiamato MIB (Management Information Base)

2) il MANAGER (client)(MRTG):

programma in esecuzione sulla macchina che controlla il traffico può decidere quali parametri della/e MIB monitorare e può effettuare interrogazioni communities private e pubbliche …

Page 11: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: componenti necessari IV. (Continua …)

L’utente della macchina client, dove risiede il manager SNMP, a seconda dei diritti che possiede può avere una o due password dette “communities” che possono essere pubblica o privata: la prima (default: “public”) permette solo di interrogare la/e MIB e l’altra (default: ”private”) di poter anche settare il numero e il tipo delle variabili da monitorare relative alle macchine sulle quali è attivo un agent SNMP.

La Management Station interroga gli agent SNMP i quali inviano le informazioni richieste. Gli oggetti gestiti dagli agent, sono raccolti, in ogni device (scheda di rete), in un database chiamato MIB (Management Information Base): esso contiene i parametri che possono essere tenuti sotto osservazione (anche ad es. quelli relativi ai vari protocolli utilizzati dalla macchina monitorata)

Page 12: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: componenti necessari IV. (Continua …)

All'interno di ogni MIB gli oggetti sono suddivisi in categorie, in particolare:  - System: contiene informazioni di carattere generale sul device di rete;  - Interfaces: contiene le informazioni relative alle interfacce di rete;  - Address Translation: contiene informazioni relative alla conversioni degli indirizzi (Es. da logico a fisico), esiste per compatibilà con MIB-I;  - Ip: contiene informazioni relative al protocollo IP;  - Icmp: contiene informazioni relative al protocollo ICMP;  - Tcp: contiene informazioni relative al protocollo TCP. Gli oggetti di questo gruppo esistono solo per la durate della sessione TCP;  - Udp: contiene informazioni relative al protocollo UDP;  - Egp: contiene informazioni relative al protocollo EGP (protocollo utilizzato da un router per scambiare informazioni tra Autonomous System);  - Transmission: sperimentale, contiene informazione sui mezzi trasmissione utilizzato da ogni interfaccia di rete ;  - Snmp: contiene informazioni relative al protocollo SNMP.

Page 13: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: componenti necessari

V. Un webserver :- ha il compito di visualizzare tramite un qualunque browser i grafici ottenuti

- deve essere installato e configurato sulla macchina client SNMP

sul sito ufficiale di MRTG è consigliato l’Apache:

(www.apache.org)

Page 14: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: come funziona

Concettualmente, MRTG interroga uno o più server SNMP per ricavarne le grandezze che indicano il traffico (tipicamente i contatori di pacchetto delle schede di rete).

MRTG permette non solo di monitorare il traffico ma anche di monitorare una qualsiasi variabile a scelta, anche non presente all’interno del database MIB, utilizzando in quest’ultimo caso un programma esterno per raccogliere i dati relativi ai parametri che vogliono essere monitorati: questo sottolinea la grande espansibilità di questo programma.

Page 15: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: come funziona

MRTG permette, tramite una comoda interfaccia web (browser), di mostrare l’evoluzione storica (grafici) di una qualsiasi risorsa, quali il carico di lavoro di una CPU, l’occupazione di un disco, il numero di processi o di utenti di una data macchina, ecc.

Il server da interrogare deve avere il servizio (agent) SNMP attivo per accettare ed eseguire interrogazioni esterne, mentre il client deve disporre di un server web che visualizzi i grafici ottenuti tramite le interrogazioni effettuate (con il manager SNMP che in questo caso è l’MRTG stesso).

Page 16: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: come funzionaMRTG crea grafici relativi a:una vista giornaliera dettagliatatraffico osservato negli ultimi 7 giornitraffico osservato nelle ultime 5 settimane traffico osservato negli ultimi 12 mesi

MRTG mantiene un log di tutti i dati che estrae e gestisce i dati efficientemente tramite un database per ogni parametro osservato: ogni database è automaticamente consolidato in modo da contenere i dati rilevanti per tutti i traffici osservati senza mai intasare il disco poiché più passa il tempo e più si perde dettaglio.

Page 17: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.
Page 18: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.
Page 19: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: come funziona Poiché si possono monitorare più di 200 nodi contemporaneamente, MRTG

utilizza l’UDP (User Datagram Protocol) in modo da ottenere migliori performance (in particolare viene utilizzata la porta UDP 161 per le interrogazioni e le risposte, e la porta UDP 162 come destinazione dei messaggi trap SNMP generate dagli agent SNMP).

possibilità di perdite di pacchetti per diversi motivi: - per elevata congestione

- per router che non riescono a smaltire le troppe richieste - per buffer in overflow - problemi di telecomunicazione, ecc. …

Alle perdite di dati MRTG può ovviare in due modi:

1) viene attivata l’opzione “unknaszero”, viene cioè preso come valore il valore di default, che è zero linea verticale sul grafico2) non viene attivata “unknaszero” MRTG farà una stima basata sull’ultima risposta ricevuta che si presume sia più prossima alla realtà rispetto allo zero, soprattutto se il livello di congestione non è eccessivamente elevato: questo eviterà interruzioni nette nell’andamento del grafico.

Page 20: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: come funziona

MRTG consente inoltre di stabilire delle soglie di allarme per qualsiasi parametro posto sotto controllo, al cui superamento possono farsi corrispondere delle azioni di “problem notify/solve” automatiche (invio di e-mail di avviso, avvio di procedure di protezione, ecc.) (trap)

All’uopo è stato quindi prodotto un set di files di configurazione di MRTG e di script di controllo relativi a tutti i parametri più importanti che si vogliono controllare: carico CPU, spazio disco occupato/disponibile, numero di utenti/processi, memoria occupata/disponibile, traffico di rete in entrata ed in uscita attraverso la scheda di rete di un nodo, uno switch o un router, latenza di rete (RTT) ai capi di una connessione punto-punto

Page 21: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: i files di configurazione

Ad ogni nodo da osservare corrisponde un file di configurazione creato tramite l’utility “cfgmaker” fornita da MRTG stesso: cfgmaker permette una configurazione automatizzata dei parametri:

Page 22: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: i files di configurazione Tipicamente, in un file di configurazione sono specificate:

la directory che MRTG deve utilizzare per organizzare i log

il formato (struttura) del log (ad es. RRDTOOL) la directory dove mantenere i grafici le impostazioni dell’intervallo di tempo che deve

trascorrere tra una “chiamata” e l’altra del programma alle quali seguiranno gli aggiornamenti dei grafici:

l’intervallo è di default 5 minuti, ma l’organizzazione dati fornita dall’RRDTOOL permette di abbassarlo fino a meno di 1 minuto (“crontab”)

altre opzioni (come ad es. la lingua utilizzata)

Page 23: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: l’index-maker

L’INDEX-MAKER è un altro “tool” che ci fornisce MRTG:

esso serve alla creazione della home page creando dei links che permettono di visualizzare, tramite il server web presente nella “macchina osservatrice”, i grafici relativi ai diversi parametri (di una o più macchine) che devono essere monitorati.

Page 24: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.
Page 25: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: installazioneI passi principali generici di installazione in ordine sequenziale sono:

1) installazione di un interprete perl (e del GCC:http://gcc.gnu.org/);2) Installazione (con successiva configurazione) di un server web (apache)3) installazione delle librerie grafiche:

(http://libpng.sourceforge.net/) per scaricare libpng(http://www.zlib.net) per scaricare gzip(http://www.boutell.com/gd/) per scaricare GD

3) installazione di MRTG;4) installazione delle componenti SNMP (gli agent sono di solito già

implementati nei device di rete);5) customizzazione dei files di configurazione tramite cfgmaker sia nel/nei

server sia nel client SNMP;6) creazione dell’home page con i link relativi al/i router, con i diversi parametri

da monitorare, tramite l’index-maker.

Dopo questi steps dovremmo essere in grado di eseguire MRTG; l’installazione comunque non è delle più semplici anche perché è soggetta a delle varianti a seconda del sistema operativo che utilizziamo nelle macchine che costituiscono il nostro sistema di “monitoraggio”.

Page 26: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: installazione

Il sito ufficiale dell’MRTG è abbastanza dettagliato e offre buona assistenza a chi voglia installare questo programma sotto UNIX/LINUX (compilando sia da sorgenti sia da rpm con la Red Hat), mentre l’assistenza è scarsa per Windows (esiste infatti una versione apposita del programma per Windows (PRTG))

L’URL del sito ufficiale è:

www.mrtg.org

Page 27: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

MRTG: installazione

Se invece si utilizza il mac OS occorre:

1. Installare i developer tools:

http://developer.apple.com/tools/

2. Scaricare e installare il sw snmp-agent-NET-SNMP

3. Scaricare e installare le librerie grafiche: al posto della zlib è richiesta la jpeg-6b

(ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz )

4. Scaricare e installare MRTG

(http://www.mosxsw.com/port/mrtg/mrtg-2.9.4-mosx.tgz)

Page 28: M ULTI MRTG = R OUTER T RAFFIC G RAPHER. MRTG Strumento che serve a monitorare il carico di traffico esistente sui link di una rete traffico di dati passanti.

THE END