Perl analyse de fichiers-logs

Fermé
finelady Messages postés 3 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 23 mars 2008 - 18 mars 2008 à 02:09
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 18 mars 2008 à 07:31
Bonjour,
Bonjour,
Je veux faire un script en perl qui va faire une analyse de fichier log pour determiner :
-nombre de sessions ouvertes et fermées
-le nombre d'utilisateurs
-laduree couverture du log (dates hr)
-nbre de lignes-traces pr chque adresse visee
-nbre de trace pr chque service
-nbre de connexion popo,shs et ima-liste des adresses qu ont utiliser ssh
-et en fin liste adresse qui ont envoye un mail.
j ai commence avec ceci :

print "\n Debut d'analyse de logs\n\n" ;

while (<>) { $src .= $_ } ;
$_ = $src ;
$so = 0 ;
while (m| session opened for user (.*?) by |gs) {
$so++;
if ($so<5) { print " " .sprintf("%4d",$so)." $1\n"; }
elsif ($so==5) { print " ...\n\n" ; } ;
} ;
print " ".sprintf("%4d",$so)." sessions ouvertes\n" ;
while (m| session closed for (.*?) by |gs) {
$sc++;
} ;
print " ".sprintf("%4d",$sc)." sessions fermées\n" ;
print "\n Rebelote : \n\n" ;

@ach = ("session opened for user","session closed for") ;
foreach $mac (@ach) {
while (m|$mac (.*?) by |gs) { $nbs{$mac}++ ; } ;
} ;
foreach $mac (reverse sort @ach) {
print " ".sprintf("%-30s %6d",$mac, $nbs{$mac})."\n" ;
} ;
print "\nRécupération des utilisateurs\n" ;

$nu = 0 ;
foreach $mac (@ach) {
while (m|$mac (.*?) by |gs) {
$nu++ ;
$usr{$1}++ ;
if ($nu<5) { print " ".sprintf(" %5d %-15s %-25s",
$nu, $1, $mac)."\n" ; }
elsif ($nu==5) { print " ...\n" ; } ;
} ;
} ;
print "\n Num Utilisateurs Nb Sessions (o/c) \n" ;
$nu = 0 ;
foreach $uti (sort keys %usr) {
$nu++ ;
if ($nu<10) { print " ".sprintf(" %5d %-30s %6d",
$nu, $uti, $usr{$uti})."\n" ; }
elsif ($nu==10) { print " ...\n" ; } ;
} ;
print "\n -- fin d'analyse de logs\n\n" ;
A voir également:

1 réponse

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
18 mars 2008 à 07:31
Salut,

logs de quoi?

while (<>) - lit quoi?
1