Pregunta

Estoy trabajando un proyecto para analizar diferentes en un servidor en csv. ¿Alguien tiene una buena sentencia de script Perl o gawk que puede analizar un PIX estándar / registro de ASA en CSV ...

Gracias.

No hay solución correcta

Otros consejos

Me ayudó a escribir un análisis sintáctico de la casa para los registros de PIX / ASA, que no puedo compartir. Queríamos tener información sobre su origen y destino de todos los mensajes relacionados con el tráfico, por ejemplo. Terminamos haciendo un módulo que analiza cada código de mensaje de forma individual. Otro obstáculo es que alguna información como nombres de protocolos y declaraciones name muestran como el alias, no el número o la dirección IP en los registros. El PIX módulo CPAN :: Walker puede ayudar a resolver esos problemas.

Si lo que quieres es la gravedad, el código y el mensaje se puede usar:

#!/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";
 }
}

Pero si eso es todo lo que quiere le recomiendo usar syslog-ng y mysql con una configuración como:

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)};
};

De esta manera es en una base de datos que se puede ejecutar informes de. También puede hacer un PHP muy simple o Ruby on Rails interfaz web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top