|
|
Riga 1: |
Riga 1: |
| ==Introduzione==
| | {{Box|Copyright Notice|This is a free translation of the book [http://www.kroah.com/lkn/ Linux Kernel in a Nutshell] by [http://www.kroah.com/log/ Greg Kroah-Hartman]. The original book and this translation are available under the terms of [http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution-ShareAlike 2.5]. To support the original author you can purchase the book [http://www.oreilly.com/catalog/9780596100797/ here] or [http://www.amazon.com/Linux-Kernel-Nutshell-OReilly/dp/0596100795 elsewhere]. |
|
| |
|
| 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...
| | The translation work is an indipendent project not affiliated with Greg Kroah-Hartman or his editor. |
| 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.
| | Questa � una traduzione del libro [http://www.kroah.com/lkn/ Linux Kernel in a Nutshell] di [http://www.kroah.com/log/ Greg Kroah-Hartman], pubblicato da [http://www.oreilly.com/ O'Reilly]. Il libro � disponibile nei termini della licenza [http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution-ShareAlike 2.5], che permette il libero download e la redistribuzione dell'opera, e viene pubblicato qui, tradotto, nei termini della stessa licenza. |
| La macchina usata per le prove monta Debian Sarge.
| | }} |
|
| |
|
| ==Installazione==
| | {{Warningbox|La traduzione � in corso e chiunque abbia buona volont� e una conoscenza sufficiente della lingua � invitato a contribuire attivamente. Grazie a tutti e buona lettura.}} |
|
| |
|
| Per installare mrtg, è sufficiente dare il seguente comando:
| | __TOC__ |
| <pre>
| |
| # apt-get install mrtg mrtg-contrib librrds-perl snmpd snmp
| |
| </pre>
| |
|
| |
|
| Oltre a mrtg, verrà installato il server snmpd ed il suo client.
| | <big><big>Prefazione</big></big> |
|
| |
|
|
| |
|
| ==Configurazione== | | <big><big><big>Parte I.</big></big></big> |
| | ==Compilare il kernel== |
| | Questa parte del libro mostra come scaricare, compilare e installare il kernel. È in gran parte una guida passo passo. |
|
| |
|
| La configurazione può sembrare un po' 'articolata' e 'difficile', ma non è così...
| | * <span style="color: green;">'''Capitolo 1''', [[LKN:_Introduzione|Introduzione]] (''tradotto 100%'')</span> |
| Procediamo per passi:
| |
|
| |
|
| ===Snmpd=== | | * <span style="color: green;">'''Capitolo 2''', [[LKN:_Requisiti_per_Compilare_ed_Utilizzare_il_Kernel|Requisiti per Compilare ed Utilizzare il Kernel]] (''tradotto 100%'')</span> |
|
| |
|
| Dobbiamo configurare il server SNMP, permettendone l'accesso il lettura al computer che esegue mrtg (nel nostro caso 127.0.0.1).
| | * <span style="color: green;">'''Capitolo 3''', [[LKN:_Procurarsi_i_Sorgenti_del_Kernel|Procurarsi i Sorgenti del Kernel]] (''tradotto 100%'')</span> |
| 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:
| | * <span style="color: green;">'''Capitolo 4''', [[LKN:_Configurare_e_Compilare|Configurare e Compilare]] (''tradotto 100%'')</span> |
| <pre>
| |
| # /etc/init.d/snmpd restart (oppure reload)
| |
| </pre> | |
|
| |
|
| | * <span style="color: green;">'''Capitolo 5''', [[LKN:_Installare_ed_Avviare_con_un_Kernel|Installare ed Avviare con un Kernel]] (''tradotto 100%'')</span> |
|
| |
|
| ===Mrtg=== | | * <span style="color: green;">'''Capitolo 6''', [[LKN:_Aggiornare_il_Kernel|Aggiornare il Kernel]] (''tradotto 100%'')</span> |
|
| |
|
| 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).
| |
|
| |
|
| | <big><big><big>Parte II.</big></big></big> |
| | ==Personalizzazioni principali== |
| | Questa parte spiega le personalizzazioni pi comuni effettuate dagli utenti di Linux, ed utili combinazioni di opzioni da personalizzare. |
|
| |
|
| ====Configurazione Automatizzata==== | | * <span style="color: brown;">'''Capitolo 7''', [[LKN:_Personalizzare_un_Kernel|Personalizzare un Kernel]] (''tradotto 50%'')</span> |
| 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
| | * <span style="color: red;">'''Capitolo 8''', [[LKN:_Ricette_per_Configurare_il_Kernel|Ricette per Configurare il Kernel]] (''tradotto 4%'')</span> |
| sysdescr MaXeR's Server
| |
|
| |
|
| # La locazione della macchina
| |
| syslocation Verona
| |
|
| |
|
| # Chi è il responsabile
| | <big><big><big>Parte III.</big></big></big> |
| syscontact MaXeR <maxer@knio.it>
| |
| </pre> | |
|
| |
|
| | ==Guide di riferimento per il kernel== |
| | Questa sezione fornisce informazioni di riferimento su parametri per il Kernel di tutti i tipi. |
|
| |
|
| Il comando per generare il file di configurazione di mrtg è il seguente:
| | * <span style="color: red;">'''Capitolo 9''', [[LKN:_Guida_di_Riferimento_dei_Parametri_di_Boot_del_Kernel|Guida di Riferimento dei Parametri di Boot del Kernel]] (''tradotto 20%'')</span> |
| <pre>
| |
| # cfgmaker public@localhost --output=/etc/mrtg.cfg
| |
| </pre> | |
|
| |
|
| | * <span style="color: green;">'''Capitolo 10''', [[LKN:_Guida_di_Riferimento_dei_Parametri_di_Compilazione_del_Kernel|Guida di Riferimento dei Parametri di Compilazione del Kernel]] (''tradotto 100%'')</span> |
|
| |
|
| Le opzioni più interessanti sono (degne di nota...):<br/>
| | * <span style="color: green;">'''Capitolo 11''', [[LKN:_Guida_di_Riferimento_delle_Opzioni_di_Configurazione_del_Kernel|Guida di Riferimento delle Opzioni di Configurazione del Kernel]] (''tradotto 100%'')</span> |
| ; --enable-ipv6 : che abilita 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:
| | <big><big><big>Parte IV.</big></big></big> |
| <pre> | | ==Informazioni aggiuntive== |
| velocità_in_Kbit/sec * 1000 / 8 = Velocità_in_Byte/sec
| | Questa sezione include un'Appendice su programmi utili, e riferimenti per ulteriori approfondimenti. |
| </pre>
| |
|
| |
|
| Ecco una tabellina delle velocità più comuni:
| | * <span style="color: green;">'''Appendice A''', [[LKN:_Programmi_Utili|Programmi Utili]] (''tradotto 100%'')</span> |
| <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==== | | * <span style="color: green;">'''Appendice B''', [[LKN:_Bibliografia|Bibliografia]] (''tradotto 100%'')</span> |
| 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.
| | [[Categoria:Kernel]] |
| 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]]
| |
| [[Categoria:Server]][[Categoria:Networking]][[Categoria:Sicurezza]]
| |