Relevés du trafic sur la carte réseau.
3) Installation du script de commande

Le script de commande checkNET.sh fait fonctionner le tout. On le téléchargera à partir de ce lien (choisir Enregistrer la cible sous...) et on le copiera sur le serveur Linux hors de visibilité du serveur Apache, c'est à dire ni dans les répertoires des pages html, ni dans les répertoires CGI. On lui donnera l'attribut exécutable pour root :

chown root:root checkNET.sh
chmod 700 checkNET.sh

Pour lire les données /proc/net/dev, le script ci-dessus fait appel à une routine Perl. Avec vi (ou tout autre éditeur Unix) on la créera dans le même répertoire en y mettant les instructions suivantes (on lui donnera aussi l'attribut exécutable pour root):

#!/usr/bin/perl -w
use Linux::net::dev;
my $devs = Linux::net::dev::info();
foreach (keys %$devs) {
print "$_:tx ($devs->{$_}->{tbytes}) ";
print "$_:rx ($devs->{$_}->{rbytes}) ";
}
print "\n";

Pour tenir compte de l'environnement spécifique, avec vi (ou tout autre éditeur Unix), on modifiera les 3 lignes ci-dessous dans checkNET.sh:

rrdfile="/datas/rrdtool/NETstats.rrd"; rrdtoolbin="/usr/local/rrdtool/bin/rrdtool"; htmldir="/WWW/utilities/net"; tempdir="/root/tmp";
bytesTXcolor=0000FF;
bytesRXcolor=990000;
bytesTXcolorBkgd=6666FF;
bytesRXcolorBkgd=FF6666;

rrdfile est le chemin d'accès et le nom de la base de donnée Round Robin.
rrdtoolbin est le chemin d'accès du logiciel rrdtool.
htmldir est le chemin d'accès des fichiers html des pages des relevés graphiques.
tempdir est le répertoire temporaire nécessaire pour l'exécution du script
bytesTXcolor couleur du graphique (lignes): trafic sortant
bytesRXcolor couleur du graphique (lignes): trafic entrant
bytesTXcolorBkgd couleur du graphique (fond): trafic sortant
bytesRXcolorBkgd couleur du graphique (fond): trafic entrant

Enfin, on configurera crontab de root pour exécuter ce script toutes les 5 minutes:

*/5 * * * *  /path_2_script/checkNET.sh  >  /dev/null 2>&1

path_2_script devant être modifié pour le chemin d'accès où vous avez placé le script. Si tout va bien :-), un relevé du trafic sera fait toutes toutes les 5 minutes et les fichiers suivants seront placés dans le répertoire du serveur Web:

net.png       relevés d'une journée.
net2.png      relevés d'une semaine.
lastdate.txt  date et heure du dernier relevé.
laststats.txt valeurs du trafic du dernier relevé.

Une fois ces fichiers créés la première fois, on y appliquera les mêmes droits et owner/group/world que les autres fichiers html de votre serveur (généralement 644).

Pour afficher vos graphiques, il restera à créer des pages html avec les images aux endroits voulus, par exemple:
‹img src="net.png"› pour placer le relevé journalier.

Pour utiliser les fichiers lastdate.txt et laststats.txt, le serveur Web devra être configuré avec SSI (Server Side Include) et l'extension de la page html changée en shtml. Par exemple, la date et la dernière température mesurée sera inclue sur la page à l'endroit voulu avec les instructions suivantes:
‹!--#include virtual="lastdate.txt" --›
‹!--#include virtual="laststats.txt" --›
Ce qui nous donnera quelque chose du genre:

Sun Jun 19 11:35:00 CEST 2005
bytes/sec: Out:6125 In:574

Vous pouvez très facilement modifier le script pour changer tous les paramètres des graphiques. Pour cela, bien entendu, vous aurez lu en détail le mode d'emploi de RRDTool.

Home : Linux : Relevés du trafic... : page précédente : script de commande : page suivante
© Georges Rosset 2005-2007