1 487
contributi
m (→Apache: formattazione) |
m (→Configurazione Automatizzata: formattazione) |
||
Riga 1: | Riga 1: | ||
==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: | ||
<pre> | |||
# apt-get install mrtg mrtg-contrib librrds-perl snmpd snmp | |||
</pre> | |||
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: | |||
<pre> | |||
com2sec paranoid default public | |||
#com2sec readonly default public | |||
#com2sec readwrite default private | |||
</pre> | |||
diventino: | |||
<pre> | |||
#com2sec paranoid default public | |||
com2sec readonly 127.0.0.1 public | |||
#com2sec readwrite default private | |||
</pre> | |||
Una volta salvato il tutto, riavviamo snmpd con un semplice: | |||
<pre> | |||
# /etc/init.d/snmpd restart (oppure reload) | |||
</pre> | |||
===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: | |||
<pre> | |||
# 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> | |||
</pre> | |||
Il comando per generare il file di configurazione di mrtg è il seguente: | |||
<pre> | |||
# cfgmaker public@localhost --output=/etc/mrtg.cfg | |||
</pre> | |||
Le opzioni più interessanti sono (degne di nota...):<br/> | |||
; --enable-ipv6 : che abilità l'ipv6<br/> | |||
; --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: | |||
<pre> | |||
velocità_in_Kbit/sec * 1000 / 8 = Velocità_in_Byte/sec | |||
</pre> | |||
Ecco una tabellina delle velocità più comuni: | |||
<pre> | |||
------------------------------------------ | |||
| 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 | | |||
------------------------------------------ | |||
</pre> | |||
====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 | |||
<pre> | |||
# snmpwalk -v 1 -c public localhost interfaces.ifTable.ifEntry.ifDescr | |||
</pre> | |||
Si riceverà un output simile a questo: | |||
<pre> | |||
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 | |||
</pre> | |||
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: | |||
<pre> | |||
WorkDir: /var/www/mrtg | |||
EnableIPv6: no | |||
</pre> | |||
Una volta terminata la scrittura del file di configurazione, è possibile controllarne l'esattezza con un | |||
<pre> | |||
# mrtg --check <config_file$gt; | |||
</pre> | |||
===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: | |||
<pre> | |||
# chowm root:root /var/www/mrtg | |||
# chmod 744 /var/www/mrtg | |||
</pre> | |||
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 | |||
<pre> | |||
# indexmaker --clicktext --title="Spirit MRTG" --output=index.html /etc/mrtg.cfg | |||
</pre> | |||
è sufficiente per creare una homepage di introduzione. | |||
Riporto alcune delle opzioni più importanti:<br/> | |||
; --clicktext : rende clickabile anche la descrizione dei grafici<br/> | |||
;--title str : Imposta il titolo della pagina<br/> | |||
;--output file : Scrive su 'file' al posto di riversare il contenuto sullo STDOUT<br/> | |||
;--show=str : Imposta che immagine mostrare (posibili opzioni: day, week, month, year, none)<br/> | |||
==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). | |||
---- [[User:MaXeR|MaXeR]] |
contributi