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.
fonte guide.debianizzati .org
Procediamo con la pubblicazione di un semplice script bash per la generazione dei file di configurazione, la prima rchiesta dei dati SNMP ai vari apparati confgurati nello script e la generazione delle pagine index per i relativi apparati.
#!/bin/bash
# 2011-05-13 START WORK
#
# Script per la configurazione di mrtg
#
### VARIABLES
# Incrementare il numero in base ai device che verranno configurati
devicen=2
### ARRAY IP
array0=( DeviceIp01 DeviceIp02 )
### ARRAY CONF NAME
array1=( DeviceName01 DeviceName02 )
##########################################################################################
# Don't edit Here
### COSTANTS
null=/dev/null
### BINARIES
mrtg=/usr/bin/mrtg
cfgmaker=/usr/bin/cfgmaker
indexmaker=/usr/bin/indexmaker
sleep=/bin/sleep
### CONF
cfgdir=/etc/mrtg
logdir=/var/log/mrtg
workdir=/var/www/mrtg
### COMMANDS
for (( y=0; y<$devicen; y++ )); do $cfgmaker public@${array0[$y]} --output=$cfgdir/${array1[$y]}.cfg $sleep 5 env LANG=C $mrtg $cfgdir/${array1[$y]}.cfg --logging $logdir/${array1[$y]}.log 1>$null 2>$null
$sleep 5
$indexmaker --clicktext --title=${array1[$y]} --output=$workdir/${array1[$y]}.htm $cfgdir/${array1[$y]}.cfg
$sleep 5
done
ora proseguiamo con un semplice script, derivato dal precedente, per eseguire tramite un semplice crontab, la richiesta ed il conseguente aggiornamento dei grafici.
#!/bin/bash
# 2011-05-13 START WORK
#
# Script per la configurazione di mrtg
#
### VARIABLES
# Incrementare il numero in base ai device che verranno configurati
devicen=2
### ARRAY IP
array0=( DeviceIp01 DeviceIp02 ... )
### ARRAY CONF NAME
array1=( DeviceName01 DeviceName02 ... )
##########################################################################################
# Don't edit Here
### COSTANTS
null=/dev/null
### BINARIES
mrtg=/usr/bin/mrtg
cfgmaker=/usr/bin/cfgmaker
indexmaker=/usr/bin/indexmaker
sleep=/bin/sleep
### CONF
cfgdir=/etc/mrtg
logdir=/var/log/mrtg
workdir=/var/www/mrtg
### COMMANDS
for (( y=0; y<$devicen; y++ )); do
env LANG=C $mrtg $cfgdir/${array1[$y]}.cfg --logging $logdir/${array1[$y]}.log 1>$null 2>$null
$sleep 5
done