[syslog-ng] cisco rewrite code
Thomas Wollner
tw at wollner-net.de
Fri Oct 12 21:43:49 CEST 2012
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
I use the following to set the program name to the so called mnemonic:
filter f_rewrite_cisco_program {
match('%([^:]+):\s+([^\n]+)' value("MESSAGE") type("pcre")
flags("store-matches" "nobackref"));
};
rewrite r_cisco_program {
set("$1", value("PROGRAM") condition(filter(f_rewrite_cisco_program)));
set("$2", value("MESSAGE") condition(filter(f_rewrite_cisco_program)));
};
But Martin from ELSA Project has a more sophisticated way to match the
different types of timestamps included in the cisco message (it
depends on your log timestamp configuration):
filter f_rewrite_cisco_program { match('^(%[A-Z]+\-\d\-[0-9A-Z]+):
([^\n]+)' value("MSGONLY") type("pcre") flags("store-matches"
"nobackref")); };
filter f_rewrite_cisco_program_2 {
match('^[\*\.]?(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}(?:\.\d+)?(?:
[A-Z]{3})?: (%[^:]+): ([^\n]+)' value("MSGONLY") type("pcre")
flags("store-matches" "nobackref")); };
filter f_rewrite_cisco_program_3 { match('^\d+[ywdh]\d+[ywdh]:
(%[^:]+): ([^\n]+)' value("MSGONLY") type("pcre")
flags("store-matches" "nobackref")); };
filter f_rewrite_cisco_program_4 { match('^\d{6}:
[\*\.]?(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}(?:\.\d+)?(?:
[A-Z]{3})?: (%[^:]+): ([^\n]+)' value("MSGONLY") type("pcre")
flags("store-matches" "nobackref")); };
rewrite r_cisco_program {
set("$1", value("PROGRAM") condition(filter(f_rewrite_cisco_program)
or filter(f_rewrite_cisco_program_2) or
filter(f_rewrite_cisco_program_3) or filter(f_rewrite_cisco_program_4)));
set("$2", value("MESSAGE") condition(filter(f_rewrite_cisco_program)
or filter(f_rewrite_cisco_program_2) or
filter(f_rewrite_cisco_program_3) or filter(f_rewrite_cisco_program_4)));
};
hope it helps,
regards,
Tom
On 12.10.2012 21:34, Sébastien Pasche wrote:
>
> On 10/12/2012 06:04 PM, Evan Rempel wrote:
>
>> Does anyone have a pre build set of patterns/rewrite rule to
>> rewrite
> all cisco
>> logs into something that is a little more compliant?
>
>> We are trying to use a master pattern database to
>> identify/classify
> messages,
>> but the cisco logs don't have usable "program names" so the
>> pattern
> database
>> can't even get started :-(
>
>> Thanks for any pointers.
>
> Hello :)
>
> What I usually do is to filter with something like that :
>
> filter ciscoIos { facility(local7) or (program("%PIX-[^-]+-[^-]+")
> or program("%ASA-[^-]+-[^-]+") or program("%FWSM-[^-]+-[^-]+"));
> };
>
> then I send log back to 127.0.0.1 with cisco as program name and
> specifying the message field.
>
> rewrite rs_cisco { set('$PROGRAM: $MESSAGE' value("MESSAGE"));
> set("cisco" value("PROGRAM")); };
>
> Hope that help you..
>
> Seb
>
>
> ______________________________________________________________________________
>
>
Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation:
> http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/
iD8DBQFQeHL1TCCRT+dccOYRAmKDAKDMZZ3NketEY94PN+CX2J5pa+vMkgCgo5PW
GJROwdt07tKPljTiRNiaMTs=
=LJfS
-----END PGP SIGNATURE-----
More information about the syslog-ng
mailing list