[syslog-ng] Problems parsing Cisco syslogs

N. Max Pierson nmaxpierson at gmail.com
Tue Feb 26 17:11:08 UTC 2019


I have all devices configured with this exact command minus the
show-timezone option and it doesn't seem to make a difference.

On Tue, Feb 26, 2019 at 11:03 AM Nik Ambrosch <nik at ambrosch.com> wrote:

> I had a similar issue, could you try installing this logging configuration
> on your cisco devices?
>
> service timestamps log datetime msec localtime show-timezone
>
>
> On Tue, Feb 26, 2019 at 11:36 AM N. Max Pierson <nmaxpierson at gmail.com>
> wrote:
>
>> Hi List,
>>
>> I have been trying to get something in place that can parse syslogs from
>> various Cisco devices. The message format is almost the same with a few
>> exceptions. Here is what I have tried and it works but now it has created
>> another problem I do not know how to troubleshoot.
>>
>> So that I could see exactly what was being parsed, I disabled the default
>> parsing using the below.
>>
>> source s_network { udp(ip(0.0.0.0) port(514) flags(no-parse)); };
>>
>> rewrite r_cisco{
>> subst('^<\d+>(\d+:|:)\s+(\.\w+|\w+)\s+\d+\s+\d+\s\d+:\d+:\d+:\s|^<\d+>:\s+\d+\s+\w+\s+\d+\s+\d+:\d+:\d+\s\w+:\s|^<\d+>(\d+:|:)\s',
>> "", value("MESSAGE"), type("pcre"), flags("ignore-case")); };
>>
>> destination d_mysql {
>>     sql(type(mysql)
>>     host("127.0.0.1")
>>     username("syslog-ng")
>>     password("password")
>>     database("syslog")
>>     table("messages_${HOST}")
>>     columns("datetime datetime", "host varchar(50)", "level varchar(10)",
>> "message text")
>>     values("${R_YEAR}-${R_MONTH}-${R_DAY} ${R_HOUR}:${R_MIN}:${R_SEC}",
>> "${HOST}", "${LEVEL}", "${MESSAGE}")
>>     indexes("datetime", "level")
>>     );
>> };
>>
>> log { source(s_network); rewrite(r_cisco); destination(d_mysql); };
>>
>> This works perfectly as it formats the message as I want and covers IOS
>> and NX-OS devices. The problem is when I turned off the default parser, now
>> all of my logs show "notice" in the $LEVEL macro and doesn't reflect the
>> real message header level. The $HOST macro still works fine however.
>>
>> Is this the expected behavior that the message header fields are not
>> parsed as well as the $MESSAGE itself not being parsed? How can map the
>> header level field properly to the $LEVEL marco if I disable the default
>> parser?
>>
>> Regards,
>> Max
>>
>>
>> ______________________________________________________________________________
>> 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
>>
>>
> ______________________________________________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.balabit.hu/pipermail/syslog-ng/attachments/20190226/11595116/attachment-0001.html>


More information about the syslog-ng mailing list