I'm struggling to get a trigger recovery to work properly. I'm working on some UPS monitoring that generates an alert when the device is turned off. I've got three models I'm monitoring and I am having issues with one of them.
This is the base expression for determining it is turned off:
That works fine for two of the models, but one of the models I'm monitoring is exhibiting behavior where - even when it is turned off - it reports positive voltage briefly:


This causes it recover, even though it is still actually off. The trigger generates an alert which feeds into our ticketing system, and the end result is that we get a constant stream of tickets. To get around this issue for that model, I have added a recovery expression to introduce some hysteresis. Here is how that trigger is defined:

What I'm going for is when voltage goes below 10v for 10 minutes, it triggers the problem (that part works) and when voltage goes above 119v for 15 minutes, it should be considered recovered. However, it seems to be ignoring that recovery criteria and recovering even if voltage spikes for less than 15 minutes. Typically I will see voltage spike anywhere from 2-6 minutes at the longest, but it doesn't matter. It recovers anyway. I've tried adjusting the polling period (it was originally 5 minutes, then tried 2 minutes, and now I'm at 1 minute). I've tried using min/max in expression instead of last. I've tried 5m, 10m, and 15m monitoring periods. None of this has worked.
I'm frankly stumped at this point, as the expressions seems to be formatted properly, and Zabbix is just ignoring it.
This is the base expression for determining it is turned off:
Code:
{net.str.ups.liebert-unity.TEST.tpl:upsOutputVoltage.max(2m)}=0
This causes it recover, even though it is still actually off. The trigger generates an alert which feeds into our ticketing system, and the end result is that we get a constant stream of tickets. To get around this issue for that model, I have added a recovery expression to introduce some hysteresis. Here is how that trigger is defined:
What I'm going for is when voltage goes below 10v for 10 minutes, it triggers the problem (that part works) and when voltage goes above 119v for 15 minutes, it should be considered recovered. However, it seems to be ignoring that recovery criteria and recovering even if voltage spikes for less than 15 minutes. Typically I will see voltage spike anywhere from 2-6 minutes at the longest, but it doesn't matter. It recovers anyway. I've tried adjusting the polling period (it was originally 5 minutes, then tried 2 minutes, and now I'm at 1 minute). I've tried using min/max in expression instead of last. I've tried 5m, 10m, and 15m monitoring periods. None of this has worked.
I'm frankly stumped at this point, as the expressions seems to be formatted properly, and Zabbix is just ignoring it.
Comment