[glux] Statistiche ppp

@arminillo carminillo@tiscali.it
Sab 12 Giu 2004 18:25:07 CEST


Ciao,
nei giorni scorsi, ho creato un piccolo generatore di stistiche per il 
traffico ppp. Lo scopo era quello di tenere sotto controllo il traffico 
effettuato e non superare le soglie di traffico flat GPRS....
So che in giro ci sarà sicuramente qualcosa del genere in giro, ma data 
la semplicità dello script, ho pensato di crearmelo... una volta 
lanciato appare lo USAGE in cui viene indicato di specificare l'unità di 
misura dell'output e il mese per il quale si vogliono le statistiche. 
Io l'ho creato su una mandrake, e penso che funziona su tutte le 
distro... al massimo c'è da modificare il grep... vi posto il codice.


L'output è qualcosa del tipo:
Mese richiesto :: May
Unità di misura :: Megabyte
Inviati :: 50.10
Ricevuti :: 287.50
TOT :: 337.60



bye bye
@arminillo



------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#!/bin/bash

if [ $# -ne 2 ]
then
         printf "\n\tUSA: $(basename $0) <Unità di misura (b=bytes
k=kilobyte M=megabyte)> <Month
(Gen,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)>\n\n"
         exit 1
fi


mese=$2
case $1 in
         b) moltiplicatore=1 && unit=bytes ;;
         M) moltiplicatore=0.000001 && unit=Mbyte ;;
         k) moltiplicatore=0.001 && unit=kbyte ;;
         *) echo "Errore nel formato dati richiesto... esco" && exit 2 ;;
esac

### I parametri qui configurati vanno bene per quasi tutte le 
distrubuzioni... motivo per modificarli
### può essere quello di una personalizzazione del demone ppp o della 
dir/log di sistema

DIRLOG="/var/log"		## Indica la dir nella quale è contenuto il log da 
analizzare
LOG=syslog			## Indica il log da analizzare
PPPSTRING=pppd		## Indica la stringa gestita dal demone ppp

#######################################################################################

cd $DIRLOG

printf "\n\tGeneratore di stastiche ppp\n"

function inviati {
grep $PPPSTRING $LOG | grep Sent | grep ^${mese} | awk -v
moltiplicatore=$moltiplicatore '{sum += $7;} END { printf "%.02f", sum *
moltiplicatore;}'
}

function ricevuti {
grep $PPPSTRING $LOG | grep Sent | grep ^${mese} | awk -v
moltiplicatore=$moltiplicatore '{sum += $10;} END { printf "%.02f", sum
* moltiplicatore;}'
}

function totali {
grep $PPPSTRING $LOG | grep Sent | grep ^${mese} | awk -v
moltiplicatore=$moltiplicatore '{sum += $10;} {summ += $7;} END { printf
"%.02f", (sum + summ) * moltiplicatore; }'
}


printf "\nMese richiesto\t::\t${mese}\n"
printf "Unità di misura\t::\t${unit} \n\n"
printf "Inviati\t\t::\t$(inviati)\n"
printf "Ricevuti\t::\t$(ricevuti)\n\n"
printf "TOT\t\t::\t$(totali)\n\n"


----------------------------------------------------------------------------------------------------------------------------------------------------------------------



Maggiori informazioni sulla lista glux