On 06/21/2011 12:01 PM, Ludovic Hutin wrote:
> Hi all,
>
>       The solution work, so it's enough for us. Add another tool for
> "transforming" the log is not the best idea (i think)
>       It's impossible for us to configure the tool to write in syslog. I
> think we have to best solution.
>
>       Another question, we would like to add a calendar for some rules
>       Example :
>           One traitement on work hour 'like 7AM to 8PM'
>           Another traitement on unworking hour like 8PM to 7AM and all
> the saturday / sunday
>
> rules are not optimize, it's the next step ;-)
> # I would like to execute this rules only on work hour like 7AM to 8PM
> type=EventGroup
> continue=TakeNext
> ptype=perlfunc
> pattern=sub { if ( $_[0] =~
> /ERROR,([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)/
> ) { \
>                   return ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,
> lc($13)); } else { return 0;} }
> count=lcall %ret $13 ->  ( sub { ++$ucounts3{$_[0]}; } ); \
>          write result/$13.login %t $8 ; \
>          add USER3_$13 $0
> desc=User $13 appear
> action=pipe 'envoiMail' /root/sendMail3.pl $13 ;
> multact=no
> end=lcall %ret $13 ->  ( sub { return delete $ucounts3{$_[0]}; } ); \
>       delete USER3_$13
> window=3600
> thresh=10
>
>
> # I would like to execute this rules only on non working hour like 8PM
> to 7AM and all the saturday / sunday
> type=EventGroup
> continue=TakeNext
> ptype=perlfunc
> pattern=sub { if ( $_[0] =~
> /ERROR,([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)/
> ) { \
>                   return ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,
> lc($13)); } else { return 0;} }
> count=lcall %ret $13 ->  ( sub { ++$ucounts3{$_[0]}; } ); \
>          write result/$13.login %t $8 ; \
>          add USER3_$13 $0
> desc=User $13 appear
> action=pipe 'envoiMail' /root/sendMail3.pl $13 ;
> multact=no
> end=lcall %ret $13 ->  ( sub { return delete $ucounts3{$_[0]}; } ); \
>       delete USER3_$13
> window=3600
> thresh=3
>
> What is the best way to do that is to that ?
>
>       Create a context for each calendar and add the context into the
> EventGroup rules ?

I'd say the best way is indeed to create a context from Calendar rule. 
There is one caveat, though -- if you create a context at a specific 
time only for N hours, it will not be recreated if SEC is restarted 
during this N hour window.

However, there is one fairly simple workaround:

type=Calendar
time=* 8-9 * * *
desc=create MYCONTEXT for 8AM-10AM
action=create MYCONTEXT 60

This rule will create the context MYCONTEXT (with a lifetime of 1 
minute) each minute from 8.00 to 9.59. Note that when SEC is restarted 
(or gets SIGHUP signal) between these times, the Calendar rule recreates 
MYCONTEXT.

If you don't want to have a gap between SEC restart and recreation of 
the context (with default settings it is 1 second), you can also call 
Perl's time() function from the rule's context expression and check the 
return value.

best regards,
risto

>
> Thanks a lot
>
> Ludovic.
>
>
> Le 20/06/2011 15:27, John P. Rouillard a écrit :
>> In message<4dff2088.4030...@ac-nancy-metz.fr>,
>> Ludovic Hutin writes:
>>
>>> Le 17/06/2011 15:49, John P. Rouillard a écrit :
>>>> In message<4dfb547b.3080...@ac-nancy-metz.fr>,
>>>> Ludovic Hutin writes:
>>>>>        I am back again, with another question, it's possible to set the
>>>>> context param to be case insensitive ?
>>>>>        In my first log, username come in lowercase, and into other log
>>>>> they come with some uppercase
>>>>>
>>>>>        context=USER_$13 with $13 in the first logs is "toto" and in the
>>>>> second log is "TOTO"
>>>>>        The result is simple, impossible to correlate the 2 entry :-(
>>>> The only thing that comes to mind immediately is to use a perlfunc for
>>>> the pattern and modify the case of the username. Something like:
>>>>
>>>>      ptype = perlfunc
>>>>      patterm = sub { if ( $_[0] =~ /(your) pattern with (NAME) (here)/ ) { 
>>>> \
>>>>                    return ($1, lc($2), $3); } else { return 0;} }
>>>>      context = name_$2
>>> I can say this solution works perfect. But now, i got a not easy
>>> configuration file ;)
>> Yes, you will definitely want to document what this rule does and why
>> it is needed.  I am guessing the systems you are working with use case
>> insensitive usernames so TOTO and toto are both the same user. So it
>> is a bit of a tricky correlation issue as well.
>>
>> Also for other seeing this thread in the mailing list, one other way
>> of handling it would have been to preprocess one of your logs using
>> something like sed or perl to convert your uppercase names to
>> lowercase (or the lowercase to uppercase). But this moves some of the
>> complexity outside of SEC which may or may not be desirable.
>>
>> --
>>                              -- rouilj
>> John Rouillard
>> ===========================================================================
>> My employers don't acknowledge my existence much less my opinions.
>
> ------------------------------------------------------------------------------
> EditLive Enterprise is the world's most technically advanced content
> authoring tool. Experience the power of Track Changes, Inline Image
> Editing and ensure content is compliant with Accessibility Checking.
> http://p.sf.net/sfu/ephox-dev2dev
> _______________________________________________
> Simple-evcorr-users mailing list
> Simple-evcorr-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users
>
>


------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Simple-evcorr-users mailing list
Simple-evcorr-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users

Reply via email to