MRTG et script externe

Résolu
El_tiranos -  
samira_bel Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis actuellement en stage dans une entreprise où le réseau informatique est plutot enorme.
Mon responsable de stage m'a alors demandé de comprendre et d'utiliser l'outil MRTG afin de pouvoir
gerer et surveiller le traffic de chaque interface réseau.Maintenant que je commence à maitriser (un peu) ce logiciel, il m'a demandé de me débrouiller pour que en cas de dépassement de seuil maximal de débit, s'affiche alors une alerte sur une page html que j'ai créé moi même.Sachant que lorsque le débit est compris entre 31,25 MB et 62.5MB l'alerte affichée doit etre en orange pr signifier un depassement de seuil d'alerte et lorque le débit est superieur a 62.5MB l'alerte afficher doit etre en rouge pr signifier un depassement de seuil critique.
J'ai donc créé un script en Perl qui va récupérer les informations des fichier logs et qui permet d'afficher une alerte ds les deux conditions citées au dessus.Ce script marche très bien,seul problème je voudrais qu'il soit intégré au fichier de config de mrtg pour qu'il soit executé toutes les 5min comme ce dernier.Je précises que je suis sous Windows XP et que j'ai beau essayé toutes les manips possible je n'arrive pas à ajouter RRDtool.
Voici le script que j'ai écri :

use Time::Piece ;
my($logs,$nom,$saler,$nbaler,$by1,$scrit,$nbcrit,$by2);
my($l,$timest,$moyin,$moyout,$maxin,$maxout);

open(FIC,"<c:\\www\\mrtg\\Logs\\LOGS.txt") or die ("open: $!");

while( defined ( $logs = <FIC> ) ) #boucle qui permet la recherche de tous les fichiers .log écrient dans le fichier LOGS.
{
($nom,$saler,$nbaler,$by1,$scrit,$nbcrit,$by2) = split ( / / ,$logs);
my $i = 1;
open(FIC2,"<c:\\www\\mrtg\\Logs\\$nom.log") or die ("open: $!");

while( defined ( $l = <FIC2> ) )
{
($timest,$moyin,$moyout,$maxin,$maxout) = split ( / / ,$l);

if ( $i == 1 ) #sert à éviter de compter la première ligne des fichiers .log
{
$i++;
}

elsif ( $nbaler <= $moyin && $moyin < $nbcrit ) #recherche le seuil d'alerte en entrée dans les fichiers .log et affiche la date de l'évènement
{
my $t = Time::Piece->new($timest);
$t->datetime;
print "Seuil d'alerte atteint en entree(superieur a $nbaler $by1): $moyin $by1 \nInterface: $nom \nDate d'alerte:",$t->datetime,"\n\n";
}
elsif ( $moyin >= $nbcrit ) #recherche le seuil critique en entrée dans les fichiers .log et affiche la date de l'évènement
{
my $t = Time::Piece->new($timest);
$t->datetime;
print "Seuil critique atteint en entree(superieur a $nbcrit $by1): $moyin $by1 \nInterface: $nom \nDate d'alerte:",$t->datetime,"\n\n";
}
elsif ( $nbaler <= $moyout && $moyout < $nbcrit ) #recherche le seuil d'alerte en sortie dans les fichiers .log et affiche la date de l'évènement
{
my $t = Time::Piece->new($timest);
$t->datetime;
print "Seuil d'alerte atteint en sortie(superieur a $nbaler $by1): $moyout $by1 \nInterface: $nom \nDate d'alerte:",$t->datetime,"\n\n";
}
elsif ( $moyout >= $nbcrit ) #recherche le seuil critique en sortie dans les fichiers .log et affiche la date de l'évènement
{
my $t = Time::Piece->new($timest);
$t->datetime;
print "Seuil critique atteint en sortie(superieur a $nbcrit $by1): $moyout $by1 \nInterface: $nom \nDate d'alerte:",$t->datetime,"\n\n";
}
}
close( FIC2 );
}
close( FIC );

Merci de vos réponses.
A voir également:

2 réponses

El_tiranos
 
J'ai en fait reussi à résoudre mon pb grace à un fichier .cmd que j'execute en tache planifié .
3
samira_bel Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour je suis actuellement en stage et je travail aussi sur mrtg , et on ma demander la meme chose (afficher des alerte en cas e depassement d'un seuil ,ou lorsqu'une interface tomb en panne..) ,s'il vous plait si c'est possible pouriez vous m'indiquer la procedure tant qque vous l'avez deja realisé .
merci davance
0