I have 6.0.5 running in several clients and decided to start on V7 so I'll be ready when it releases. I built up a new home VM with Alpha 8, loaded the old database, fixed a bunch of odds and ends, and most stuff works, but...
I have some triggers that are simply not working and not sure why. I suspect that I have failed to see some change between 6.0.5 and now, which is why I am here not reporting a bug.
My underlying question is whether there is a good way to debug a trigger that I think should fire and is not.
The trigger expression is a self-recovering one (i.e. no recovery expression) and is this:
Code:
( {$EDGE_DEVICE}=1 and {TRIGGER.VALUE}=0 and last(/Flood8/pingCheck[{HOST.CONN},{HOST.HOST},{$INTERFACE_IP}])=0 ) or
( {$EDGE_DEVICE}=0 and {TRIGGER.VALUE}=0 and max (/Flood8/pingCheck[{HOST.CONN},{HOST.HOST},{$INTERFACE_IP}],#2)=0 ) or
( {TRIGGER.VALUE}=1 and min(/Flood8/pingCheck[{HOST.CONN},{HOST.HOST},{$INTERFACE_IP}],10m)=0 )
$EDGE_DEVICE is zero (though it really shouldn't matter here).
The trigger shows a solid "OK" on the trigger display.
The 6.0.5 version is still running and is identical for this host, and does show the trigger as triggered, which is correct. The 7.0 version is not showing anything in the log set to info.
I started a new log and did a log level increase for a couple minutes, and I can see the min and last evaluating and giving the expected value (zero). I can find expressions that are in the trigger being evaluated (as expected). I do not see any errors. I cannot find the actual evaluation of the fully evaluated trigger, at least not for sure. I do see things that may be it like this:
Code:
578403:20231207:044926.233 evaluate_expression(): ( 0=1 and "{TRIGGER.VALUE}"=0 and 0=0 ) or
( 0=0 and "{TRIGGER.VALUE}"=0 and 0=0 ) or
( "{TRIGGER.VALUE}"=1 and 0=0 ) => 0
What I do know is with (I think) the same database (one upgraded) and same IP, I am not getting a trigger in 7.
Am I missing something? Is there a way to actually isolate the evaluation of one trigger like this?
Comment