I'm using Zabbix 3.2; I've configured mail alert Action for all triggers. My question is, Say trigger(A) alerts (Problem event) on escalation and returns to normal (Ok event alert) after few mintues. I need to stop the alert if same 'A' Trigger happened in next few mintues. How can it be possible? I've tried with this documentation; https://www.zabbix.com/documentation/3.2/manual/config/notifications/action/escalations
The question seems to be about preventing trigger flapping. In general, three methods are suggested:
last()
use avg(15m)
- then the alerting will happen only after the average value for 15 minutes has exceeded the threshold. Other useful trigger functions might be min()
and max()
All three methods achieve a similar outcome, but the key differences are:
Hysteresis will usually alert when a trigger would have flapped; delayed escalation steps will ignore short-lived problems.
Complexity-wise, I'd usually go with the first method - it is the easiest to configure, the hardest to misconfigure and the easiest to understand. I'd go with one of the two other methods if I specifically needed the way they make events/alerts behave - those methods have a bit higher potential to be misconfigured or misunderstood.
Note that the item key reference in the comment is wrong - host is separated from key with colon, full key name is missing and the parameter is wrong. See the agent key page in the manual for correct key syntax.