In message <50c06562.8030...@seb.ee>,
Risto Vaarandi writes:
>On 12/05/2012 05:17 AM, John P. Rouillard wrote:
>> Currently the output of a state dump (generated with a kill -USR1)
>> looks like:
>>
>> Rule 1 at line 31 (Clear EVENT_PROCESSED) has matched 6431597 events
>> Rule 2 at line 51 (Skip all processing for slapd) has matched 14126179 events
>> Rule 3 at line 72 (Dispatch firewall accept lines) has matched 483828 events
>> Rule 4 at line 95 (Dispatch firewall rule lines) has matched 167890 events
>> [...]>>
>> I often find myself comparing counts, or summing counts etc. and I am
>> wondering if other people would also find this format better:
>>
>> Rule 1 at line 31  matched  6431597 events (Clear EVENT_PROCESSED)
>> Rule 2 at line 51  matched 14126179 events (Skip all processing for slapd)
>> Rule 3 at line 72  matched   483828 events (Dispatch firewall accept lines)
>> [...]
>> With this layout it is easier to see that rule 2 is hit the most and
>> rule 6 the least. Plus I can use awk/perl to pull field 7 and sum
>> them. This will take a little extra processing due to the right
>> aligned matched events count, but I don't think this processing would
>> be excessively burdensome.
>
>Currently I've changed the code and have two versions.
>For the first version the output is looking like this:
>
>Rule 1 at line 1 has matched 0 events (ssh event)
>Rule 2 at line 10 has matched 0 events (SSH login failure for $:{SSH:3})
>Rule 3 at line 18 has matched 0 events ($:{SSH2:time}: SSH login event 
>for user $:{SSH2:3} from IP $:{SSH:4} type $:{SSH:2})
>
>Nevertheless, for making the "matched" and "events" strings aligned 
>across all rows, an extra preliminary loop over the ruleset would be 
>required, which would establish the maximum length of the line number 
>and match counter. This extra loop is included in the second version:
>
>Rule 1 at line  1 has matched 30 events (ssh event)
>Rule 2 at line 10 has matched  0 events (SSH login failure for $:{SSH:3})
>Rule 3 at line 18 has matched 30 events ($:{SSH2:time}: SSH login event 
>for user $:{SSH2:3} from IP $:{SSH:4} type $:{SSH:2})
>
>Which one would you prefer? The second one is easier to grasp for a 
>human eye, but some extra CPU time has to be spent.

I think I prefer the second. More like a table and easier to scan
(ignoring the line wrap I assume was added by the mailer).  To cut
down on processing time, would it be worthwhile to:

   Cache the max line number (and max rule number) for the rule set
   when the ruleset is read in. That way the processing is done at
   load time not while you are up and running (yes I am assuming
   dynamic reloads will be fewer than status dumps).

   Perhaps some similar cache could be done for the match counter to
   record the maximum number of hits. But I don't like this as much
   as it adds processing steps to the main event processing loop.

Also, to get more info on a line I wonder if the "at" and "has" are
required. Is:

  Rule 1 line  1 matched 30 events (ssh event)

as readable? (maybe "Rule 1, line...").
--
                                -- rouilj
John Rouillard
===========================================================================
My employers don't acknowledge my existence much less my opinions.

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Simple-evcorr-users mailing list
Simple-evcorr-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users

Reply via email to