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