[SSFR] Re: script

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


Hello

(thread rebalancé sur la liste après une vile évasion ;)


debian user a écrit :

Bonjour Philippe,

Tout d'abord je te remercie pour ta réponse.
J'ai une nouvelle question, je te joins quelques lignes pour mieux
t'expliquer :

[04-08-2005 18:00:01]
AD2P-D4-APP-ABO02-05;FICH_contenu_abos-02-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (83 = Erreur_majeure_JBOSS:83) |(1123171103) [04-08-2005 18:00:03]
AD2P-D4-APP-ABO02-03;FICH_contenu_abos-02-03.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (48 = Erreur_majeure_JBOSS:48) |(1123171154) [04-08-2005 18:00:03]
AD2P-D4-APP-ABO01-03;FICH_contenu_abos-01-03.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (16 = Erreur_majeure_JBOSS:16) |(1123171174) [04-08-2005 18:00:03]
AD2P-D4-APP-ABO02-06;FICH_contenu_abos-02-06.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (25 = Erreur_majeure_JBOSS:25) |(1123171182) [04-08-2005 18:00:19]
AD2P-ZG-APP-CFA02-01;RSCE_utilisation_cpu;1;WARNING - load average:
1.43, 1.56, 1.54 |(1123171180) [04-08-2005 18:01:09]
AD2P-ADM-MASTER-01;FICH_contenu_/var/log/messages:Detection_erreurs_system;CRITICAL;HARD;1;CRITICAL
- Critical - (1 => erreur_majeure_systeme:1) [04-08-2005 18:02:13]
AD2P-ZG-APP-CFA01-02;FICH_contenu_cfsa-01-02.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (1 = Erreur_majeure_JBOSS:1) |(1123171280) [04-08-2005 18:02:14]
AD2P-D4-APP-ABO01-04;FICH_contenu_abos-server.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (38 = Erreur_majeure_JBOSS:38) |(1123171236) [04-08-2005 18:02:17]
AD2P-D4-APP-ABO01-05;FICH_contenu_abos-01-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (49 = Erreur_majeure_JBOSS:49) |(1123171273) [04-08-2005 18:03:09] AD2P-ZG-SDB-CFA-01;RSCE_utilisation_swap;1;WARNING - Swap used: 79% (10577572 out of 13439316) |(1123171338) [04-08-2005 18:04:13]
AD2P-ZG-APP-CFA02-02;FICH_contenu_cfsa-02-02.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (1 = Erreur_majeure_JBOSS:1) |(1123171407) [04-08-2005 18:04:14]
AD2P-D4-APP-ABO01-01;FICH_contenu_abos-01-01.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (169 = Erreur_majeure_JBOSS:169) |(1123171375) [04-08-2005 18:04:17]
AD2P-D4-APP-ABO02-01;FICH_contenu_abos-02-01.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (41 = Erreur_majeure_JBOSS:41) |(1123171395) [04-08-2005 18:04:17]
AD2P-D4-APP-ABO02-04;FICH_contenu_abos-02-04.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (23 = Erreur_majeure_JBOSS:23) |(1123171425) [04-08-2005 18:04:17]
AD2P-D4-APP-ABO02-02;FICH_contenu_abos-02-02.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (30 = Erreur_majeure_JBOSS:30) |(1123171447) [04-08-2005 18:04:20]
AD2P-ZG-APP-CFA02-02;FICH_contenu_cfsa-02-02.log:Detection_erreurs_JBOSS;CRITICAL;HARD;1;CRITICAL
- Critical - (1 = Erreur_majeure_JBOSS:1) [04-08-2005 18:05:05]
AD2P-D4-APP-ABO01-02;FICH_contenu_abos-01-02.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (28 = Erreur_majeure_JBOSS:28) |(1123171473) [04-08-2005 18:05:07]
AD2P-D4-APP-ABO02-05;FICH_contenu_abos-02-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (38 = Erreur_majeure_JBOSS:38) |(1123171483) [04-08-2005 18:06:18] AD2P-ZG-SDB-REC-01;RSCE_utilisation_swap;1;WARNING - Swap used: 92% (3055600 out of 3317856) |(1123171477) [04-08-2005 18:06:18]
AD2P-D4-APP-ABO02-03;FICH_contenu_abos-02-03.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (12 = Erreur_majeure_JBOSS:12) |(1123171534) [04-08-2005 18:06:22]
AD2P-D4-APP-ABO01-03;FICH_contenu_abos-01-03.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (20 = Erreur_majeure_JBOSS:20) |(1123171554) [04-08-2005 18:06:22]
AD2P-D4-APP-ABO02-06;FICH_contenu_abos-02-06.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (29 = Erreur_majeure_JBOSS:29) |(1123171575) [04-08-2005 18:06:23]
AD2P-ZG-APP-CFA02-05;FICH_contenu_cfsa-02-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (4 = Erreur_majeure_JBOSS:4) |(1123171549) [04-08-2005 18:06:45]
AD2P-ZG-APP-CFA02-05;FICH_contenu_cfsa-02-05.log:Detection_erreurs_JBOSS;CRITICAL;HARD;1;CRITICAL
- Critical - (4 = Erreur_majeure_JBOSS:4) [04-08-2005 18:07:02]
AD2P-D4-APP-SUP-01;PROC_presence_crond;UNKNOWN;HARD;1;UNKNOWN - Can't
access `cmndline' field in class Proc::ProcessTable::Process at
/usr/local/nagios/libexec/check_presence_proc line 84 [04-08-2005 18:08:13]
AD2P-ZG-APP-CFA02-01;RSCE_utilisation_cpu;1;WARNING - load average:
1.56, 1.56, 1.54 |(1123171692) [04-08-2005 18:08:13]
AD2P-D4-APP-ABO01-04;FICH_contenu_abos-server.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (39 = Erreur_majeure_JBOSS:39) |(1123171622) [04-08-2005 18:08:13]
AD2P-D4-APP-ABO01-05;FICH_contenu_abos-01-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (54 = Erreur_majeure_JBOSS:54) |(1123171654) [04-08-2005 18:10:04]
AD2P-D4-APP-ABO01-06;FICH_contenu_abos-01-06.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (23 = Erreur_majeure_JBOSS:23) |(1123171722) [04-08-2005 18:10:05]
AD2P-D4-APP-ABO01-01;FICH_contenu_abos-01-01.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (179 = Erreur_majeure_JBOSS:179) |(1123171756) [04-08-2005 18:10:06]
AD2P-D4-APP-ABO02-04;FICH_contenu_abos-02-04.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (34 = Erreur_majeure_JBOSS:34) |(1123171803) [04-08-2005 18:12:13]
AD2P-ZG-APP-CFA01-05;FICH_contenu_cfsa-01-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (1 = Erreur_majeure_JBOSS:1) |(1123171847) [04-08-2005 18:12:14]
AD2P-D4-APP-ABO01-02;FICH_contenu_abos-01-02.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (24 = Erreur_majeure_JBOSS:24) |(1123171851) [04-08-2005 18:12:15]
AD2P-D4-APP-ABO02-05;FICH_contenu_abos-02-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (59 = Erreur_majeure_JBOSS:59) |(1123171863) [04-08-2005 18:12:20]
AD2P-ZG-APP-CFA01-05;FICH_contenu_cfsa-01-05.log:Detection_erreurs_JBOSS;CRITICAL;HARD;1;CRITICAL
- Critical - (1 = Erreur_majeure_JBOSS:1) [04-08-2005 18:13:09]
AD2P-D4-APP-SUP-01;PROC_presence_syslogd;UNKNOWN;HARD;1;UNKNOWN - Can't
access `cmndline' field in class Proc::ProcessTable::Process at
/usr/local/nagios/libexec/check_presence_proc line 84 [04-08-2005 18:14:08]
AD2P-D4-APP-ABO02-06;FICH_contenu_abos-02-06.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (70 = Erreur_majeure_JBOSS:70) |(1123171945) [04-08-2005 18:14:10]
AD2P-D4-APP-ABO01-04;FICH_contenu_abos-server.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (37 = Erreur_majeure_JBOSS:37) |(1123171996) [04-08-2005 18:14:10]
AD2P-D4-APP-ABO01-05;FICH_contenu_abos-01-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (19 = Erreur_majeure_JBOSS:19) |(1123172032) [04-08-2005 18:15:06]
AD2P-D4-APP-ABO01-06;FICH_contenu_abos-01-06.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (14 = Erreur_majeure_JBOSS:14) |(1123172103) [04-08-2005 18:16:09]
AD2P-ZG-APP-CFA02-05;FICH_contenu_cfsa-02-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (2 = Erreur_majeure_JBOSS:2) |(1123172059) [04-08-2005 18:16:17]
AD2P-D4-APP-ABO01-01;FICH_contenu_abos-01-01.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (181 = Erreur_majeure_JBOSS:181) |(1123172143) [04-08-2005 18:16:17]
AD2P-D4-APP-ABO02-01;FICH_contenu_abos-02-01.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (22 = Erreur_majeure_JBOSS:22) |(1123172146) [04-08-2005 18:16:59]
AD2P-D4-APP-SUP-01;PROC_presence_crond;UNKNOWN;HARD;1;UNKNOWN - Can't
access `cmndline' field in class Proc::ProcessTable::Process at
/usr/local/nagios/libexec/check_presence_proc line 84 [04-08-2005 18:18:08]
AD2P-ZG-APP-CFA02-01;RSCE_utilisation_cpu;1;WARNING - load average:
1.54, 1.63, 1.57 |(1123172199) [04-08-2005 18:18:13]
AD2P-ZG-APP-REC01-06;FICH_contenu_rech-01-06.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (2 = Erreur_majeure_JBOSS:2) |(1123172286) [04-08-2005 18:18:13]
AD2P-D4-APP-ABO02-02;FICH_contenu_abos-02-02.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (23 = Erreur_majeure_JBOSS:23) |(1123172197) [04-08-2005 18:18:13]
AD2P-D4-APP-ABO02-04;FICH_contenu_abos-02-04.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (120 = Erreur_majeure_JBOSS:120) |(1123172199) [04-08-2005 18:18:14]
AD2P-D4-APP-ABO02-05;FICH_contenu_abos-02-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (6 = Erreur_majeure_JBOSS:6) |(1123172236) [04-08-2005 18:18:14]
AD2P-D4-APP-ABO01-02;FICH_contenu_abos-01-02.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (30 = Erreur_majeure_JBOSS:30) |(1123172238) [04-08-2005 18:18:15]
AD2P-D4-APP-ABO02-03;FICH_contenu_abos-02-03.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (43 = Erreur_majeure_JBOSS:43) |(1123172294) [04-08-2005 18:19:00]
AD2P-ZG-APP-REC01-06;FICH_contenu_rech-01-06.log:Detection_erreurs_JBOSS;CRITICAL;HARD;1;CRITICAL
- Critical - (2 = Erreur_majeure_JBOSS:2) [04-08-2005 18:20:07]
AD2P-D4-APP-ABO01-03;FICH_contenu_abos-01-03.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (37 = Erreur_majeure_JBOSS:37) |(1123172317) [04-08-2005 18:20:07]
AD2P-D4-APP-ABO02-06;FICH_contenu_abos-02-06.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (69 = Erreur_majeure_JBOSS:69) |(1123172340) [04-08-2005 18:20:08]
AD2P-D4-APP-ABO01-04;FICH_contenu_abos-server.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (44 = Erreur_majeure_JBOSS:44) |(1123172374) [04-08-2005 18:20:08]
AD2P-D4-APP-ABO01-05;FICH_contenu_abos-01-05.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (46 = Erreur_majeure_JBOSS:46) |(1123172404) [04-08-2005 18:20:14]
AD2P-ZG-APP-CFA01-02;FICH_contenu_cfsa-01-02.log:Detection_erreurs_JBOSS;2;CRITICAL
- Critical - (4 = Erreur_majeure_JBOSS:4) |(1123172305) [04-08-2005 18:20:16] AD2P-ZG-SDB-CFA-01;RSCE_utilisation_swap;1;WARNING - Swap used: 79% (10577304 out of 13439316) |(1123172370)
Voilà, j'ai donc pu viré ce que je voulais avec sed, maintenant j'aurai
voulu savoir si tu saurais (ce que je ne doute pas) comment faire pour
trier maintenant la colonne des noms de machines AD2P-ZG-APP-REC01,
AD2P-D4-APP-ABO01-03 etc... par ordre alphabétique et par heure. C'est
histoire de consulter plus facilement les erreurs par machines.

Tu aurais du temps pour me faire une moulinette qui fait ça ?

A bientôt.

Je vais chercher de mon coté en attendant ta réponse.

A bientot



Logiquement, le tri par date est déjà fait, puisqu'il s'agit de l'ordre dans lequel les lignes sont écrites dans le log. Je pense que le plus simple, sans parler de script perl (qui risque d'être plus adapté dès lors que tu voudras aller plus loin) ou d'outils tels que swatch (versatile log analyser), est de ranger les lignes au fur et à mesures qu'elles sortent dans un fichier par machine. Par exemple:

mkdir /tmp/logs; cd /tmp/logs
cat /path/to/monlog.log | sed -e 's,^\(\[[^]]*\]\)[^;]*;\(.*\),\1 \2,' | while read -r line; do
   hostid=${line%%;*}
   hostid=${hostid##* }
   echo $line >> ${hostid}.log
done

Le traitement précédent (avec le sed) peut venir se coller dans le bloc, mais c'est pas conseillé (un fork à chaque sed). A l'issu du traitement, tu te retrouves avec un fichier par machine, que tu peux concaténer par un bête cat *.log > all.log A rappeler que tu peux avoir le tout en temps réel avec tail -f. Si ton log est /var/log/nagios/master.log, ça devrait donner:

tail -f /var/log/nagios/master.log | sed -e 's,^\(\[[^]]*\]\)[^;]*;\(.*\),\1 \2,' | while read -r line; do
   hostid=${line%%;*}
   hostid=${hostid##* }
   echo $line >> ${hostid}.log
done

(La substitution de variables avec %% et ## étant compatible bash1, je n'ai pas regardé du coté du pattern matching de bash2.)

A tester tout de même..
'chance  :-)

pj

--
Sparx Inc.
77 Avenue raymond Poincaré
75016 Paris
Tel. +33 (0) 1 44 34 29 21
Std +33 (0) 1 44 34 29 29
Fax +33 (0) 1 55 73 17 07
http://www.sparx.com



--
Sparx Inc.
77 Avenue raymond Poincaré
75016 Paris
Tel. +33 (0) 1 44 34 29 21
Std +33 (0) 1 44 34 29 29
Fax +33 (0) 1 55 73 17 07
http://www.sparx.com

begin:vcard
fn:Philippe Jacquot
n:Jacquot;Philippe
org:Sparx
adr:;;77 avenue Poincare;Paris;;75116;France
email;internet:philippe.j@xxxxxxxxx
title:System administrator
tel;work:+33 (0) 1 44 34 29 21
tel;fax:+33 (0) 1 55 73 17 07
x-mozilla-html:FALSE
url:http://www.sparx.com
version:2.1
end:vcard



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/