Hi,

On Fri, Feb 6, 2015 at 3:06 PM, David Lang <[email protected]> wrote:

> On Fri, 6 Feb 2015, Joe Blow wrote:
>
>  Hey folks,
>>
>> I'm trying to parse some cisco ASA logs using rulebase rules.  Here is the
>> example rule:
>>
>> rule=: %begin:char-to:"%"%\x25ASA-%ddd:char-to:-%-%eee:number%: Teardown
>> TCP connection %cnumber:number% for outside:%ohost:ipv4%/%oport:number%
>> to
>> inside:%ihost:ipv4%/%iport:number% duration %duration:word% bytes
>> %msgbytes:number% TCP %flags:word% (%uname:word%)
>>
>> Which i'm hoping matches this (broken) rsyslog line:
>>
>> 06 2015 13:12:55: %ASA-6-302014: Teardown TCP connection 2127154348 for
>> outside:1.1.1.1/64053 to inside:2.2.2.2/443 duration 0:00:00 bytes 3267
>> TCP
>> FINs (myusername)
>>
>
>
> <snip>
>
>> Does anyone have any ideas for why none of my rulebase objects seem to
>> work?  The only data I receive in ES is this, which I believe confirms the
>> leading space and the broken date at the beginning (which i'm happy to
>> just
>> strip off).  Has anyone seen anything like this before?  Throwing rsyslog
>> into debug mode doesn't give me great debug logging related to the
>> mmnormalize module (that I can tell).
>>
>
> rsyslog has no way to debug mmnormalize items, but liblognorm has the
> tool: /usr/lib/lognorm/lognormalizer that you can use
>
> echo "log line" | /usr/lib/lognorm/lognormalizer -r ruleset -T
>
> will show you some output that will probably be originalmessage and
> notparsed, the notparsed is the part of the log message left when the
> parser gave up. If that doesn't help you figure out your problem, you can
> add -v which will give you a character-by-character breakdown of the
> parsing, look for the last thing before it starts backtracking.
>
> In your case, you have a problem that the flags is not always one word,
> it's one or more words. I posted what I had to do for this in an e-mail a
> day or so ago (mmnormalize thoughts).
>
> Also, to strip off the date and time at the beginning, you need to have a
> prefix that will match them or have it as part of your rule, otherwise it
> won't match. You can use a template to set a variable and have mmnormalize
> parse that variable instead of parsing $msg or $rawmsg.
>
> I've been doing a bunch of work on this in the last few days, I'll see
> about posting my config later today.
>
> We really do need to put together parse rulesets for the common log types,
> Cisco being probably the most common one that people need to parse.
> liblognorm has a spot on it's website for contributed rules, but nobody has
> contributed any :-(
>
> I'll see about posting what I have later today and let's see about sharing
> the effort for a bit. sound reasonable?


Are you saying you want to use llnorm to create grok-like, llnorm-based
patterns/rules for parsing common log formats and publishing them?  If so,
+1 for putting that somewhere VERY visible and easily contributable-to. :)

Thanks,
Otis
--
Monitoring * Alerting * Anomaly Detection * Centralized Log Management
Solr & Elasticsearch Support * http://sematext.com/
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to