Précédent   Forum des professionnels en informatique > Systèmes > Linux > Réseau
Réseau Vos questions autour des réseaux et télécoms sous Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/08/2006, 17h31   #1
Rédacteur/Modérateur
 
Avatar de marcha
 
Homme Marc Chappuis
Développeur Web
Inscription : décembre 2003
Messages : 1 535
Détails du profil
Informations personnelles :
Nom : Homme Marc Chappuis
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2003
Messages : 1 535
Points : 2 206
Points : 2 206
Par défaut Mesure simple du traffic

Bonjour,

Je cherche à connaître le traffic sortant (et entrant) sur mon serveur
pour en calculer une moyenne mensuelle. Mais sans installer des usines
à gaz comme mrtg

la commande ifconfig renseigne avec TX bytes et RX bytes le nombre
total d'octets entrés et sorti. Mais cette valeur "déborde" et recommence
à zéro assez fréquemment.

J'ai pensé à faire un cron régulièrement, parser le résultat de ifconfig
et tester le débordement.

Est-ce que quelqu'un n'aurrait pas déjà un petit code dans le genre sous
la main ?

merci.
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
marcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2006, 18h47   #2
Rédacteur
 
Avatar de nyal
 
Inscription : septembre 2002
Messages : 611
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2002
Messages : 611
Points : 811
Points : 811
Envoyer un message via MSN à nyal
Bonjour,

Je conseille le projet munin: http://munin.projects.linpro.no/. Je ne vois pas en quoi ce sont des usines à gaz. Ces logiciels ne font qu'une chose.
nyal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2006, 18h57   #3
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
Citation:
Envoyé par nyal
Je conseille le projet munin: http://munin.projects.linpro.no/. Je ne vois pas en quoi ce sont des usines à gaz. Ces logiciels ne font qu'une chose.

+1 d'autant plus qu'il est facile de trouver l'extension qu'on souhaite... mais un peu moins, pour la programmer
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2006, 19h57   #4
Rédacteur/Modérateur
 
Avatar de marcha
 
Homme Marc Chappuis
Développeur Web
Inscription : décembre 2003
Messages : 1 535
Détails du profil
Informations personnelles :
Nom : Homme Marc Chappuis
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2003
Messages : 1 535
Points : 2 206
Points : 2 206
Merci, je vais tester
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
marcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2006, 21h09   #5
Scurz
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
On peut aussi trouver iftop qui est pas mal.

La commande de base iftop est bien, mais on peut facilement en savoir plus avec des options, man iftop
  Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 19h17   #6
Rédacteur/Modérateur
 
Avatar de marcha
 
Homme Marc Chappuis
Développeur Web
Inscription : décembre 2003
Messages : 1 535
Détails du profil
Informations personnelles :
Nom : Homme Marc Chappuis
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2003
Messages : 1 535
Points : 2 206
Points : 2 206
Merci pour vos idées, mais j'ai fini par écrire un petit script en php_cli, je le post
pour ceux que ça intéresse:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
#!/usr/bin/php -q
<?
  define('LAST', '/.../.../last.txt'); // fichier pour sauver la dernière mesure
 
  function subov($new, $old) {
    if($new >= $old) return $new - $old;
    return (0xffffffff+1)+$new - $old;
  }
 
  function calcDiff($rx, $tx) {
    $lastfile = LAST;
    if(!file_exists($lastfile)) {
      $oldrx = $rx;
      $oldtx = $tx;
    }
    else {
      $data = trim(file_get_contents($lastfile));
      list($oldrx, $oldtx) = explode("\t", $data);
    }
 
    $fh = fopen(LAST, 'w');
    fputs($fh, "$rx\t$tx");
 
    return array(subov($rx, $oldrx), subov($tx, $oldtx));
  }
 
  $data = shell_exec("/sbin/ifconfig | grep packets | head -2");
  $lines = explode("\n", $data);
  list($d1, $d2, $rx_packets) = preg_split("/[\s:]/", trim($lines[0]));
  list($d1, $d2, $tx_packets) = preg_split("/[\s:]/", trim($lines[1]));
  list($rx_diff, $tx_diff) = calcDiff($rx_packets, $tx_packets);
  $total = $rx_diff + $tx_diff;
  $stamp = time();
  $d = date("d.m.Y H:i:s", $stamp);
  echo "$d\t$stamp\t$rx_packets\t$tx_packets\t$rx_diff\t$tx_diff\t$total\n";
?>
Ensuite j'ai fait un cron qui appond le résultat à un fichier log.

Le script est à adapter suivant votre système peut-être ?
J'ai testé sur Debian Sarge
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
marcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h25.


 
 
 
 
Partenaires

Hébergement Web