Hi everyone!
Using zabbix 3.4.4, I've setup triggers using the new forecast functionality to alert me before a hard disk is completely filled. The triggers fire fine, but I've got problems with their recovery. In fact, it looks as if the recovery expression is ignored, but the normal trigger expression is evaluated.
Exactly speaking, I'm using the following setup:
- one Trapper item (HDFreeFraction[_,OS]), that zabbix_sender sends into every five minutes
- one Calculated item (ZZZHDFreeFractionDailyMin[_,OS]), being recalculated every 1d by the formula min("HDFreeFraction[_,OS]",86400)
- a trigger with the expression {....:ZZZHDFreeFractionDailyMin[_,OS].forecast(#7,,7d)} < 0
and the recovery expression
{...:ZZZHDFreeFractionDailyMin[_,OS].forecast(#3,,7d)} > 0}
What happens now in the Latest Data is a sudden, one-time drop in the trapper item HDFreeFraction[_,OS], e.g., from 0.39 to 0.18:

In consequence, I'd expect the following behaviour:
1. The derived item ZZZHDFreeFractionDailyMin[_,OS] is re-calculated once its "1d" update interval is over. So this derived item will also display the sudden drop from 0.39 to 0.18.
2. This re-calculation triggers re-evaluation of the trigger expression (yielding true), so it goes into Problem state.
3. 1d later, the derived item is re-calculated again, yielding a value of 0.18.
4. This re-calculation triggers re-evaluation of the recovery expression (yielding false)
5. Another 1d later, the derived item is re-calculated again, yielding 0.18 once again. See this table of the values after another three days:

6. Now, re-calculation of the recovery expressions will only use the three values of 0.18. So the recovery expression will yield true, and the trigger will go into Normal state.
And it's this last step (6) that I'm missing. Instead, the trigger stays in Problem state for seven re-calculations of the derived item ZZZHDFreeFractionDailyMin[_,OS].
Since this problem keeps bugging me, I've already setup another calculated item to mimic the behaviour of the trigger. Thus, it is being recalculated (every 3600s) by the formula forecast("ZZZHDFreeFractionDailyMin[_,OS]",#3,,7d). This item shows exactly the behaviour I'm expecting, i.e., it recovers after three days:

So I'm at a complete loss. Is there something I'm doing completely wrong here?
If there's any details missing in my lenghty explanation, I'll happily add them.
Best wishes,
semue
Using zabbix 3.4.4, I've setup triggers using the new forecast functionality to alert me before a hard disk is completely filled. The triggers fire fine, but I've got problems with their recovery. In fact, it looks as if the recovery expression is ignored, but the normal trigger expression is evaluated.
Exactly speaking, I'm using the following setup:
- one Trapper item (HDFreeFraction[_,OS]), that zabbix_sender sends into every five minutes
- one Calculated item (ZZZHDFreeFractionDailyMin[_,OS]), being recalculated every 1d by the formula min("HDFreeFraction[_,OS]",86400)
- a trigger with the expression {....:ZZZHDFreeFractionDailyMin[_,OS].forecast(#7,,7d)} < 0
and the recovery expression
{...:ZZZHDFreeFractionDailyMin[_,OS].forecast(#3,,7d)} > 0}
What happens now in the Latest Data is a sudden, one-time drop in the trapper item HDFreeFraction[_,OS], e.g., from 0.39 to 0.18:
In consequence, I'd expect the following behaviour:
1. The derived item ZZZHDFreeFractionDailyMin[_,OS] is re-calculated once its "1d" update interval is over. So this derived item will also display the sudden drop from 0.39 to 0.18.
2. This re-calculation triggers re-evaluation of the trigger expression (yielding true), so it goes into Problem state.
3. 1d later, the derived item is re-calculated again, yielding a value of 0.18.
4. This re-calculation triggers re-evaluation of the recovery expression (yielding false)
5. Another 1d later, the derived item is re-calculated again, yielding 0.18 once again. See this table of the values after another three days:
6. Now, re-calculation of the recovery expressions will only use the three values of 0.18. So the recovery expression will yield true, and the trigger will go into Normal state.
And it's this last step (6) that I'm missing. Instead, the trigger stays in Problem state for seven re-calculations of the derived item ZZZHDFreeFractionDailyMin[_,OS].
Since this problem keeps bugging me, I've already setup another calculated item to mimic the behaviour of the trigger. Thus, it is being recalculated (every 3600s) by the formula forecast("ZZZHDFreeFractionDailyMin[_,OS]",#3,,7d). This item shows exactly the behaviour I'm expecting, i.e., it recovers after three days:
So I'm at a complete loss. Is there something I'm doing completely wrong here?
If there's any details missing in my lenghty explanation, I'll happily add them.
Best wishes,
semue
Comment