GNU/Linux >> Tutoriels Linux >  >> Linux

Linux :Comment mesurer le trafic réseau quotidien/mensuel ?

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.


Linux
  1. Linux - Comment annuler le partage du réseau pour le processus actuel ?

  2. Linux - Comment mesurer et empêcher la dérive de l'horloge ?

  3. Linux - Comment transférer le trafic entre les espaces de noms réseau Linux ?

  4. Comment surveiller et enregistrer le trafic réseau sous Linux à l'aide de vnStat

  5. Comment définir l'interface réseau préférée sous Linux

Comment trouver les interfaces réseau disponibles sous Linux

Comment changer l'adresse MAC du réseau sous Linux

Comment installer et utiliser l'analyseur de trafic réseau Linux basé sur le Web de Darkstat

Comment ajouter une route sous Linux

Comment configurer Linux en tant que routeur statique

Comment utiliser la commande netstat sous Linux