Mrtg: monitoriamo la banda: differenze tra le versioni

m
versioni compatibili
m (versioni compatibili)
 
(14 versioni intermedie di 7 utenti non mostrate)
Riga 1: Riga 1:
==Prefazione==
{{Versioni compatibili|Jessie|Stretch|Buster}}
==Introduzione==


Questa � una guida introduttiva all'uso del cellulare come modem bluetooth.
Spesso è utile monitorare la banda utilizzata da un server (o anche da un computer), per vedere se sono presenti anomalie, verificare l'andamento del traffico, etc.
MRTG (Multi Router Traffic Grapher: http://www.mrtg.org/) 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.


Tale guida � utilizzabile anche per altri sistemi operativi (oltre Debian) dotati di kernel Linux.
==Installazione==


I file che per essere editati necessitino dei privilegi di root, possono essere aperti (conoscendo la password) con il seguente comando:
Per installare mrtg, è sufficiente dare il seguente comando:
<pre>
# apt-get install mrtg mrtg-contrib librrds-perl snmpd snmp
</pre>


<pre>su -c "gedit nome_del_file_da_editare"</pre> su GNOME, e
Oltre a mrtg, verrà installato il server snmpd ed il suo client.
<pre>su -c "kwrite nome_del_file_da_editare"</pre> su KDE.




In alternativa al comando su, � possibile usare sudo (appositamente configurato).
==Configurazione==


==Software necessario==
La configurazione può sembrare un po' 'articolata' e 'difficile', ma non è così.
Procediamo per gradi:


Per l'utilizzo di un dispositivo bluetooth � necessario installare "The official Linux Bluetooth protocol stack", cio� BlueZ.
===Snmpd===
Successivamente bisognerebbe abilitare, anche, il supporto al Point-to-Point Protocol, pi� genericamente conosciuto come PPP, nel kernel. Ma di solito lo � gi� di default.


===Sorgenti===
Dobbiamo configurare il server SNMP, permettendone l'accesso il lettura al computer che esegue mrtg (nel nostro caso 127.0.0.1).
:I sorgenti sono scaricabili come tarball sul sito http://www.bluez.org/download.html.
Per fare questo, modifichiamo il file <code>'''/etc/snmp/snmpd.conf'''</code> con il nostro editor di testo preferito, e facciamo in modo che le righe:
===Pacchetti===
<pre>
:I pacchetti delle blueZ dovrebbero essere contenuti nei cd/dvd della distribuzione, tuttavia - se cos� non fosse - sono scaricabili (per Debian GNU/Linux) all'indirizzo http://packages.debian.org/stable/admin/bluez-utils.
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>


:Installare anche il pacchetto ppp, che contiene gli script "pon" e "poff".
Una volta salvato il tutto, riavviamo snmpd con un semplice:
<pre>
# /etc/init.d/snmpd restart (oppure reload)
</pre>


==Configurare il bluetooth==
Per permettere la comunicazione tra il Pc e il Cellulare necessario accoppiare i due dispositivi. Durante questa fase richiesto:
*Un pin;
*Il MAC Address del dispositivo bluetooth;
*I parametri forniti dal provider;


===Mrtg===


'''Nota bene:''' per utilizzare il bluetooth pu� essere necessario avviare il demone hcid. Col comando:
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).
<pre># /usr/sbin/hcid</pre>
ed � buona norma farlo fare in automatico al boot.
La maggior parte delle distribuzioni, comunque, lo lanciano automaticamente una volta installati i pacchetti inerenti il bluetooth.


===Il file "etc/bluetooth/pin"===
Le BlueZ-utils permettono di impostare il pin attrverso il file di configurazione "/etc/bluetooth/pin"


