[SSFR] Comptage + résultat

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


Bonjour à tous,

J'espère que vous allez tous bien, bientôt le week-end pour ceux qui
bossent ;-)

Voilà,

J'essai de mettre en place les dernières moulinettes que Christophe m'à
envoyé, ça fonctionne très bien.

Je me base donc sur le fichier de log qui est ici :
http://cmailhebuau.nerim.net/tmpend

Il est donc trié par date et heure d'arrivée d'alerte par Machine.

Jusque-là c'est nickel.

Ensuite je le tri avec la moulinette suivante que vous m'avez soumis
pour récupérer la date / heure de la première alerte pour une machine et
la dernière le fichier à la même tête mais moins de ligne forcément :

IFS=$'\n'
for host in $(cut -d: -f3 .tmpend | uniq); do
grep ":$host:" .tmpnet | sed -n '1p;$p' >> .tmpsortimehost
done

Je renvoi donc tout ça dans un fichier que je retraite (avec la
moulinette ci-dessous) comme ceci pour
récupérer cet aspect :

awk -F: 'NR % 2 { a = $1 ":" $2 ; next } { printf "%s %s:%s %s\n", a,
$1, $2, $3 }' .tmpsortimehost > .tmpfinal

ca me donne donc cet aspect :

[10-08-2005: 19-39-25] [10-08-2005: 20-25-44] AD2P-ADM-MASTER-01
[10-08-2005: 18-02-17] [10-08-2005: 23-57-40] AD2P-D4-APP-ABO01-01
[10-08-2005: 18-02-17] [10-08-2005: 23-57-39] AD2P-D4-APP-ABO01-02
[10-08-2005: 18-04-15] [10-08-2005: 23-52-15] AD2P-D4-APP-ABO01-03
[10-08-2005: 18-04-16] [10-08-2005: 23-54-12] AD2P-D4-APP-ABO01-04
[10-08-2005: 18-00-14] [10-08-2005: 23-54-17] AD2P-D4-APP-ABO01-05

Le soucis que j'ai maintenant c'est de coller à la suite les résultats
de calcul des alertes avec la dernière moulinette que m'à soumis
Christophe, qui est celle-ci :

awk -F : '
{
        mac = $3
  # si tu veux pas les 0 0 0  etc.... deplace la ligne
  # nmac[mac]=1
  # dans chacun des blocs ci dessous (sauf le bloc
  # END) bien sur.
  #nmac[mac]=1
}
/- CRITICAL -/ {
        nmac[mac]=1 
        CRITICAL[mac]++
        next
}
/- WARNING -/ {
        nmac[mac]=1
        WARNING[mac]++
        next
}
/- UNKNOWN -/ {
	nmac[mac]=1
	UNKNOWN[mac]++
	next
}
END
             {
	for( i in nmac ) {
	printf" %20s %:	%CRITICAL %%4d %WARNING %%4d %UNKNOWN %%4d\n", %i, %CRITICAL[i], %WARNING[i], %UNKNOWN[i] }
}
'.tmpend >> test

Elle compte bien (J'ai changé l'aspect des Critical du fichier en url,
il sont bien au format majuscule dans mon fichier que je traite) ca
marche très bien. Maintenant c'est de tout regrouper dans le meme
fichier.

voila ce que donne le fichier test qui regroupe les comptages par
machine :

AD2P-D4-APP-ABO02-05 : CRITICAL   50 WARNING    0 UNKNOWN    0
  AD2P-ZG-SDB-CFA-01 : CRITICAL    0 WARNING   96 UNKNOWN    0
AD2P-D4-APP-ABO02-06 : CRITICAL   49 WARNING    0 UNKNOWN    0
  AD2P-ZA-APP-SUP-01 : CRITICAL    0 WARNING    1 UNKNOWN    4
  AD2P-ADM-MASTER-01 : CRITICAL    0 WARNING    1 UNKNOWN    0
  AD2P-ZG-SDB-REC-01 : CRITICAL    0 WARNING   96 UNKNOWN    0

Il me manque juste la date/heure de première alerte et la dernière
date/heure de la dernière alerte.

Je cherche...

J'ai peut être zappé qqchose, c'est même sur !


bien à vous


-- 
Christophe Debutant



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