GNU/Linux >> Tutoriels Linux >  >> Linux

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

Cet article fait partie de notre série d'articles sur la surveillance continue des performances.

Dans cet article, concentrons-nous sur la façon de surveiller le trafic réseau et de les enregistrer pour une analyse ultérieure à l'aide de l'utilitaire vnstat.

vnstat est un utilitaire de ligne de commande qui affiche et consigne le trafic réseau des interfaces sur vos systèmes. Cela dépend des statistiques réseau fournies par le noyau. Ainsi, vnstat n'ajoute aucune charge supplémentaire à votre système pour la surveillance et la journalisation du trafic réseau.

1. Installer vnStat

Installez vnStat sur votre système à partir du référentiel spécifique à vos distributions Linux.

Par exemple, sur Ubuntu, utilisez apt-get pour l'installer comme indiqué ci-dessous.

$ apt-get install vnstat

Si vous préférez l'installer à partir de la source, téléchargez la source de vnStat à partir d'ici ou utilisez le wget comme indiqué ci-dessous pour le télécharger et l'installer.

Veuillez noter que vous pouvez également utiliser Mergecap et Tshark pour analyser le trafic réseau.

wget http://humdi.net/vnstat/vnstat-1.11.tar.gz
cd vnstat-1.11
make
make install

Veuillez noter que vous n'avez pas besoin de faire "./configure" comme vous le faites généralement pour d'autres installations basées sur la source.

Étant donné que vnstat dépend des informations fournies par le noyau, exécutez la commande suivante pour vérifier si le noyau fournit toutes les informations attendues par vnStat.

# vnstat --testkernel
This test will take about 60 seconds.
Everything is ok.

2. Choisissez une interface à surveiller à l'aide de vnStat

vnStat ne surveille aucune interface à moins que vous ne le lui demandiez spécifiquement.

Pour commencer à surveiller eth0, procédez comme suit. Cela ne doit être exécuté qu'une seule fois. Comme vous le voyez ci-dessous, cela crée un fichier de base de données eth0 sous le répertoire /var/lib/vnstat qui contiendra tous les messages du journal de trafic réseau pour cette interface spécifique.

# vnstat -u -i eth0
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.

Pour afficher toutes les interfaces disponibles sur votre système que vnStat peut surveiller, procédez comme suit.

# vnstat --iflist
Available interfaces: lo eth0 eth1 sit0

Démarrez vnstatd (démon vnstat), qui surveillera et enregistrera ces informations en arrière-plan.

# vnstatd -d
# ps -ef | grep vnst
root     14353     1  0 09:12 ?        00:00:00 vnstatd -d
root     14355   330  0 09:12 pts/1    00:00:00 grep vnst

Remarque :Vous pouvez ajouter "vnstatd -d" à votre fichier /etc/rc.local, afin qu'il démarre automatiquement chaque fois que vous redémarrez votre système.

3. Utilisation de base de vnStat

vnstat sans aucun argument vous donnera un résumé rapide avec les informations suivantes :

  • La dernière fois que la base de données vnStat située sous /var/lib/vnstat/ a été mise à jour
  • À partir du moment où il a commencé à collecter les statistiques pour une interface spécifique
  • Les données statistiques du réseau (octets transmis, octets reçus) pour les deux derniers mois et les deux derniers jours.
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        29 MiB |      14 MiB |      43 MiB |

	 daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         4 MiB |       2 MiB |       6 MiB |

Remarque :Si vous venez d'installer le vnStat, il affichera le message suivant « eth0 :pas encore assez de données disponibles ». Attendez un moment et réessayez la commande.

4. vnStat heures, jours, mois, semaines Données réseau

Utilisez « vnstat -h » (ou) « vnstat –hours » pour la ventilation des données statistiques du réseau par heure. Cela affiche également un graphique basé sur du texte.

Utilisez « vnstat -d » (ou) « vnstat –days » pour la répartition des données statistiques du réseau par jour.

# vnstat -d
 eth0  /  daily
         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
      10/10/11      2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
      10/11/11      4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
      10/12/11      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
      10/13/11      2.06 MiB |    1.10 MiB |    3.16 MiB |    0.60 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         3 MiB |       1 MiB |       4 MiB |

Utilisez « vnstat -m » (ou) « vnstat –months » pour la ventilation des données statistiques du réseau par mois.

# vnstat --m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
      Oct '11     12.92 MiB |    6.96 MiB |   19.89 MiB |    0.15 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated        29 MiB |      14 MiB |      43 MiB |

Comme pour les jours et les mois, utilisez "vnstat -m" (ou) "vnstat -months" pour la répartition des données statistiques du réseau par semaine.

