Rechercher : dans
Par :

Perl analyse de fichiers-logs

Dernière réponse le 18 mar 2008 à 07:31:27 finelady, le 18 mar 2008 à 02:09:45 
 Signaler ce message aux modérateurs

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" ;

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Perl analyse de fichiers logs » dans :
Perl - Les fichiers Voir La notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
[Windows] Impossible de supprimer un fichier ou un dossier VoirSi Windows n'arrive pas à supprimer un fichier ou un dossier, la cause peut être l'une des suivantes : Le fichier ou le dossier à supprimer est utilisé par un processus du système Le dossier à supprimer contient des fichiers ou dossiers cachés ...
Editer le menu contextuel de Nautilus (navigateur de fichiers) VoirIl est facile d'ajouter des éléments dans le menu clic-droit de Nautilus (l'explorateur de fichiers d'Ubuntu). Il existe deux méthodes: avec nautilus-action avec nautilus-scripts Chacun a ses avantages: Les plus de nautilus...
Analyse des journaux d'événements (logs) VoirL'analyse des journaux Un des meilleurs moyens de détecter les intrusions consiste à surveiller les journaux d'événements (appelés aussi journaux d'activité ou en anglais logs). En effet, d'une manière générale les serveurs stockent dans des...
Perl - Caractéristiques du langage VoirFichier source, et interprétation Le fichier source d'un programme écrit en Perl est un simple fichier texte dont l'extension est par convention .pl. Ce fichier source doit être un fichier texte non formatté, c'est-à-dire un fichier texte dans sa...

1

 lami20j, le 18 mar 2008 à 07:31:27
  • +1

Salut,

logs de quoi?

while (<>) - lit quoi?
lami20j

Répondre à lami20j