Вопрос

Я работаю над проектом, чтобы проанализировать различные на сервере в CSV. У кого -нибудь есть хороший сценарий Perl или оператор Gawk, который может проанализировать стандартный журнал Pix/ASA в CSV ...

Спасибо.

Нет правильного решения

Другие советы

Я помог написать внутренний разбор для журналов Pix/ASA, которым я не могу поделиться. Например, мы хотели получить информацию об исходной и назначении для всех сообщений, связанных с трафиком. В итоге мы создали модуль, который проанализировал каждый код сообщения индивидуально. Еще одно препятствие - это некоторая информация, такие как названия протоколов и name Объявления отображаются как псевдоним, а не номер или IP в журналах. CPAN Module Pix :: Walker может помочь решить эти проблемы.

Если все, что вам нужно, это серьезность, код и сообщение, которые вы можете использовать:

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

Но если это все, что вам нужно, я бы порекомендовал использовать Syslog-NG и MySQL с таком конфигурацией:

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

Таким образом, это в базе данных, из которой вы можете запустить отчеты. Вы также можете сделать очень простой PHP или Ruby на веб -интерфейсе Rails.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top