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.