5. Exportez les données vers Excel ou une autre base de données

Si vous souhaitez exporter les données de surveillance du réseau vers une base de données Excel ou autre, vous pouvez vider les données dans un format texte délimité par un point-virgule, que vous pouvez importer vers Excel ou une autre base de données.

Les premières lignes de la sortie –dumpdb contiennent des informations d'en-tête. Après les lignes d'en-tête, il y a 30 lignes commençant par "d" ; (d;0;1318316406;1;0;386;698;1). Cette ligne contient les informations suivantes séparées par un point-virgule.

  • d – signifie jours
  • 0 – numéro du jour. 0 indique aujourd'hui.
  • 1318316406 – données au format Unix
  • Ensuite, il contient les octets transmis et reçus
$ vnstat --dumpdb
interface;eth0
created;1218562937
updated;1218546895
totalrx;3
totaltx;1
...
...
d;0;1328316406;1;0;386;698;1
d;1;1345262937;2;1;494;289;1

Vous pouvez également utiliser "vnstat –oneline", qui affiche le résumé du trafic sur une seule ligne où les valeurs sont délimitées par des points-virgules.

$ vnstat --oneline
1;eth0;10/11/11;1.45 MiB;801 KiB;2.23 MiB;0.59 kbit/s;Oct '11;3.93 MiB;2.06 MiB;6.00 MiB;0.05 kbit/s;3.93 MiB;2.06 MiB;6.00 MiB

6. Afficher les statistiques du réseau en direct

Utilisez « vnstat -l » ou « vnstat –live » pour afficher les informations statistiques du réseau en direct.

$ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:        2 kbit/s     5 p/s          tx:        2 kbit/s     4 p/s

Après avoir appuyé sur Ctrl-C pour l'arrêter, vnstat affichera un résumé de la période pendant laquelle le moniteur en direct était en cours d'exécution.

7. Modifier le format de sortie vnstat par défaut

Utilisez "vnstat -s" ou "vnstat -short" qui affichera un bref résumé des statistiques du réseau. Cela inclut les statistiques d'aujourd'hui, d'hier et du mois en cours.

$ vnstat -s (--short)

                      rx      /      tx      /     total    /   estimated
 eth0:
       Oct '11      3.93 MiB  /    2.06 MiB  /    6.00 MiB  /   13.00 MiB
     yesterday      2.48 MiB  /    1.28 MiB  /    3.76 MiB
         today      1.45 MiB  /     801 KiB  /    2.23 MiB  /      --

Vous pouvez également utiliser "vnstat -style 0", qui donnera une sortie de colonne étroite, plus facile à lire que la sortie de colonne plus large par défaut.

$ vnstat --style 0

Voici le numéro de style disponible :

  •  0 :sortie étroite
  • 1 – Activer la colonne de barre
  • 2 – Activer la colonne de barre et afficher le taux de trafic moyen en résumé
  • 3 – Afficher le taux de trafic moyen dans toutes les sorties
  • 4 - lorsqu'il est combiné avec le mode en direct (vnstat -l), désactive les caractères de contrôle du terminal

8. Afficher les 10 jours de trafic les plus fréquents

Utilisez « vnstat -t » ou « vnstat –top10 » pour afficher les 10 jours de trafic les plus fréquents.

$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   10/12/11       4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
    2   10/11/11       4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
    3   10/10/11       2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
    ....
   -----------------------------+-------------+-------------+---------------

Articles précédents de la série sur la surveillance et le réglage des performances Linux :

  • Introduction à la surveillance et à l'optimisation des performances de Linux
  • 15 exemples pratiques de commandes principales Linux
  • 7 exemples pratiques de commandes PS pour la surveillance de processus
  • 10 exemples Sar (Sysstat) utiles pour la surveillance des performances UNIX/Linux
  • 10 exemples iozone pour la mesure des performances d'E/S de disque sous Linux
  • 24 exemples iostat, vmstat et mpstat pour la surveillance des performances Linux

Linux
  1. Comment définir une adresse IP statique et configurer le réseau sous Linux

  2. Comment gérer les fichiers journaux à l'aide de Logrotate sous Linux

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

  4. Comment surveiller le commutateur réseau et les ports à l'aide de Nagios

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

Comment surveiller la disponibilité du système Linux à l'aide d'Uptimed

Surveiller le trafic réseau à l'aide de la commande netstat sous Linux

Comment installer nload pour surveiller le trafic réseau en temps réel

Comment configurer le réseau sous Linux à l'aide de Netplan et NMTUI

Comment surveiller le serveur Linux et les métriques à partir du navigateur à l'aide de Scout Realtime

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