Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Connaitre le traffic d'un serveur à un instant t
Envoyé par: simoryl

Salut,

Comme dit dans le sujet, j'aimerai connaître le traffic d'un serveur à un instant t. Ce serait un peu comme les graphes mrtg mais juste à un instant t.
Par exemple, toutes les 5min j'ai un cron qui lance un script et si ce script voit que le traffic est supérieur à XXMbits/s alors il envoit un mail.

Quelqu'un sait comment il est possible de récupérer cette info?

Merci

Simo'

Poste le Wednesday 7 May 2008 17:56:13
Répondre     Citer    
Re: Connaitre le traffic d'un serveur à un instant t
Envoyé par: oudoubah

Tu peux le calculer assez simplement :

Tu récupères la date en nombre de secondes.
Tu fais un cat de /sys/class/net/eth0/statistics/rx_bytes (eth0 ou ton autre interface) pour le nombre d'octets reçus.
tx_bytes pour le nombre d'octets envoyés.
Tu gardes ça au chaud dans un fichier.

Quand tu repasses, tu fais la même chose, puis tu calcules la différences d'octets reçus (envoyés) / seconde. Cela te donnera la moyenne. (sur 5 min si tu passes toutes les 5 min).

Si la seconde fois où tu passes, le nombre est inférieur à celui enregistré, c'est par exemple que la machine à rebooté. Dans ce cas, tu ne fais rien.

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Friday 9 May 2008 12:12:23
Répondre     Citer    
Re: Connaitre le traffic d'un serveur à un instant t
Envoyé par: lolotux

voilà ce que j'ai pondu :

#!/bin/sh

O1=`cat /sys/class/net/eth0/statistics/rx_bytes`; # à t=0s
sleep 1;                                          # attente 1s
O2=`cat /sys/class/net/eth0/statistics/rx_bytes`; # à t=1s


Delta=$(( $O2 - $O1 ));                           # La différence


echo "vitesse : "$Delta" o/s";

Software is like sex !
It's better when it's Free !

Poste le Friday 9 May 2008 18:57:38
Répondre     Citer    
Re: Connaitre le traffic d'un serveur à un instant t
Envoyé par: oudoubah

Je viens de revoir que la commande iftop peut donner des informations intéressantes.

Le problème de regarder ce qui se passe sur une seconde sur 300 (si on fait une interrogation par cinq minutes), c'est qu'elle n'est pas représentative de ce qui se passe. Il y a toutes les chances pour que certains pics de traffic ne soient pas détectés (voire de nombreux pics).
C'est pour ça que je préconiser utiliser un fichier distant pour mémoriser le nombre de bytes reçus et envoyés. Au moins, on sait ce qui a transité entre les 2 moments où on est passé.

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Sunday 11 May 2008 17:55:06
Répondre     Citer    
Re: Connaitre le traffic d'un serveur à un instant t
Envoyé par: simoryl

Merci pour vos réponses très intéressantes, je vais essayer pour voir ce que ça donne.
Je vais d'abord regarder la solution de Oudoubah et je vous tiens au courant. Si ça fonctionne, ce serait excellent!

Simo'

Poste le Tuesday 13 May 2008 10:16:50
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Connaitre le traffic d'un serveur à un instant t
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons