Script perl recuperant une donnee dans un log

anobyv Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
-
Bonjour,

je suis un debutant dans la programmation Perl et je dois ecrire un script perl qui recupere une valeur dans un fichier log

ex du fichier log :


04/15/2014 11:41:52 AM - SPINE: Poller[0] Host[14] ERROR: Empty result [172.20.63.215]: '/usr/bin/perl /var/www/html/cacti/prod/scripts/cisco_if-cos.pl 172.20.63.215 demetero get dscp-out-rt-afa_drop 194'
04/15/2014 11:41:19 AM - SPINE: Poller[0] Host[14] ERROR: Empty result [172.20.63.215]: '/usr/bin/perl /var/www/html/cacti/prod/scripts/cisco_if-cos.pl 172.20.63.215 demetero get dscp-out-d3 194'
04/15/2014 11:40:54 AM - SPINE: Poller[0] Host[16] ERROR: Empty result [172.20.63.217]: '/usr/bin/perl /var/www/html/cacti/prod/scripts/cisco_if-cos.pl 172.20.63.217 demetero get dscp-out-d3-afa_drop 50'
04/15/2014 11:40:53 AM - SPINE: Poller[0] Host[14] ERROR: Empty result [172.20.63.215]: '/usr/bin/perl /var/www/html/cacti/prod/scripts/cisco_if-cos.pl 172.20.63.215 demetero get dscp-out-d3-afa 18'
04/15/2014 11:40:34 AM - SPINE: Poller[0] Host[14] ERROR: Empty result [172.20.63.215]: '/usr/bin/perl /var/www/html/cacti/prod/scripts/cisco_if-cos.pl 172.20.63.215 demetero get dscp-out-rtvi-afa 192'
04/15/2014 11:40:11 AM - SPINE: Poller[0] Host[16] ERROR: Empty result [172.20.63.217]: '/usr/bin/perl /var/www/html/cacti/prod/scripts/cisco_if-cos.pl 172.20.63.217 demetero get dscp-out-rtvi-afa 50'
04/15/2014 11:39:20 AM - SYSTEM THOLD STATS: Time:3.2504 Tholds:1074 TotalHosts:90 DownHosts:0 NewDownHosts:0
04/15/2014 11:39:16 AM - SYSTEM STATS: Time:255.1539 Method:spine Processes:1 Threads:13 Hosts:91 HostsPerProcess:91 DataSources:7356 RRDsProcessed:2528
04/15/2014 11:38:43 AM - SPINE: Poller[0] Host[17] ERROR: Empty result [172.20.63.218]: '/usr/bin/perl /var/www/html/cacti/prod/scripts/cisco_if-cos.pl 172.20.63.218 demetero get dscp-out-d3-afa_drop 130'


donc ce script recupere à chaque fois la valeur du dernier temps (time correspondant seulement à SYSTEM STATS) sachant que c'est un fichier qui s'actualise tous les 10 sec

Merci de votre aide



A voir également:

6 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 432
 
0

 
Bonjour,

Urgent ? Vraiment ? Serait-ce à rendre rapidement ?..

Les réponses sont données gratuitement par des personnes bénévoles selon leurs compétences et le temps dont elles disposent. Pour les vraies urgences, il est recommandé de consulter un professionnel.
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 432
 
Aie,

Pfffff, qu'est-ce que t'es lent... Aplu d'urgence ;-D
0

 
Bin ouais, y en a qui ont quatre bras... ,-))

Ton complément d'infos ci-dessous est bien aussi.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
anobyv Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
l'intention n'etait pas mauvaise ou presser qui que ce soit !!!!!
j'ai commencé a lire la doc sur Perl.....

votre aide est la bienvenue à votre guise :-)
0

 
Il te suffit de préparer une regexp matchant les lignes comportant
SYSTEM STATS
, avec une capture de l'heure, de passer toutes tes lignes du fichier dessus avec une boucle, et de restituer en fin de boucle la dernière valeur affectée (si au moins une ligne a matché).

Si tu débutes en Perl, pourquoi utilises tu ce langage pour faire ce script ? Utilise un autre langage dont tu serais plus familier. Tu pourrais le faire facilement avec grep et sed sous Linux / Unix, par exemple.

S'il s'agit réellement d'un exercice, ou que Perl t'est imposé, je t'encourage à coder toi même ton script, et si tu as une question précise, de la poser ici, avec ton code et la partie te posant pb.

Et, s'il s'agit réellement d'un exercice, lire le lien proposé par zipe31 ci-dessous s'impose (et lire ton cours et tes manuels).


Dal
0