Flappende Trigger verhindern

Bei der Überwachung mittels Zabbix kann es sehr nervig sein, wenn ein Check flappt d.h. einmal knapp über dem Schwellwert und einmal knapp drunter und das immer schön abwechselnd. Das ergibt ein ständiges Auslösen und Fixen des Triggers, was auf die Dauer sehr mühsam ist. Um das zu minimieren gibt es das Hysteresis-Feature bei Zabbix. Dies ermöglicht es unterschiedliche Kriterien zu verwenden für das Auslösen und das Fixen eines Triggers.

Nehmen wir folgenden Trigger

{System:system.cpu.load.last()} > 5

dieser löst aus sobald die CPU Load über 5 geht. Nur dummerweise fixt er auch sofort wieder wenn die Load unter 5 geht. Wenn wir jetzt unterschiedliche Kriterien einführen wird der Trigger sehr viel flexibler

({TRIGGER.VALUE}=0 & {System:system.cpu.load.last()} > 5) | ({TRIGGER.VALUE}=1 && {System:system.cpu.load.last()} > 1)

Der Trigger löst immer noch bei einer Load von über 5 aus. Das Problem wird aber erst bei einer Load von unter 1 gefixt. Das Makro {TRIGGER.VALUE} gibt den aktuellen Triggerstatus zurück (0 für ok und 1 für Problem)