Solution 1 :
Je suggère également d'utiliser VnStat
vnStat 1.6 by Teemu Toivola <tst at iki dot fi>
-q, --query query database
-h, --hours show hours
-d, --days show days
-m, --months show months
-w, --weeks show weeks
-t, --top10 show top10
-s, --short use short output
-u, --update update database
-i, --iface select interface (default: eth0)
-?, --help short help
-v, --version show version
-tr, --traffic calculate traffic
-l, --live show transfer rate in real time
eth0 / monthly
month rx | tx | total
-------------------------+--------------+--------------------------------------
Oct '09 225.70 GB | 798.52 GB | 1.00 TB %%%%:::::::::::::
Nov '09 138.46 GB | 616.54 GB | 755.01 GB %%::::::::::
eth0 / daily
day rx | tx | total
------------------------+-------------+----------------------------------------
31.12. 6.56 GB | 34.39 GB | 40.95 GB %%%::::::::::::::::
01.01. 1.13 GB | 746.92 MB | 1.86 GB
Solution 2 :
Ce que Zypher disait à propos de rrdtool (et de tout ce qui l'utilise comme backend - MRTG, Cacti, etc.) est probablement correct. RRDTool est conçu pour être un outil d'analyse des tendances historiques "moyennes". Il calcule la moyenne et stocke les compteurs par incréments de plus en plus non résolus au fur et à mesure que l'on remonte dans le temps.
Ceci est cependant configurable en configurant les RRA de manière appropriée. Cependant, j'avoue ne rien savoir de leur configuration et je n'ai jamais eu la chance de les obtenir au-delà de mon ensemble standard (15 minutes, 8 heures, 1 semaine, 1 mois, 1 an). Je recommanderais d'envisager de configurer les RRA pour s'attendre à une entrée quotidienne et de l'alimenter avec votre compteur de bande passante de netstat. Vous obtiendrez de très bonnes données historiques et un aperçu de vos habitudes d'utilisation.
Pour répondre à votre problème actuel, assurez-vous de ne pas dépasser une limite de bande passante quotidienne ; Je recommanderais de saisir quotidiennement les compteurs netstat pour l'interface en question. Vous pouvez comparer le trafic d'hier à l'instant t avec les compteurs d'aujourd'hui à l'instant t et découvrir combien a été transféré. Un script simple avec un stockage de fichier texte plat de la valeur précédente suffirait probablement. Vous pouvez ensuite désactiver l'interface si vous détectez un dépassement de bande passante ou la surveiller tout au long de la journée et informer un administrateur si vous approchez de votre limite.
Pour obtenir les octets d'entrée sur un système OSX, vous pouvez utiliser l'ensemble de commandes suivant :
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'
Inversement, la sortie peut être obtenue avec :
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'
Vous pouvez placer les compteurs pertinents dans un fichier plat stocké quelque part et le comparer avec :
#!/bin/bash
set -e # exit if any error occurs
previous_days_bytes_xferred=`cat $flatfile_storage`
todays_bytes_xferred=`netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'`
if [ $((todays_bytes_xferred - previous_days_bytes_xferred)) -gt $threshold ]; then
DO SOME STUFF
fi
echo $todays_bytes_xferred > $flatfile_storage
Ajustez simplement le traitement netstat pour qu'il corresponde à votre système (puisque je sais que vous n'exécutez pas OSX).
Solution 3 :
Le package sysstat contient l'utilitaire sar. Sar est un "profileur" système extrêmement configurable, faute d'un meilleur terme, qui collecte diverses statistiques à des intervalles prédéfinis (cron). Ceux-ci sont stockés dans des fichiers binaires, un pour chaque jour, qui font généralement l'objet d'une rotation hebdomadaire, mais qui sont configurables. Le programme sar peut être utilisé pour extraire les statistiques de ces fichiers, et ces résultats peuvent facilement être représentés graphiquement avec n'importe quel programme bureautique ou gnuplot (ma préférence personnelle).
http://pagesperso-orange.fr/sebastien.godard/ <=Informations Sar
http://www.gnuplot.info/ <=infos gnuplot
Solution 4 :
Vnstat est un excellent moniteur de trafic quotidien / hebdomadaire / mensuel basé sur une console. Il vous permet même de surveiller le trafic en temps réel, ce qui est pratique.
Il utilise également très peu de ressources système ;)
Solution 5 :
Vous voulez MRTG qui est un outil de surveillance de réseau, c'est la chose qui produit tous les graphiques de réseau que vous voyez sur le Web (avec rdtool pour transformer les chiffres en images)
Si vous ne voulez pas le configurer, ou si vous avez juste besoin de quelque chose de plus simple, vous pouvez utiliser iptables pour enregistrer le transfert de données.