Credo che il file pin nelle ultime versioni sia stato eliminato, giacch� il pin � configurabile anche nel file /etc/bluetooth/hcid.conf sotto la voce di "passkey"; come mostrato nell'esempio sottostante.
====Configurazione Automatizzata====
<pre>options {
Per creare il file di configurazione <code>mrtg.conf</code> ci viene in aiuto cfgmaker, che ha proprio questa funzione.
  # ...
Lo utilizzeremo con la sua sintassi base, visto che non abbiamo particolari esigenze.
  # tutte le opzioni...
Prima di generarlo, però, è utile modificare il file <code>'''/etc/snmpd/snmpd.local.conf'''</code> (che viene letto prima di <code>'''/etc/snmpd/snmpd.conf'''</code>), per personalizzare un po' il server: modifichiamo il file <code>'''/etc/snmpd/snmpd.local.conf'''</code> con il nostro editor preferito, rendendolo simile a questo:
  # ...
<pre>
  passkey "1234";
# Il nome del Server
}</pre>
sysname Spirit


In alternativa, al file pin o hcid.conf, si pu� gestire il pin con delle utility grafiche. Da segnalare � bluez-gnome (per chi usa GNOME) o kdebluetooth (per chi utilizza KDE).
# La descrizione della macchina
sysdescr MaXeR's Server


{{Box | Come scelgo il pin? |Il pin pu� essere scelto a picere, purch� durante l'accoppiamento col pc - sul cellulare - si inserisca il pin specificato all'interno del file "/etc/bluetooth/pin" o nella maschera grafica di bluez-gnome (o kdebluetooth)}}
# La locazione della macchina
syslocation Verona


===Il MAC Address===
# Chi è il responsabile
Per accoppiare il cellulare bisogna essere a conoscenza del MAC Address. Per fare ci� si pu� usare il comando '''hcitool''' con il parametro '''scan'''
syscontact MaXeR <maxer@knio.it>
</pre>


<pre># hcitool scan</pre>
L'output del comando dovrebbe risultare simile a questo riportato di seguito
<pre>04:F0:65:92:A5:BE    NomeCellulare</pre>


===Accoppiare il dispositivo===
Il comando per generare il file di configurazione di mrtg è il seguente:
<pre>
# cfgmaker public@localhost --output=/etc/mrtg.cfg
</pre>


Editare il file "/etc/bluetooth/rfcomm.conf" come segue:


<pre>rfcomm0 {
Le opzioni più interessanti sono (degne di nota):<br/>
  bind yes;
; <code>--enable-ipv6</code> : che abilita l'ipv6<br/>;
  device 04:F0:65:92:A5:BE;
; <code>--output <file></code> : che redirige l'output su un file, al posto dello STDOUT.
  channel 1;
}</pre>
dove l'indirizzo che succede alla voce device � l'indirizzo MAC, precedentemente ricavato grazie a hctool.


� ora di procedere alla creazione del device /dev/rfcomm0 e alla procedura di accoppiamento.
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 interfaccia).
Per fare ci� baster� eseguire il comando:
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.
<pre># rfcomm bind 0 04:F0:65:92:A5:BE 1</pre> che creer� /dev/rfcomm0 e successivamente si potr� procedere all'associazione dei dispositivi dal cellulare, oppure dal pc col comando:
Prendiamo in esame l'interfaccia ppp0.
<pre>rfcomm connect 0 04:F0:65:92:A5:BE 1</pre>
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 '##').


==Gli script per la connessione==
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>


Gli script di connessione sono rilasciati assieme a i parametri relativi ai maggiori gestori di telefonia mobile.
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>


===Il file "/etc/chatscripts/provider"===
====Configurazione Manuale====
La configurazione manuale è un po' più complessa (o forse macchinosa): analizziamola.


Bisogna editare il file /etc/chatscripts/provider come segue:
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>


<pre>ABORT BUSY
Si riceverà un output simile a questo:
ABORT 'NO CARRIER'
<pre>
ABORT VOICE
IF-MIB::ifDescr.1 = STRING: bond0
ABORT 'NO DIALTONE'
IF-MIB::ifDescr.2 = STRING: lo
ABORT 'NO DIAL TONE'
IF-MIB::ifDescr.3 = STRING: shaper0
ABORT 'NO ANSWER'
IF-MIB::ifDescr.4 = STRING: dummy0
ABORT DELAYED
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>


'' ATZ
Leggendolo dobbiamo annotarci i numeri riferiti alle interfacce che vogliamo prendere in considerazione.
ppp0, ad esempio, è associata al numero 11.


#Scegliere la riga corrispondente il proprio provider
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:
#Per vodafone
<pre>
OK-AT-OK AT+CGDCONT=1,"IP","web.omnitel.it"
WorkDir: /var/www/mrtg
#Per wind
EnableIPv6: no
OK-AT-OK AT+CGDCONT=1,"IP","internet.wind"
</pre>
#Per tim
OK-AT-OK AT+CGDCONT=1,"IP","ibox.tim.it"
#Per 3HG
OK-AT-OK AT+CGDCONT=1,"IP","tre.it"
#Per 3HG con promozione NAVIGA3
OK-AT-OK AT+CGDCONT=1,"IP","naviga.tre.it"


OK-AT-OK ATDT_numero_
Una volta terminata la scrittura del file di configurazione, è possibile controllarne l'esattezza con un:
<pre>
# mrtg --check <config_file>
</pre>


CONNECT ''</pre> e al posto di _numero_ va inserito il numero di telefono corrispondente alla marca del proprio cellulare:
===Apache===


<pre>Numeri: Nokia e Motorola: *99#
Ipotizziamo Apache già installato e configurato per avere la propria root in <code>'''/var/www'''</code>.
Siemens, Sharp e Panasonic: *99***1#
Samsung: *99***1*#
Ericsson e SonyEricsson *99***CID# (CID = N� profilo GPRS)
Altri: *99#</pre>


{{Box | ESEMPIO:|Con un Nokia la stringa col numero sar�: '''OK-AT-OK ATDT*99#'''}}
Controlliamo l'esistenza della directory indicata nel file di configurazione precedentemente creato: <code>/var/www/mrtg</code>, altrimenti creiamola ed impostiamo i permessi:
<pre>
# chown root:root /var/www/mrtg
# chmod 755 /var/www/mrtg
</pre>


===Il file "/etc/ppp/peers/provider"===
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>


Bisogna editare il file /etc/ppp/peers/provider come segue:
è sufficiente per creare una homepage di introduzione che si deve trovare all'interno della cartella mrtg.


<pre>noauth
Riporto alcune delle opzioni più importanti:<br/>
connect "/usr/sbin/chat -v -f /etc/chatscripts/provider"
; <code>--clicktext</code>: rende clickabile anche la descrizione dei grafici<br/>
/dev/rfcomm0
; <code>--title str</code>: Imposta il titolo della pagina<br/>
921600
; <code>--output file</code>: Scrive su 'file' al posto di riversare il contenuto sullo STDOUT<br/>
defaultroute
; <code>--show=str</code>: Imposta che immagine mostrare (possibili opzioni: day, week, month, year, none)<br/>
noipdefault
usepeerdns
persist
ipcp-accept-remote
ipcp-accept-local
lcp-echo-interval 0
lcp-echo-failure 0</pre>


==Connetersi e Disconnettersi==
==Conclusioni==


Per connetersi basta usare
Mrtg è un ottimo tool, che offre dei risultati molto semplici da interpretare quando preziosi.
<pre>$ pon</pre> e per disconnetersi <pre>$ poff</pre>
Lo ritengo indispensabile, sia sui server, sia sui computer desktop con un accesso ad internet fisso (ADSL o simili).


{{Autori
|Autore = [[User:MaXeR|MaXeR]]
}}


 
[[Categoria:Monitoraggio]]
Per avere un output, sull'esito dell'operazione, si pu� usare (da root) il comando:
<pre># pon;plog</pre>
in modo da avere informazioni per risolvere eventuali problemi.
 
''Per qualsiasi cosa, non esitate a contattarmi.''
----
 
 
 
Autore: [[Utente:Clockwork orange|Clockwork Orange]]
 
[[Categoria: Networking]][[Categoria: Hardware]]
3 581

contributi