Bonjour!
Une question me vient a l’instant. J’ai un serveur “maison” connecté a internet. Est-il possible de mesurer le débit sortant vers “l’internet” ?
De façon par exemple a pouvoir être avertis lorsque mon serveur occupe trop de bande passante montante.
J’utilise un premier script:
#!/bin/sh
DOWNLOADDEB=`grep eth1 /proc/net/dev | grep eth1 | awk '{print $1}' | sed -e 's/.*://'`
DATEDB=`date +%s`
while /bin/true ; do
sleep 900
DOWNLOAD=`grep eth1 /proc/net/dev | grep eth1 | awk '{print $1}' | sed -e 's/.*://'`
DATE=`date +%s`
if [ ! -z $DOWNLOAD ] && [ ! -z $DOWNLOADDEB ] ; then
DEBIT=$[($DOWNLOAD-$DOWNLOADDEB)/($DATE-$DATEDB)/128]
H=`date +%k`
M=`date +%M | sed -e 's/^0//'`
HEURE=$[$H*60+$M]
echo $HEURE" "$DEBIT >> Download.csv
DOWNLOADDEB=$DOWNLOAD
DATEDB=$DATE
fi
tail -n 80 Download.csv | sort -n -k1,1 | awk '{print $1/60" "$2/8}' | sed -e '1,$s/,/./g' > Down.csv
gnuplot plotdown.gpl > /tmp/down.ps
pushd /tmp
ps2pdf down.ps
convert -rotate 90 -resize 400x400 -gamma 0.3 down.ps down.jpg
cat down.jpg > /var/www/down.jpg
popd
plotdown.gpl contient
set term postscript
plot [0:24] [0:] "Down.csv" with linespoints
Tu as le résultat sur boisson.homeip.net
Je fais pareil avec le traffic montant:
#!/bin/sh
UPLOADDEB=`grep eth1 /proc/net/dev | awk '{print $9}'`
DATEDB=`date +%s`
while /bin/true ; do
sleep 900
UPLOAD=`grep eth1 /proc/net/dev | awk '{print $9}'`
DATE=`date +%s`
DEBIT=$[($UPLOAD-$UPLOADDEB)/($DATE-$DATEDB)/128]
H=`date +%k`
M=`date +%M | sed -e 's/^0//'`
HEURE=$[$H*60+$M]
echo $HEURE" "$DEBIT >> Upload.csv
UPLOADDEB=$UPLOAD
DATEDB=$DATE
tail -n 80 Upload.csv | sort -n | awk '{print $1/60" "$2/8}' > Up.csv
gnuplot plotup.gpl > /tmp/up.ps
pushd /tmp
ps2pdf up.ps
convert -rotate 90 -resize 400x400 -gamma 0.3 up.ps up.jpg
cat up.jpg > /var/www/up.jpg
popd
done
et set term postscript
plot [0:24] [0:100] "Up.csv" with linespoints
Va sur le site et regarde les deux courbes cote à cote.
PS: Va voir aussi l’état du RER à Paris, c’est une synthèse sur le traffic RER avec des stats toutes les 5 minutes, c’est mon dernier gadget…
Merci beaucoup!
Je ferais quelques tests et vous tiendrez au courant =)