Frage

Ich arbeite ein Projekt auf einem Server in csv verschiedenen zu analysieren. Hat jemand eine gute Perl-Skript oder gaffen Anweisung haben, die eine Standard-PIX / ASA log in CSV ...

analysieren kann

Danke.

Keine korrekte Lösung

Andere Tipps

Ich half schreiben Sie eine in-house Parse für PIX / ASA-Protokolle den ich nicht ganz teilen. Wir wollten Quell- und Zielinformationen für alle verkehrsbezogene Nachrichten haben, zum Beispiel. Am Ende haben wir ein Modul zu machen, dass jede Nachricht Code einzeln analysiert. Eine weitere Hürde ist, dass einige Informationen wie Protokollnamen und name Erklärungen zeigen als Alias, nicht Nummer oder IP in den Protokollen. Der CPAN-Modul PIX :: Walker, diese Probleme lösen helfen können.

Wenn alles, was Sie wollen, ist die Schwere, Code und Nachricht, die Sie verwenden können:

#!/usr/bin/perl

use strict;

if (-e $ARGV[0]) {
 open(INFILE,$ARGV[0]);
} else {
 die "Cannot open logfile $ARGV[0]\n";
}

foreach my $line (<INFILE>) {
 chomp $line;
 if (/^%(ASA|PIX)-(\d{1})-(\d{6}): (.*)/) {
  print "\"" . $1 . "\",\"" . $2 . "\",\"" . $3 . "\"\n";
 }
}

Aber wenn das alles, was Sie wollen, ich würde empfehlen, mit syslog-ng und MySQL mit einer Config wie:

options {
        long_hostnames(off);
        sync(100);
        stats(43200);
        use_fqdn(no);
        keep_hostname(yes);
        owner (nglog);
};

source udpsource { udp(ip(0.0.0.0) port(514));};

parser asa {
 csv-parser(colunms("ASA_SEV", "ASA_CODE", "ASA_TXT")
 flags(escape-none)
 delimiters("-:")
 );
};

destination d_sql { 
  sql(type(mysql)
  host("logserver") username("syslog-ng") password("password")
  database("logs")
  table("ASAlogs")
  columns("datetime", "host", "severity", "code", "message")
  values("$R_DATE", "$HOST", "$ASA_SEV", "$ASA_CODE", "$ASA_TXT")
  indexes("datetime", "host", "severity", "code"));
};

log { source{udpsource};
    log {parser(asa); destination(d_sql)};
};

Auf diese Weise in einer Datenbank ist, dass Sie Berichte ausführen können. Sie könnten auch eine sehr einfache PHP oder Ruby on Rails Web-Frontend machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top