Parseur de LOG
gunbol
Messages postés
52
Statut
Membre
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
Je chercher à faire un script pour parser des logs, pour remonter une alerte. le fichier est sous la forme suivante:
timesamp1
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
timesamp3
Bla bla bla bla
Bla bla bla bla
Je veux pouvoir pour chercher le mot 'PATTERN' dans un message suivant, et ressortir quelque chose sous la forme:
ALERTE: PATTERN trouvé dans la log:
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
Les 'langages' à utiliser sont awk, ksh, éventuellement perl.
Au départ, j'ai voulu jouer avec RS et FS de awk en mettant RS='timestamp' et FS='\n', mais cela ne marche pas vu que RS (en awk ou en nawk) ne prend qu'un seul caractère en argument.
J'espère que j'ai pas été trop confus dans mes explications.
Avez vous une idée pour m'aider ?
Merci d'avance.
Gunther
Je chercher à faire un script pour parser des logs, pour remonter une alerte. le fichier est sous la forme suivante:
timesamp1
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
timesamp3
Bla bla bla bla
Bla bla bla bla
Je veux pouvoir pour chercher le mot 'PATTERN' dans un message suivant, et ressortir quelque chose sous la forme:
ALERTE: PATTERN trouvé dans la log:
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
Les 'langages' à utiliser sont awk, ksh, éventuellement perl.
Au départ, j'ai voulu jouer avec RS et FS de awk en mettant RS='timestamp' et FS='\n', mais cela ne marche pas vu que RS (en awk ou en nawk) ne prend qu'un seul caractère en argument.
J'espère que j'ai pas été trop confus dans mes explications.
Avez vous une idée pour m'aider ?
Merci d'avance.
Gunther
A voir également:
- Parseur de LOG
- Vpn no log - Guide
- View rescue log traduction - Guide
- Log freebox - Forum Freebox
- Log crash windows - Guide
- 0.log miui - Forum Logiciels
1 réponse
Salut,
Bon c'est en bash et avec sed, mais enfin si ça peut faire avancer le schmilblick...
Bon c'est en bash et avec sed, mais enfin si ça peut faire avancer le schmilblick...
jp@MDK:~/tmpfs ssh$ cat fich.log
timesamp1
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
timesamp3
Bla bla bla bla
Bla bla bla bla
timesamp4
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
timesamp5
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
jp@MDK:~/tmpfs ssh$ cat foo.sed
#n
/^timesamp/ {
:z
H
n
/^timesamp/ !{
b z
}
x
/PATTERN/ {
s/.*/ALERTE : PATTERN trouvé dans le LOG sur &/p
}
g
b z
}
jp@MDK:~/tmpfs ssh$ sed -f foo.sed fich.log
ALERTE : PATTERN trouvé dans le LOG sur timesamp2
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
ALERTE : PATTERN trouvé dans le LOG sur timesamp4
timesamp4
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
jp@MDK:~/tmpfs ssh$;-))