|
|
Riga 1: |
Riga 1: |
| =Introduzione= | | ==Introduzione== |
| Questo articolo affronta il problema della gestione della banda in Apache (Ver. 1 e Ver. 2), mostrando come installare e configurare tre diversi moduli utilizzabili a tale fine:
| | [http://www.cacti.net Cacti] è un completo strumento per monitorare il sistema che si poggia su snmpd (lo stesso usato anche da mrtg). |
| ==mod_bandwidth==
| | Uno dei punti di forza di cacti è l'elevata facilità di configurazione, senza per questo non garantire una elevata flessibilità. |
| * HomePage: http://www.cohprog.com/mod_bandwidth.html
| |
| * Licenza: Apache Group licence
| |
| * Copyright: Yann Stettler and CohProg S�RL
| |
| * Versione Apache: 1
| |
| ==bw_mod==
| |
| * HomePage: http://www.ivn.cl/apache/
| |
| * Licenza: Apache 2.0 License/[http://www.ivn.cl/apache/LICENSE.txt Ivn Project License]
| |
| * Copyright: Ivan Barrera A.
| |
| * Versione Apache: 2
| |
| ==mod_bwshare==
| |
| * HomePage: http://www.topology.org/src/bwshare/README.html
| |
| * Licenza: [http://www.topology.org/src/bwshare/LICENCE Alan Kennington's modified Artistic Licence]
| |
| * Copyright: Alan Kennington
| |
| * Versione Apache: 1 e 2
| |
|
| |
|
| =Installazione= | | ==Installazione== |
| | Cacti è già disponibile nei repository Debian, e quindi installabile tramite apt-get... |
| | Per il suo funzionamento richiede un database [http://www.mysql.com mysql] a cui appoggiarsi per memorizzare i dati e il [http://geekcorp.com/snmpd/ server snmpd] per accedere ai dati da elaborare, oltre a questi programmi, inoltre, è necessario installare (o avere già configurato) il webserver [http://www.apache.org Apache] con l'estensione [http://www.php.net PhP]. |
|
| |
|
| ==mod_bandwidth==
| | Se, quindi, queste cose non sono presenti, consiglio di installarle: |
| Il modulo '''mod_bandwidth''' � installato di default insieme al server apache; lo possiamo trovare in '''/usr/lib/apache/1.3/'''.
| |
| Se questo modulo dovesse dare problemi (esempi: non imposta correttamente la banda, ma sembra che i limiti che impostiamo siano visti come bit e non come byte, non accetta la direttiva MaxConnection), vi consiglio di reinstallarlo come descritto qui sotto. | |
| | |
| * rechiamoci sul sito del produttore: http://www.cohprog.com/mod_bandwidth.html e scarichiamo l'ultima versione (link diretto:
| |
| ftp://ftp.cohprog.com/pub/apache/module/1.3.0/mod_bandwidth.c).<br/>
| |
| * per potre compilare questo modulo, abbiamo bisogno del pacchetto '''apache-dev'''. Per installarlo � sufficiente dare:
| |
| <pre>
| |
| # apt-get install apache-dev
| |
| </pre>
| |
| * ora siamo pronti per compilare:
| |
| <pre>
| |
| $ /usr/bin/apxs -c mod_bandwidth.c -o mod_bandwidth.so
| |
| </pre>
| |
| * una volta pronto il modulo, eseguiamo i seguenti comandi:
| |
| <pre> | | <pre> |
| # cd /usr/lib/apache/1.3/ | | # apt-get install snmpd mysql-server |
| # mv mod_bandwidth.so mod_bandwidth.so.bk
| |
| # mv /home/maxer/mod_bandwidth.so ./
| |
| </pre> | | </pre> |
|
| |
|
| in questo modo abbiamo creato una copia del modulo precedente, se presente, e poi abbiamo spostato il modulo appena compilato nella cartella dei moduli di apache.
| | nella sezione ''configurazione'' analizzeremo la configurazione di questi due server. |
| | |
| | |
| ===Aggiornamento===
| |
| | |
| Il procedimento appena presentato, crea diversi problemi, soprattutto in fase di aggiornamento del sistema: ogni volta il pacchetto
| |
| apache viene aggiornato, infatti, il modulo appena creato verr� sovrascritto con quello `vecchio`, e apache non si riavvier�...
| |
| Una alternativa � creare il modulo con un altro nome:
| |
| <pre>
| |
| $ /usr/bin/apxs -c mod_bandwidth.c -o mod_bandwidth_new.so
| |
| # cp mod_bandwidth_new.so /usr/lib/apache/1.3/mod_bandwidth_new.so
| |
| # cd /usr/lib/apache/1.3/
| |
| # cp 500mod_bandwidth.info 500mod_bandwidth_new.info
| |
| </pre>
| |
|
| |
|
| Ora bisogna modificare il file '''500mod_bandwidth_new''' modificando il nome del | | Ora installiamo cacti (che installerà anche ''apache'', ''php4'', ''php4-mysql'', ''php4-cli'', e altre applicazioni necessarie al suo funzionamento): |
| vecchio modulo con quello nuovo:
| |
| <pre> | | <pre> |
| LoadModule: bandwidth_module /usr/lib/apache/1.3/mod_bandwidth-new.so
| | # apt-get install cacti |
| Description: Bandwidth management on a per-connection basis
| |
| </pre> | | </pre> |
|
| |
|
| Ora � necessario modificare il file '''/etc/apache/modules.conf''': la nuova direttiva da inserire, sostituendo eventualmente quella preesistente, � la seguente:
| | Durante l'installazione di cacti, verranno poste delle domande (che qui riporto con delle risposte di esempio): |
| <pre>
| | * '''MySQL server host name ''': ''localhost''; |
| LoadModule bandwidth_module /usr/lib/apache/1.3/mod_bandwidth_new.so
| | * '''Database name for cacti ''': ''cacti''; |
| </pre>
| | * '''Cacti database username''': ''cacti''; |
| | * '''Cacti user password''': ''cactipass''; |
| | * '''Webserver type''': nel nostro caso selezioniamo ''Apache-SSL'', ma è possibile effettuare la scelta più conveniente per il proprio sistema. |
|
| |
|
| ==bw_mod==
| | {{Box|Nota Bene|durante la configurazione ci viene ricordato che la configurazione di mysql deve essere fatta manualmente, come vedremo in seguito}} |
| Come prima cosa procuriamoci il modulo dal [http://www.ivn.cl/apache/ sito dello sviluppatore]. A questo punto estraiamolo:
| |
| <pre># tar vzxf bw_mod-6.0.tgz</pre>
| |
| spostiamoci nella cartella appena creata (''bw_mod-6.0.tgz'') e verifichiamo che sia presente il file ''bw_mod-6.0.c''.
| |
|
| |
|
| Ora, per poter compilare il nostro modulo, ci servono gli strumenti per farlo: nel nostro caso dovremo installare, tramite apt-get, il pacchetto '''apache2-dev''':
| | ==Configurazione== |
| <pre># apt-get install apache2-dev</pre>
| | ===MySql=== |
| Bene, ora compiliamo tramite il comando ''/usr/bin/apsx2'':
| | Se è la prima installazione di MySql sulla macchina, è consigliato cambiare la password di root in quanto, di default, non è impostata: |
| <pre># /usr/bin/apxs2 -i -a -c bw_mod-0.6.c</pre>
| |
| Se non ci sono errori, possiamo procedere. Alla fine della compilazione sono state automaticamente aggiunte queste righe al file ''/etc/apache2/httpd.conf'':
| |
| <pre>Include /etc/apache2/sysconfig.d/loadmodule.conf
| |
| LoadModule bw_module /usr/lib/apache2/bw_mod-0.6.so</pre>
| |
| {{Box | Nota |Apache2 usa come file di configurazione ''/etc/apache2/apache2.conf''; tuttavia, per retrocompatibilit�, � presente anche un file ''/etc/apache2/httpd.conf'' in cui vengono inseriti solitamente gli "includes" dei moduli di terze parti laddove questi non usino il sistema '''mods-available/mods-enabled'''.
| |
| | |
| In questo caso non dobbiamo preoccuparci, in quanto nel file ''apache2.conf'' c'� un richiamo a ''httpd.conf''.}}
| |
| | |
| ==mod_bwshare== | |
| | |
| =Configurazione= | |
| | |
| ==mod_bandwidth== | |
| Ora configuriamo apache per utilizzare mod_bandwidth.<br/>
| |
| Aggiungiamo il modulo al file '''/etc/apache/modules.conf'''. Per fare questo abbiamo due possibilit�:
| |
| * modificare a mano il file, aggiungendo la seguente riga, alla finedel file:
| |
| <pre> | | <pre> |
| LoadModule bandwidth_module /usr/lib/apache/1.3/mod_bandwidth.so
| | #/usr/bin/mysql |
| </pre>
| | mysql> set password for root@localhost=password('rootpw'); |
| *utilizzare modules-config:
| | mysql> exit |
| <pre>
| |
| modules-config apache enable mod_bandwidth
| |
| </pre> | | </pre> |
|
| |
|
| Creiamo le cartelle temporanee per mod_bandwidth:
| | Una volta impostata, procediamo con la creazione del database e dell'utente che avrà accesso al database ''cacti''; |
| <pre> | | <pre> |
| # mkdir /tmp/apachebw
| | mysql> create database cacti; |
| # mkdir /tmp/apachebw/master
| | mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipass'; |
| # mkdir /tmp/apachebw/link
| | mysql> flush privileges; |
| # chown -R www-data:www-data /tmp/apachebw
| | mysql> exit |
| # chmod -R 775 /tmp/apachebw
| |
| </pre> | | </pre> |
| (ricordiamoci che possibile che qualche script ripulica la directory '''/tmp''', quindi cambiamo la posizione di queste cartelle con la direttiva BandWidthDataDir).
| |
|
| |
|
| Ecco fatto, ora con il seguente comando facciamo rileggere ad apache i file di configurazione:
| | Ora non ci resta che sistemare il database, creando le tabelle ed inserendo i dati necessari: |
| <pre> | | <pre> |
| # /etc/init.d/apache reload | | # zcat /usr/share/doc/cacti/cacti.sql.gz | mysql -u root -p cacti |
| </pre> | | </pre> |
|
| |
|
| ===Note per il corretto funzionamento===
| | Bene, la configurazione di MySql è terminata. |
| Per ottenere risultati, � importante che non ci siano dei link morti nella directory '''link''' di mod_bandwidth, quando viene eseguito avviato il server con il modulo attivo.
| |
| | |
| Potrebbe essere una buona idea, a questo scopo, eseguire lo script '''cleanlink.pl''', che provvede a rimuovere automaticamente i link morti.
| |
| | |
| | |
| | |
| ===Direttive globali di configurazione===
| |
| | |
| ===='''BandWidthDataDir'''====
| |
| '''Sintassi''': BandWidthDataDir <directory><br/>
| |
| '''Default''': "/tmp/apachebw"<br/>
| |
| '''Contesto''': server config<br/>
| |
| Imposta la directory in cui mod_bandwidth conserve i suoi file temporanei. All'interno di questa directory devono essere presenti anche le directory link e master; tutte queste cartelle devono essere scrivibili da apache (che in debian utilizza l'utente ed il gruppo www-data)
| |
| | |
| | |
| ===='''BandWidthModule'''====
| |
| '''Sintassi''': BandWidthModule <On|Off><br/>
| |
| '''Default''': Off<br/>
| |
| '''Contesto''': per server config<br/>
| |
| Abilita o disabilita il modulo.
| |
| | |
| '''NOTA:''' Per utilizzarlo all'interno di un virtual host, � necessario inserire la direttiva '''BandWidthModule On''' all'interno del blocco del virtual host. Se viene attivato globalmente (cio� all'interno del file httpd.conf, fuori da ogni blocco), il modulo � attivo automaticamente in tutti i sottoblocci (Virtual Host, etc..)
| |
| | |
|
| |
|
| ===='''BandWidthPulse'''==== | | ===Snmpd=== |
| '''Sintassi''': BandWidthPulse <microseconds><br/>
| | La configurazione di snmpd, se cacti è installato sulla stessa macchina che si vuole monitorare, è limitata a dare l'accesso in lettura a snmpd, così da permetterne l'interrogazione da parte di cacti. |
| '''Default''':<br/> | |
| '''Contesto''': per server config<br/>
| |
|
| |
|
| Modifica l'algoritmo usato per calcolare la larghezza di banda e per trasmettere i dati. Nella modalit� normale (obsoleta), il modulo cerca di tramettere i dati in pacchetti di 1Kb. Questo vuol dire che, se la banda disponibile � di 512B, il modulo trasmette 1Kb, aspetta 2 secondi, trasmette 1Kb e cos� via... Impostando questa direttiva, verr� cambiato l'algoritmo in modo che il server
| | Per fare questo, modifichiamo il file '''/etc/snmp/snmpd.conf''' con il nostro editor di testo preferito, e facciamo in modo che le righe: |
| aspetter� sempre lo stesso lasso di tempo, prima di trasmettere pacchetti, e la dimensione dei pacchetti varier� di conseguenza, cos� da rispettari i criteri indicati nelle altre direttive. Il valore � in microsecondi.
| |
| | |
| '''Esempio:'''
| |
| <pre> | | <pre> |
| BandWidthPulse 1000000 #1 secondo
| | com2sec paranoid default public |
| | #com2sec readonly default public |
| | #com2sec readwrite default private |
| </pre> | | </pre> |
| Se oltre a questa direttiva � presente un limite a 512B, il server trasmetter� 512B, aspetter� un secondo, trametter� 512B, aspetter� un secondo e cos� via.
| | diventino: |
| | |
| | |
| ===Direttive per la configurazione di Directory e/o VirtualServer===
| |
| | |
| ===='''BandWidth'''====
| |
| '''Sintassi''': BandWidth <domain|ip|all> <rate><br/>
| |
| '''Default''': none<br/>
| |
| '''Contesto''': per directory, .htaccess<br/>
| |
| | |
| Limita la banda per i file contenuti nella directory e nelle sub-directory, in base alla provenienza (dominio, ip, all).
| |
| Gli indirizzi IP possono essere specificati anche nel formato network/netmask (Es: 192.168.0.0/21) '''<rate>''' deve essere espresso in Byte/secondo. Impostato a "0" indica nessun limite di banda. Possono essere impostati pi� limiti per la stessa directory; in questo caso, �
| |
| importante l'ordine con cui vengono inserite le direttive, in quando mod_bandwidth li scorre dal primo all'ultimo, fermandosi a quello che
| |
| rispecchia la situazione
| |
| | |
| '''Esempio:'''
| |
| <pre> | | <pre> |
| BandWidth ecp.fr 0
| | #com2sec paranoid default public |
| BandWidth 138.195 0
| | com2sec readonly 127.0.0.1 public |
| BandWidth all 1024
| | #com2sec readwrite default private |
| </pre> | | </pre> |
| In questo esempio, viene limitata la banda a:
| |
| * nessun limite per gli appartenenti al dominio .ecp.fr e alla rete 138.195. ;
| |
| * 1024Bytes/secondo per tutti gli altri.
| |
|
| |
|
| | | Una volta salvato il tutto, riavviamo snmpd con un semplice: |
| ===='''LargeFileLimit'''====
| |
| '''Sintassi''': LargeFileLimit <filesize> <rate><br/>
| |
| '''Default''': none<br/>
| |
| '''Contesto''': per directory, .htaccess<br/>
| |
| | |
| Imposta un limite '''<rate>''' da usare quando si trasferiscono file di dimensioni uguali o maggiori a <filesize>
| |
| E' possibile utilizzare pi� direttive per diverse dimensioni; anche in questo caso, se il parametro viene impostato a "0", non sar� impostato alcun limite (rimarr�, ovviamente, l'eventuale limite impostato in BandWidth). Se viene impostato a "-1", invece, saranno aboliti tutti i limiti (anche quelli impostati con la direttiva BandWidth) per i file la cui dimensione rispecchia quella direttiva.
| |
| | |
| '''Esempio:'''
| |
| <pre> | | <pre> |
| LargeFileLimit 200 3072
| | # /etc/init.d/snmpd restart (oppure reload) |
| LargeFileLimit 1024 2048
| |
| </pre> | | </pre> |
| Queste direttive portano a questa situazione:
| |
| * i file pi piccoli di 200Kb, non verranno limitati da queste direttive (rimane attiva la direttiva BandWidth);
| |
| * i file di dimensione compresa tra 200Kb e 1023Kb, saranno limitati a 3072Kb/sec;
| |
| * i file di dimensione maggiore di 1024Kb, saranno limitati a 2048Kb/sec.
| |
|
| |
|
| |
| ===='''MaxConnection'''====
| |
| '''Sintassi''': MaxConnection <connections><br/>
| |
| '''Default''': 0 (illimitate)<br/>
| |
| '''Contesto''': per directory, .htaccess<br/>
| |
|
| |
| Imposta il numero di connessioni massime che possono avvenire contemporaneamente.Una volta raggiunto il limite impostato, le nuove connessioni verranno rifiutate. Se impostato a "0" (valore di default) non saranno presenti delle limitazioni per quanto riguarda il numero di connessioni simultanee (se non quello impostato nelle direttive principali di Apache).
| |
|
| |
|
| | ===Php=== |
| | Cacti utilizza php sia come estensione di apache, sia come ''cli'' (common line interpreter). |
| | Per evitare problemi, è necessario controllare che l'estensione per mysql sia abilitata nei seguenti file: |
| | * '''/etc/php4/cli/php.ini''' per quanto riguarda php4-cli; |
| | * '''/etc/php4/apache/php.ini''' per quanto riguarda php e apache. |
|
| |
|
| ===='''MinBandWidth'''====
| | La modifica di questi file consiste, in pratica, nella rimozione del ''';''' di commento alla seguente riga: |
| '''Sintassi''': MinBandWidth <domain|ip|all> <rate><br/>
| |
| '''Default''': all 256<br/>
| |
| '''Contesto''': per directory, .htaccess<br/>
| |
| | |
| Imposta una banda minima per il trasferimento dei dati. Questa direttiva pu� sovrascrivere le direttive BandWidth e LargeFileLimit, in quanto, in presenza di un numero elevato di connessioni, verr� garantita a tutte la larghezza indicata con questa direttiva, anche se il totale superer� i limiti. Il primo argomnto � da usarsi come per la direttiva BandWidth. deve essere espresso in Byte/Secondo; se viene impostato a 0, verr� usato il valore di default (256).
| |
| | |
| '''Esempio :''' | |
| <pre> | | <pre> |
| BandWidth all 3072
| | ;extension=mysql.so |
| MinBandWidth all 1024
| |
| </pre> | | </pre> |
|
| |
|
| Assumendo la presenza delle precedenti direttive analizziamo i casi in base
| | ===Cacti=== |
| alle connessioni:
| | Per terminare la configurazione base del sistema, rechiamoci al seguente indirizzo: |
| * una connessione: velocit� di trasferimento = 3072 Bytes/sec.
| |
| * due connessioni: velocit� di trasferimento = 1536 Bytes/sec.
| |
| * tre o pi� connessioni: velocit� di trasferimento = 1024 Bytes/sec.
| |
| | |
| Se MinBandWidth � impostato a "-1" accade che:
| |
| * se c'� solo una connessione, il file viene trasferito a 3072 Bytes/sec.
| |
| * se ci sono una o pi� connessioni, ogni file viene trasferito a 3072 Bytes/sec. La velocit� non dipende pi� dal numero di connessioni, ma solo dai valori delle direttive.
| |
| | |
| Ovviamente, la velocit� di trasferimento totale non potr� mai superare la vostra larghezza di banda...
| |
| | |
| {{Box|NOTA:|Se ad una richiesta devono essere applicati sia un limite impostato nella direttiva "BandWidth" sia uno impostato nella direttiva "LargeFileLimit", verr� applicato il pi� piccolo (ma mai minore a quello eventialmente indicato nella direttiva "MinBandWidth")}}
| |
| | |
| ==bw_mod== | |
| In Apache2 la configurazione globale del server pu� essere separata da quella dei VHosts e delle Directories. Sono presenti, infatti, due files: <tt>/etc/apache2/apache2.conf</tt>, in cui sono inserite le configurazioni globali del server (praticamente la maggior parte delle direttive del vecchio <tt>httpd.conf</tt>); e <tt>/etc/apache2/sites-enabled/000-default</tt>, in cui ci sono le direttive per VHosts e Directories (in realt� � un link simbolico al file <tt>/etc/apache2/sites-available/default</tt>).<br/>
| |
| Per poter, quindi, configurare il nostro ''bw_mod'', possiamo inserire le prime quattro direttive della seguente lista in <tt>apache2.conf</tt> come variabili globali, mentre tutte le altre possono essere inserite indifferentemente in <tt>apache2.conf</tt>, se vogliamo applicare le limitazioni a tutti i siti serviti dal serverweb, oppure in <tt>000-default</tt> nelle apposite sezioni, se vogliamo applicarle a specifici VHosts o Directories.<br/>
| |
| {{ Warningbox | Momentaneamente il modulo '''non supporta il sistema .htaccess''', quindi non � possibile inserire le direttive in questi files.<br/>
| |
| In alcuni punti della guida si fa riferimento alla configurazione di direttive del modulo ''mod_bandwidth'' dove � indicata la possibilit� d'uso in .htaccess: con ''bw_mod'' non bisogna prendere in considerazione quei '''contesti'''.}}
| |
| | |
| ==='''Direttive globali'''===
| |
| ===='''BandWidthModule'''====
| |
| '''Sintassi''': <tt>BandWidthModule On|Off</tt><br/>
| |
| '''Default''': <tt>Off</tt><br/>
| |
| Tramite questa direttiva attiviamo o disattiviamo il modulo
| |
|
| |
|
| ===='''BandWidthDebug'''====
| | http://localhost/cacti (se è stato scelto Apache/Apache2)<br/> |
| '''Sintassi''': <tt>BandWidthDebug On|Off</tt><br/>
| | https://localhost/cacti (se è stato scelto Apache-SSL) |
| '''Default''': <tt>Off</tt><br/>
| |
| Questa direttiva serve ad attivare la funzione di debug (utile per chi si vuole divertire a sviluppare il modulo).
| |
|
| |
|
| ===='''BandWidthPacket'''====
| | per completare l'installazione. |
| '''Sintassi''': <tt>BandWidthPacket <Dimensione pacchetti in bytes></tt><br/>
| |
| '''Default''': <tt>8192</tt><br/>
| |
| Questa direttiva indica la dimensione massima dei pacchetti trasferiti.<br/>
| |
| Solitamente, in una configurazione generica, non � necessario modificare questo valore. In caso si voglia ottimizzare la trasmissione dati (e soprattutto se si sa cosa si sa facendo), possono essere specificati valori tra 1024 e 131072.<br/>
| |
| In caso si usino valori eccessivi per la propria connessione, il modulo riporter� automaticamente la direttiva a valori pi� bassi.
| |
|
| |
|
| ===='''BandWidthError'''====
| | Premiamo ''Next>>'' dopo la prima schermata di presentazione;<br/> |
| '''Sintassi''': <tt>BandWidthError <Num. Errore></tt><br/>
| | Selezioniamo ''New Install'' e controlliamo che i dati riportati siamo corretti, altrimenti è possibile modificarli nel file '''/etc/cacti/debian.php''', dopo di che andiamo avanti;<br/> |
| ''' Default''': <tt>none</tt> (Vengono usati i valori standard di Apache2).<br/> | | Nella pagina di riepilogo degli eseguibili, controlliamo che siano stati rilevati tutti, altrimenti è necessario installarli manualmente, come '''SNMP Utility Version''' selezioniamo la 2°: ''NET-Smtp .x'';<br/> |
| In caso vogliamo personalizzare la pagina di errore quando si raggiungono i limiti impostati con ''MaxConnection'', con questa direttiva possiamo indicare ad apache che tipo di errore mostrare con <Num. Errore> ed eventualmente, mettendo mano alla direttiva ErrorDocument in <tt>/etc/apache2/apache2.conf</tt>, quale pagina deve essere mostrata.<br/>
| |
| Di default, quando viene raggiunto il numero massimo di connessioni, viene mostrata la classica pagina d'errore 503 HTTP_SERVICE_UNAVAILABLE (possiamo controllare in apache2.conf la sezione con tutti gli errori che apache pu� restituire al browser).
| |
| Se usiamo una pagina d'errore personalizzata, � importante che l'errore associato alla nostra pagina non sia gi� usato da apache (l'autore del modulo ha testato con successo l'errore numero 510).
| |
| Per esempio, per usare una pagina d'errore personalizzata, possiamo scrivere:
| |
| <pre>ErrorDocument 510 /errors/paginaerrore.html</pre>
| |
| nella direttiva ErrorDocument in <tt>etc/apache2/apache2.conf</tt>, e
| |
| <pre>BandWidthError 510</pre>
| |
| nella direttiva BandWidthError.
| |
|
| |
|
| {{ Warningbox | Possono sorgere problemi quando la pagina d'errore personalizzata ha una dimensione minore di 1024bytes: � opportuno, quindi, creare pagine pi� grandi di questo valore. }}
| | Ora siamo davanti alla schermata di LogIn.<br/> |
| | I dati per la prima autenticazione sono:<br/> |
| | '''Username:''' ''admin''<br/> |
| | '''Password:''' ''admin'' |
|
| |
|
| ==='''Direttive per la configurazione di Directory e/o VirtualServer'''===
| | verremo obbligati a cambiare password: facciamolo!!! |
|
| |
|
| ===='''ForceBandWidthModule'''==== | | ==Aggiunta di Monitor== |
| '''Sintassi''': <tt>ForceBandWidthModule On|Off</tt><br/> | | Ora il sistema è pronto per essere configurato: dopo aver effettuato il login, infatti, potremo accedere a due aree distinte: ''Console'' e ''Graphs''; la prima rappresenta il centro di controllo, da dove è possibile aggiungere nuovi monitor (''New Graphs'') od aggiungere nuovi computer, router o altro (''Devices''). |
| '''Default''': <tt>On</tt><br/> | |
| Di default, naturalmente, il modulo processer� e applicher� i limiti a ogni richiesta al webserver. In caso si voglia indicare manualmente quali files debbano essere soggetti alla limitazione di banda, si pu� settare questa direttiva su ''off'', aggiungendo, poi, i tipi di file cui deve essere applicato il limite:
| |
| <pre>ForceBandWidthModule Off
| |
| AddOutputFilterByType BW_MOD text/html text/php</pre>
| |
|
| |
|
| ===='''BandWidth'''====
| | L'aggiunta è molto intuitiva, per quanto riguarda l'utilizzo dei monitor già presenti, e normalmente non necessita di modifiche se non riguardanti l'aspetto (colori, unità di misura). |
| '''Sintassi''': <tt>BandWidth <Origine della connessione> <Limite di banda in bytes/s></tt><br/>
| |
| '''Default''': <tt>all 0</tt><br/>
| |
| Vedi [[#BandWidth | BandWidth]] del ''mod_bandwidth''.
| |
|
| |
|
| ===='''MinBandWidth'''==== | | ==Gestione Utenti== |
| '''Sintassi''': <tt>MinBandWidth <Origine della connessione> <Limite di banda in bytes/s></tt><br/> | | Cacti permette la gestione degli utenti, in modo da rendere possibile la visualizzazione delle statistiche ad utenti anonimi (opzione abilitata di default) tramite la pagina https://localhost/cacti/graph_view.php?action=tree, oltre alla definizione di utenti con facoltà ristrette (limitazioni a determinate aree e/o funzioni). |
| '''Default''': <tt>all 0</tt><br/> | | Tutte le opzioni sono modificabili tramite la voce ''User Management'' presente nel menù di sinistra della sezione ''Console''. Le opzioni disponibili sono autoesplicative, e di facile gestione. |
| Vedi [[#MinBandWidth | MinBandWidth]] del ''mod_bandwidth''.
| | L'utente ''guest'' è quello utilizzato per l'accesso anonimo. |
|
| |
|
| ===='''LargeFileLimit'''==== | | ==Personalizzazione== |
| '''Sintassi''': <tt>LargeFileLimit <Tipo di file> <Dimensione minima file in KB> <Limite in bytes/s></tt><br/>
| | Cacti permette una vasta gamma di personalizzazioni, che vanno dall'aggiunta di macchine da monitorare, alla definizione di nuove sorgenti di dati, ottenibili tramite snmp o script ad hoc. |
| '''Default''': <tt>none</tt><br/>
| |
| Con questa direttiva possiamo indicare un limite di trasferimento <Limite in bytes/s> per un determinato tipo di file <Tipo di file> che abbia la dimensione minima indicata con <dimensione minima del file in KB>.
| |
| Il parametro <Tipo di file> viene espresso con l'estensione del file (p.e. ''.avi'', ''.exe'', ''.tgz''); si pu� usare il carattere jolly ''*'' per indicare ogni tipo di file.
| |
| La <Dimensione minima file in KB>, come scritto, viene indicata in kilobytes.
| |
| Il <Limite in bytes/s> indica la velocit� massima alla quale verranno trasferiti i files interessati da questa direttiva.
| |
| Per esempio, con:
| |
| <pre>LargeFileLimit .avi 500 10240</pre>
| |
| diciamo al webserver che per i video con estensione AVI che abbiano dimensioni dai 500 kb in su, dovr� applicare uua velocit� massima di trasferimento di 10kb/s.
| |
|
| |
|
| ===='''MaxConnection'''====
| | Vediamo nel dettaglio come implementare queste soluzioni. |
| '''Sintassi''': <tt>MaxConnection <Origine delle connessioni> <Num. massimo connessioni></tt><br/>
| |
| '''Default''': <tt>all 0</tt> (Illimitate da ogni origine).<br/>
| |
| Questa direttiva permette di impostare un numero massimo di connessioni provenienti da una determinata origine. La sintassi � simile alla direttiva ''BandWidth''. Le connessioni eccedenti il limite riceveranno l'errore impostato in ''BandWidthError'' (di default � il 503).
| |
| {{ Warningbox | Affinch� il limite di connessioni per una data origine possa essere applicato, � necessario che quella origine abbia anche una limitazione di banda specificata con ''BandWidth''.<br/>
| |
| Quindi, se vogliamo limitare le connessioni provenienti da 192.168.2.0 con
| |
| <pre>MaxConnection 192.168.2.0 20</pre>
| |
| � fondamentale che il traffico con quella specifica rete sia indicato in
| |
| <pre>BandWidth 192.168.2.0 0</pre>
| |
| Come si pu� vedere, � una semplice questione di forma: infatti si pu� tranquillamente indicare come limite ''0'', quindi infinito. L'importante � che sia specificato in BandWidth.}}
| |
|
| |
|
| ==mod_bwshare== | | ==Utilizzo Avanzato== |
| | ===Monitorare più macchine=== |
| | Se siamo in una rete dove sono presenti più macchine, risulta utile e comodo avere sotto controllo il loro funzionamento... |
| | Cacti ci viene in contro anche in questo, permettendo di monitorare diverse macchine (definite ''Devices''), il tutto in modo semplice e molto intuitivo. |
|
| |
|
| =Conclusione= | | ====Configurazione della macchina==== |
| | Prenderemo in esame il caso in cui la macchina da monitorare sia un computer con linux (per router, switch ed altri dispositivi simili, si rimanda al manuale specifico). |
| | Per permettere l'accesso al server snmpd, è sufficiente effettuare la modifica che è stata apportata precedentemente alla macchina su cui è stato installato cacti. |
|
| |
|
| Con questi moduli � possibile, in breve tempo e con la massima semplicit�,
| | ====Configurazione di Cacti==== |
| ottimizzare la ripartizione della banda del proprio server web. Cosa
| | Per aggiungere un nuovo ''Device'', è necessario seguire i seguenti passi: |
| fondamentale per non arrivare alla saturazione della banda, che
| | * posizionarsi nella sezione '''console'''; |
| comporterebbe lentezza nelle risposte dei vari servizi e della navigazione su
| | * selezionare '''Devices''' dalla sezione '''Management''' nella barra di sinistra; |
| internet.
| | * selezionare il bottone '''Add''' dalla barra in alto; |
| | * completare il form inserendo i dati richiesti: |
| | :; Description : Il nome che si vuole dare al Device; |
| | :; Hostname : l'indirizzo ip o il [[ FQDN ]] del Device; |
| | :; Host Template : il tipo di dispositivo (in questo caso ''Linux Local Machine''); |
| | :; SNMP Options : le opzioni per la connessione al server snmpd del device; sono corretti (nella maggioranza dei casi) i valori di default; |
| | * nella pagina che segue è possibile selezionare ''Create Graphs for this Host'', per accedere alla sezione dove indicare quali monitor attivare; |
| | * da quel momento, inizierà il monitoraggio del device appena aggiunto. |
|
| |
|
|
| |
|
| ---- | | Per aggiungere il device alla ''Visualizzazione ad Albero'', è necessario andare in Console->Graph Trees->Default Tree->Add e aggiungere il device, impostando '''Host''' come ''Tree Item Type''. |
| [[User:MaXeR|MaXeR]] | | [[Categoria:Server]] |
| [[User:Soter|Soter]] | | [[Categoria:Networking]] |
| [[Categoria:Server]][[Categoria:Networking]] | | [[Categoria:Monitoring]] |