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