sabines
Goto Top

Monitoring Zabbix flapping hysteresis in den Griff bekommen

Kleine Anleitung/Hinweis für Neulinge bei/mit Zabbix

Wer kennt es nicht, ein Host oder Serverraum wird überwacht und löst in regelmäßigen Abständen einen
Alarm (mit Email Notification) aus, beim nächsten Prüflauf ist alles wieder okay und beim folgenden Prüflauf
wird der Schwellenwert überschritten und das Spiel fängt von vorne an.

Toppen kann man das Ganze noch, wenn man zusätzlich dazu eine Clear Email Notification definiert, die feuert, wenn alles wieder ok ist.

Wie kann ich das in den Griff bekommen?
Grundsätzlich sollte die Ursache behoben werden, im Fall einer Klimaanlage bspw. durch eine Wartung.

Oder:
Indem ich zur Problem Expression im Trigger eine zusätzliche Recovery Expression definiere!

Einfaches Beispiel:
Ein Temperatur Sensor soll ab 30 Grad auslösen.
Bei Messwerten von 31, 29, 31, 29 etc. kommt es zum Flapping.

Mit einer zusätzlichen Recovery Expression, kann ich definieren, wann der Trigger wieder zurückgestellt wird.
In diesem Fall, wenn die letzten 12 Messwerte unter 30 Grad liegen.
Je nach dem wie oft eine Messung durchgeführt wird, kann hier der Zeitraum verlängert oder verkürzt werden.
Und dadurch eine Flapping Pause von X Minuten konfigurieren.

zabbix

Das kann über einen Zeitraum oder auch auf die Anzahl der Werte angewendet werden:
count(/host/key,10m,"gt",12) #the number of values for the last 10 minutes until now that are over '12'
count(/host/key,#10,"gt",12) #the number of values within the last 10 values until now that are over '12'

So kann man auch definieren, dass ab 30 Grad gewarnt wird, aber erst ab 22 Grad entwarnt wird:
Problem Expression: last(/Sensor/Temperatur)>29
Recovery Expression: last(/Sensor/Temperatur)<23

Siehe auch hier:
www.zabbix.com/documentation/6.4/en/manual/appendix/functions/history?hl=count#count

Wichtig ist natürlich, dass die Messwerte für den Zeitraum verfügbar sind, wenn ich die Werte nicht vorhalte, wird's schwer mit dem Verarbeiten.

Zur Sicherheit kann ein weiterer Temperaturanstieg mit einem zusätzlichen Trigger abgefangen werden, der bspw. auslöst wenn der Wert über 35 liegt. Damit kann verhindert werden, dass der Temperaturanstieg nicht bemerkt wird.

Noch ein paar Beispiele vom Erfinder direkt:
blog.zabbix.com/no-more-flapping-define-triggers-the-smart-way/1488/

Content-ID: 668381

Url: https://administrator.de/contentid/668381

Printed on: October 15, 2024 at 07:10 o'clock

tech-flare
tech-flare Sep 25, 2024 updated at 21:05:54 (UTC)
Goto Top
Hallo,

kurze Ergänzung meinerseits, da wir dies erst beim Zabbix Sepcialist Training behandelt haben:

Ich würde die Werte nicht statisch eintragen, sondern mit Template Macros arbeiten. Dies hat den Vorteilen,dass du pro Host das Macro überschreiben kannst und somit pro Host die werte manuell anpassbar sind, wenn es die örtlichen Gegebenheiten erforderlich machen.

Bei uns in 2 Serverräumen haben wir bauartbedingt bis zu 3 Grad unterschieldiche Temperaturen ... ohne Macros müsste ich 2 Templates erstellen oder pro Hosts die Trigger manuell erstellen.

Gruß