Hi,
i did the same test you did, just with an error in the pattern matching 😊

it’s beautifully working now!

Thanks a lot for the help, it was very precious!


Best regards,
M

Da: Risto Vaarandi <risto.vaara...@gmail.com>
Inviato: mercoledì 15 marzo 2023 19:20
A: Spelta Edoardo <edoardo.spe...@beta80group.it>
Cc: simple-evcorr-users@lists.sourceforge.net
Oggetto: Re: [Simple-evcorr-users] Duplicate suppression and rearming




  1.  As long as we exclude the longer window expiration case (so we just want 
to suppress events for 10 secs), why you suggest to use two Single rules 
instead of a SingleWithSuppress ?

I’m referring to these rules:
type=Single
ptype=RegExp
pattern=event_(\w+)
context=!SUPP_$1
desc=react to event $1 and set up suppression
action=write - We have observed event $1; create SUPP_$1 10

type=Single
ptype=RegExp
pattern=event_(\w+)
context=SUPP_$1
desc=do not react to event $1 and only update its suppression context
action=set SUPP_$1 10



  1.  Does SingleWithSuppress use a sliding window ? According to my latest 
tests it does not, so it should be equivalent to your two Single 
rules..shouldn’t it ?

 you are correct that the SingleWithSuppress rule does not use a sliding 
window. In contrast, the above two rules implement the sliding suppression 
window.






  1.  For the more complex scenario, when you  introduced also a MAXLIFE 
context of 60 secs, so i’m referring to:

type=Single
ptype=RegExp
pattern=event_(\w+)
context=!SUPP_$1
desc=react to event $1 and set up suppression
action=write - We have observed event $1; \
       create SUPP_$1_MAXLIFE 60 ( delete SUPP_$1 ); \
       create SUPP_$1 10 ( delete SUPP_$1_MAXLIFE )

type=Single
ptype=RegExp
pattern=event_(\w+)
context=SUPP_$1
desc=do not react to event $1 and only update its suppression context
action=set SUPP_$1 10



..as far as i can see, the shortest 10secs context will always expire first, 
thus deleting the MAXLIFE as well…so in the end this behaves just like the 
longer context does not exist at all. It seems equivalent to your rules in 
bullet 1), am i wrong ?

the lifetime of SUPP_$1 context is extended for another 10 seconds on each 
matching event, so the SUPP_$1 context can actually have a longer lifetime than 
SUPP_$1_MAXLIFE.


I’ve been generating identical events every two seconds, and with those two 
rules i get 1 line every 10 seconds…instead i would expect to get one every 60 
seconds…because i expected the 10sec window to be constantly sliding thus 
suppressing everything until the 60 seconds windows expires and basically reset 
everything.

What am i missing ?


May I ask what is the format of the events you are generating, and do they all 
look the same (for example, event_A)?

I have tested the ruleset with events "event_A" that are generated after every 
5 seconds with the following command line:

while true; do echo event_A >>test.log; sleep 5; done

Also, before starting the above command line, I executed sec with the following 
command line that monitors test.log for incoming events. In addition, this 
command line writes a detailed debug log to sec.log:

sec --conf=test.sec --input=test.log --log=sec.log

Here is the content from sec.log:

Wed Mar 15 19:56:28 2023: SEC (Simple Event Correlator) 2.9.1
Wed Mar 15 19:56:28 2023: Reading configuration from test.sec
Wed Mar 15 19:56:28 2023: 2 rules loaded from test.sec
Wed Mar 15 19:56:28 2023: No --bufsize command line option or --bufsize=0, 
setting --bufsize to 1
Wed Mar 15 19:56:28 2023: Opening input file test.log
Wed Mar 15 19:56:28 2023: Interactive process, SIGINT can't be used for 
changing the logging level
Wed Mar 15 19:56:31 2023: Writing event 'We have observed event A' to file '-'
Wed Mar 15 19:56:31 2023: Creating context 'SUPP_A_MAXLIFE'
Wed Mar 15 19:56:31 2023: Creating context 'SUPP_A'
Wed Mar 15 19:56:36 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:56:41 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:56:46 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:56:51 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:56:56 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:57:01 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:57:06 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:57:11 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:57:16 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:57:21 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:57:26 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:57:31 2023: Changing settings for context 'SUPP_A'
Wed Mar 15 19:57:32 2023: Deleting stale context 'SUPP_A_MAXLIFE'
Wed Mar 15 19:57:32 2023: Deleting context 'SUPP_A'
Wed Mar 15 19:57:32 2023: Context 'SUPP_A' deleted
Wed Mar 15 19:57:32 2023: Stale context 'SUPP_A_MAXLIFE' deleted
Wed Mar 15 19:57:36 2023: Writing event 'We have observed event A' to file '-'
Wed Mar 15 19:57:36 2023: Creating context 'SUPP_A_MAXLIFE'
Wed Mar 15 19:57:36 2023: Creating context 'SUPP_A'

As you can see, the event "event_A" that appeared at 19:56:31 triggered a 
notification message, and also, suppression contexts were set up. Also, after 
every 5 seconds debug messages "Changing settings for context 'SUPP_A'" appear. 
These messages reflect the execution of the 'set SUPP_A 10' action when the 
event "event_A" appears. Finally, at 19:57:32 (61 seconds after 19:56:31) the 
context SUPP_A_MAXLIFE becomes stale, and when this context is going through 
the deletion process, the context SUPP_A is also deleted (see the "Context 
'SUPP_A' deleted" debug message). The disappearance of both contexts ends the 
event suppression process, and when the next event "event_A" appears at 
19:57:36, a notification is again printed to standard output.

Did you generate events with the *same* suffix in real-time and provided them 
to SEC in the fashion as described above? If you want to debug the ruleset 
interactively in a quick way, you can also use smaller timeouts than 10 and 60 
seconds, and monitor events from standard input with the --input=- command line 
option. This allows you to type input events from the keyboard and observe what 
kind of SEC debug messages are produced in a terminal window.

Hope this helps,
risto
_______________________________________________
Simple-evcorr-users mailing list
Simple-evcorr-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users

Reply via email to