ein Script benötigt PIX / ASA Protokoll in CSV Format
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 kannDanke.
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.