Mrtg: monitoriamo la banda: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
==Introduzione== | ==Introduzione== | ||
Spesso | Spesso è utile monitorare la banda utilizzata da un server (od anche da un computer), per vedere se sono presenti anomalie, per vedere l'andamento del traffico, etc... | ||
MRTG (Multi Router Traffic Grapher: http://www.mrtg.it/) ci viene in aiuto, permettendoci di monitorare efficacemente la banda utilizzata tramite dei comodissimi grafici. | MRTG (Multi Router Traffic Grapher: http://www.mrtg.it/) ci viene in aiuto, permettendoci di monitorare efficacemente la banda utilizzata tramite dei comodissimi grafici. | ||
Vediamo come installarlo e configurarlo in Debian. | Vediamo come installarlo e configurarlo in Debian. | ||
Riga 8: | Riga 8: | ||
==Installazione== | ==Installazione== | ||
Per installare mrtg, | Per installare mrtg, è sufficiente dare il seguente comando: | ||
<pre> | <pre> | ||
# apt-get install mrtg mrtg-contrib librrds-perl snmpd snmp | # apt-get install mrtg mrtg-contrib librrds-perl snmpd snmp | ||
</pre> | </pre> | ||
Oltre a mrtg, | Oltre a mrtg, verrà installato il server snmpd ed il suo client. | ||
==Configurazione== | ==Configurazione== | ||
La configurazione | La configurazione può sembrare un po' 'articolata' e 'difficile', ma non è così... | ||
Procediamo per passi: | Procediamo per passi: | ||
Riga 45: | Riga 45: | ||
===Mrtg=== | ===Mrtg=== | ||
Per la configurazione di MRTG possiamo scegliere due vie: quella automatizzata, che consiglio, e quella un po' | Per la configurazione di MRTG possiamo scegliere due vie: quella automatizzata, che consiglio, e quella un po' più manuale (che analizzeremo ed invito a leggere, così per capire un po' di più come funziona MRTG). | ||
Riga 51: | Riga 51: | ||
Per creare il file di configurazione mrtg.conf ci viene in aiuto cfgmaker, che ha proprio questa funzione. | Per creare il file di configurazione mrtg.conf ci viene in aiuto cfgmaker, che ha proprio questa funzione. | ||
Lo utilizzeremo con la sua sintassi base, visto che non abbiamo particolari esigenze. | Lo utilizzeremo con la sua sintassi base, visto che non abbiamo particolari esigenze. | ||
Prima di generarlo, | Prima di generarlo, però, è utile modificare il file '''/etc/snmpd/snmpd.local.conf''' (che viene letto prima di '''/etc/snmpd/snmpd.conf'''), per personalizzare un po' il server: modifichiamo il file '''/etc/snmpd/snmpd.local.conf''' con il nostro editor preferito, rendendolo simile a questo: | ||
<pre> | <pre> | ||
# Il nome del Server | # Il nome del Server | ||
Riga 62: | Riga 62: | ||
syslocation Verona | syslocation Verona | ||
# Chi | # Chi è il responsabile | ||
syscontact MaXeR <maxer@knio.it> | syscontact MaXeR <maxer@knio.it> | ||
</pre> | </pre> | ||
Il comando per generare il file di configurazione di mrtg | Il comando per generare il file di configurazione di mrtg è il seguente: | ||
<pre> | <pre> | ||
# cfgmaker public@localhost --output=/etc/mrtg.cfg | # cfgmaker public@localhost --output=/etc/mrtg.cfg | ||
Riga 73: | Riga 73: | ||
Le opzioni | Le opzioni più interessanti sono (degne di nota...): | ||
'''--enable-ipv6''' che | '''--enable-ipv6''' che abilità l'ipv6 | ||
'''--output <file>''' che redirige l'output su un file, al posto dello STDOUT. | '''--output <file>''' che redirige l'output su un file, al posto dello STDOUT. | ||
Il programma genera un file (l'output del comando | Il programma genera un file (l'output del comando è allegato nel file 'cfgmaker'), contenente la configurazione (diviso, per la precisione in due parti: la prima con le impostazioni generali e la seconda con quelle specifiche per ogni interfacia). | ||
Le impostazioni specifiche per ogni interfaccia sono quelle che ci interessano: alcune sono | Le impostazioni specifiche per ogni interfaccia sono quelle che ci interessano: alcune sono già decommentate (di norma quelle relative alle schede di rete), ed altre sono disattivate, con la motivazione riportata nei commenti a quel blocco. | ||
Prendiamo in esame l'interfaccia ppp0. | Prendiamo in esame l'interfaccia ppp0. | ||
Per renderla operativa decommentiamola ed effettuiamo delle sostituzioni. Quella sezione dovrebbe diventare simile a quella contenuta nell'allegato 'mrtg_ppp0' (in cui le parti modificate sono racchiuse tra 2 '##'). | Per renderla operativa decommentiamola ed effettuiamo delle sostituzioni. Quella sezione dovrebbe diventare simile a quella contenuta nell'allegato 'mrtg_ppp0' (in cui le parti modificate sono racchiuse tra 2 '##'). | ||
Una sostituzione che potrebbe creare problemi | Una sostituzione che potrebbe creare problemi è la velocità dell'interfaccia. In realtà si tratta di una semplice conversione: | ||
<pre> | <pre> | ||
velocità_in_Kbit/sec * 1000 / 8 = Velocità_in_Byte/sec | |||
</pre> | </pre> | ||
Ecco una tabellina delle | Ecco una tabellina delle velocità più comuni: | ||
<pre> | <pre> | ||
------------------------------------------ | ------------------------------------------ | ||
Riga 109: | Riga 109: | ||
====Configurazione Manuale==== | ====Configurazione Manuale==== | ||
La configurazione manuale | La configurazione manuale è un po' più complessa (o forse macchinosa), analizziamola! | ||
Per creare il file di configurazione di mrtg, dobbiamo sapere quali interfacce sono presenti sulla nostra macchina. | Per creare il file di configurazione di mrtg, dobbiamo sapere quali interfacce sono presenti sulla nostra macchina. | ||
Riga 117: | Riga 117: | ||
</pre> | </pre> | ||
Si | Si riceverà un output simile a questo: | ||
<pre> | <pre> | ||
IF-MIB::ifDescr.1 = STRING: bond0 | IF-MIB::ifDescr.1 = STRING: bond0 | ||
Riga 133: | Riga 133: | ||
Leggendolo dobbiamo annotarci i numeri riferiti alle interfacce che vogliamo prendere in considerazione. | Leggendolo dobbiamo annotarci i numeri riferiti alle interfacce che vogliamo prendere in considerazione. | ||
ppp0, ad esempio, | ppp0, ad esempio, è associata al numero 11. | ||
Possiamo, quindi, procedere a creare il nostro file di configurazione, completando lo schema presente nell'allegato 'mrtg_es', avendo cura di sostituire ad '______' i dati in nostro possesso. Ricordiamoci, inoltre, di inserire all'inizio del file le opzioni di carattere generale: | Possiamo, quindi, procedere a creare il nostro file di configurazione, completando lo schema presente nell'allegato 'mrtg_es', avendo cura di sostituire ad '______' i dati in nostro possesso. Ricordiamoci, inoltre, di inserire all'inizio del file le opzioni di carattere generale: | ||
Riga 141: | Riga 141: | ||
</pre> | </pre> | ||
Una volta terminata la scrittura del file di configurazione, | Una volta terminata la scrittura del file di configurazione, è possibile controllarne l'esattezza con un | ||
<pre> | <pre> | ||
# mrtg --check <config_file$gt; | # mrtg --check <config_file$gt; | ||
Riga 149: | Riga 149: | ||
===Apache=== | ===Apache=== | ||
Ipotizziamo Apache | Ipotizziamo Apache già installato e configurato per avere la propria root in '''/var/www'''. | ||
Controlliamo l'esistenza della directory indicata nel file di configurazione precedentemente creato: /var/www/mrtg, altrimenti creiamola ed impostiamo i permessi: | Controlliamo l'esistenza della directory indicata nel file di configurazione precedentemente creato: /var/www/mrtg, altrimenti creiamola ed impostiamo i permessi: | ||
Riga 158: | Riga 158: | ||
Mrtg si occupa di inserire immagini e pagine html nella directory specificata nel file di configurazione. | Mrtg si occupa di inserire immagini e pagine html nella directory specificata nel file di configurazione. | ||
Volendo, possiamo creare una pagina index.html, | Volendo, possiamo creare una pagina index.html, così da offrire una visuale generale del traffico (e rendendo più elegante e comoda la consultazione). | ||
Un semplice | Un semplice | ||
<pre> | <pre> | ||
Riga 164: | Riga 164: | ||
</pre> | </pre> | ||
è sufficiente per creare una homepage di introduzione. | |||
Riporto alcune delle opzioni | Riporto alcune delle opzioni più importanti: | ||
'''--clicktext''' rende clickabile anche la descrizione dei grafici | '''--clicktext''' rende clickabile anche la descrizione dei grafici | ||
'''--title str''' Imposta il titolo della pagina | '''--title str''' Imposta il titolo della pagina | ||
Riga 175: | Riga 175: | ||
==Conclusioni== | ==Conclusioni== | ||
Mrtg | Mrtg è un ottimo tool, che offre dei risultati molto semplici da interpretare quando preziosi. | ||
Lo ritengo indispensabile, sia sui server, sia sui computer desktop con un accesso ad internet fisso (ADSL o simili). | Lo ritengo indispensabile, sia sui server, sia sui computer desktop con un accesso ad internet fisso (ADSL o simili). |
Versione delle 18:36, 13 mag 2005
Introduzione
Spesso è utile monitorare la banda utilizzata da un server (od anche da un computer), per vedere se sono presenti anomalie, per vedere l'andamento del traffico, etc... MRTG (Multi Router Traffic Grapher: http://www.mrtg.it/) ci viene in aiuto, permettendoci di monitorare efficacemente la banda utilizzata tramite dei comodissimi grafici. Vediamo come installarlo e configurarlo in Debian. La macchina usata per le prove monta Debian Sarge.
Installazione
Per installare mrtg, è sufficiente dare il seguente comando:
# apt-get install mrtg mrtg-contrib librrds-perl snmpd snmp
Oltre a mrtg, verrà installato il server snmpd ed il suo client.
Configurazione
La configurazione può sembrare un po' 'articolata' e 'difficile', ma non è così... Procediamo per passi:
Snmpd
Dobbiamo configurare il server SNMP, permettendone l'accesso il lettura al computer che esegue mrtg (nel nostro caso 127.0.0.1). Per fare questo, modifichiamo il file /etc/snmp/snmpd.conf con il nostro editor di testo preferito, e facciamo in modo che le righe:
com2sec paranoid default public #com2sec readonly default public #com2sec readwrite default private
diventino:
#com2sec paranoid default public com2sec readonly 127.0.0.1 public #com2sec readwrite default private
Una volta salvato il tutto, riavviamo snmpd con un semplice:
# /etc/init.d/snmpd restart (oppure reload)
Mrtg
Per la configurazione di MRTG possiamo scegliere due vie: quella automatizzata, che consiglio, e quella un po' più manuale (che analizzeremo ed invito a leggere, così per capire un po' di più come funziona MRTG).
Configurazione Automatizzata
Per creare il file di configurazione mrtg.conf ci viene in aiuto cfgmaker, che ha proprio questa funzione. Lo utilizzeremo con la sua sintassi base, visto che non abbiamo particolari esigenze. Prima di generarlo, però, è utile modificare il file /etc/snmpd/snmpd.local.conf (che viene letto prima di /etc/snmpd/snmpd.conf), per personalizzare un po' il server: modifichiamo il file /etc/snmpd/snmpd.local.conf con il nostro editor preferito, rendendolo simile a questo:
# Il nome del Server sysname Spirit # La descrizione della macchina sysdescr MaXeR's Server # La locazione della macchina syslocation Verona # Chi è il responsabile syscontact MaXeR <maxer@knio.it>
Il comando per generare il file di configurazione di mrtg è il seguente:
# cfgmaker public@localhost --output=/etc/mrtg.cfg
Le opzioni più interessanti sono (degne di nota...):
--enable-ipv6 che abilità l'ipv6
--output <file> che redirige l'output su un file, al posto dello STDOUT.
Il programma genera un file (l'output del comando è allegato nel file 'cfgmaker'), contenente la configurazione (diviso, per la precisione in due parti: la prima con le impostazioni generali e la seconda con quelle specifiche per ogni interfacia). Le impostazioni specifiche per ogni interfaccia sono quelle che ci interessano: alcune sono già decommentate (di norma quelle relative alle schede di rete), ed altre sono disattivate, con la motivazione riportata nei commenti a quel blocco. Prendiamo in esame l'interfaccia ppp0. Per renderla operativa decommentiamola ed effettuiamo delle sostituzioni. Quella sezione dovrebbe diventare simile a quella contenuta nell'allegato 'mrtg_ppp0' (in cui le parti modificate sono racchiuse tra 2 '##').
Una sostituzione che potrebbe creare problemi è la velocità dell'interfaccia. In realtà si tratta di una semplice conversione:
velocità_in_Kbit/sec * 1000 / 8 = Velocità_in_Byte/sec
Ecco una tabellina delle velocità più comuni:
------------------------------------------ | Kbit | Byte | Descrizione | | 56 | 7000 | DialUp 56K | | 64 | 8000 | ISDN | | 128 | 16000 | ISDN Dual | | 320 | 40000 | ADSL 320 | | 640 | 80000 | ADSL 640 | | 1000 | 125000 | 1 Mbit | | 1280 | 160000 | ADSL 1280 | | 2000 | 250000 | FastWeb 2Mbit | | 2560 | 320000 | ADSL 2560 | | 4000 | 500000 | FastWeb 4Mbit | | 10000 | 1250000 | 10Mbit | | 100000 | 12500000 | 100Mbit | | 1000000 | 125000000 | 1Gbit | ------------------------------------------
Configurazione Manuale
La configurazione manuale è un po' più complessa (o forse macchinosa), analizziamola!
Per creare il file di configurazione di mrtg, dobbiamo sapere quali interfacce sono presenti sulla nostra macchina. Per fare questo usiamo il comando
# snmpwalk -v 1 -c public localhost interfaces.ifTable.ifEntry.ifDescr
Si riceverà un output simile a questo:
IF-MIB::ifDescr.1 = STRING: bond0 IF-MIB::ifDescr.2 = STRING: lo IF-MIB::ifDescr.3 = STRING: shaper0 IF-MIB::ifDescr.4 = STRING: dummy0 IF-MIB::ifDescr.5 = STRING: eth0 IF-MIB::ifDescr.6 = STRING: eth1 IF-MIB::ifDescr.7 = STRING: teql0 IF-MIB::ifDescr.8 = STRING: tunl0 IF-MIB::ifDescr.9 = STRING: gre0 IF-MIB::ifDescr.10 = STRING: sit0 IF-MIB::ifDescr.11 = STRING: ppp0
Leggendolo dobbiamo annotarci i numeri riferiti alle interfacce che vogliamo prendere in considerazione. ppp0, ad esempio, è associata al numero 11.
Possiamo, quindi, procedere a creare il nostro file di configurazione, completando lo schema presente nell'allegato 'mrtg_es', avendo cura di sostituire ad '______' i dati in nostro possesso. Ricordiamoci, inoltre, di inserire all'inizio del file le opzioni di carattere generale:
WorkDir: /var/www/mrtg EnableIPv6: no
Una volta terminata la scrittura del file di configurazione, è possibile controllarne l'esattezza con un
# mrtg --check <config_file$gt;
Apache
Ipotizziamo Apache già installato e configurato per avere la propria root in /var/www.
Controlliamo l'esistenza della directory indicata nel file di configurazione precedentemente creato: /var/www/mrtg, altrimenti creiamola ed impostiamo i permessi:
# chowm root:root /var/www/mrtg # chmod 744 /var/www/mrtg
Mrtg si occupa di inserire immagini e pagine html nella directory specificata nel file di configurazione. Volendo, possiamo creare una pagina index.html, così da offrire una visuale generale del traffico (e rendendo più elegante e comoda la consultazione). Un semplice
# indexmaker --clicktext --title="Spirit MRTG" --output=index.html /etc/mrtg.cfg
è sufficiente per creare una homepage di introduzione.
Riporto alcune delle opzioni più importanti: --clicktext rende clickabile anche la descrizione dei grafici --title str Imposta il titolo della pagina --output file Scrive su 'file' al posto di riversare il contenuto sullo STDOUT --show=str Imposta che immagine mostrare (posibili opzioni: day, week, month, year, none)
Conclusioni
Mrtg è un ottimo tool, che offre dei risultati molto semplici da interpretare quando preziosi. Lo ritengo indispensabile, sia sui server, sia sui computer desktop con un accesso ad internet fisso (ADSL o simili).