Aktionen

Trigger in Zabbix nicht sofort auslösen sondern erst nach mehrmaliger Prüfung

Aus znilwiki

1 Problem:

Da habe ich mir so ein schönes Template gebastelt welches mir automatisch alle Windows Dienste erfasst und mir einen Triger dazu baut ... und nun bekomme ich nach jeden Neustart des Servers ein duzend Emails dazu weil Dienst XY nochnicht gestartet ist.



2 Lösung 1

Zunächst dachte ich daran die Trigger-Prüfung einfach mit der System-Laufzeit (Item system.uptime) zu verbinden. So nach dem Motto "Erst wenn der Server mindestens 15 Minuten läuft und dann der Dienst nicht gestartet ist, dann melde dich bei mir".

Hat leider den Haken das das Template dann nicht eigenständig ist sondern mit dem z.B. von "Windows OS" verknüpft ist ... und ein zweites Item mit 'system.uptime' darf es ja nicht geben (jeder Begriff nur einmal pro Host).
Kann man also so machen, muss man aber nicht.



3 Lösung 2

Nun , bei mir wird das Item ob ein Dienst läuft alle z.B. 180 Sekunden abgefragt. Das Item sieht aus wie folgt:

service_state[BackupExecAgentBrowser]

Der Trigger dazu sah so aus:

{znil Template BackupExec 2010 Server Dienste ACTIVE AGENT:service_state[BackupExecAgentBrowser].last(0)}>0

Wenn also der letzte Rückgabewert ('.last(0)') größer als 0 ('>0') ist, dann schlage Alarm!
Zur Erinnerung: 0 bei einem Dienst heist der Dienst läuft.


Nun ändern wir das wie folgt:

{znil Template BackupExec 2010 Server Dienste ACTIVE AGENT:service_state[BackupExecAgentBrowser].min(#4)}#0

Übersetzung: Wenn die letzten 4 Werte alle nicht 0 waren, dann schlage Alarm.
Es müssen also 4 Prüfungen hintereinander Fehlgeschlagen sein bevor er Alarm schlägt.
Bei 180 Sekunden / 3 Minuten Prüfrythmus kommt der Alarm also erst nach 12 Minuten - genug Zeit nach einem Neustart und bei Updates zwischendurch.

Nachteil ist, das wenn der Dienst zwischendurch immer nur kurz ausfiele man dies nicht mekren würde.



--Bernhard Linz 17:36, 18. Nov. 2013 (CET)



mda@gmx.de

49 Monaten zuvor
Punktzahl 0++

Gleiches Problem hatte ich auch. ich habe das mit den Durchschnittswerten und mehreren Triggern gelöst. z.B. {znil Template BackupExec 2010 Server Dienste ACTIVE AGENT:service_state[BackupExecAgentBrowser].avg(720)}>0.4 Bei 2 Ausfällen innerhalb von 720 Sekunden (4 Prüfungen) schlägt er Alarm (z.B. 0 + 1 + 1 + 0 = 2 geteilt durch 4 = 0.5).

Der Wert (0.4) kann ich dann so einstellen, daß erst bei 3 bzw. 4 Prüfungen Alarm geschlagen wird ( >0.7 o. >0.9).

BLinz

3 Monaten zuvor
Punktzahl 0++
Eine bessere Lösung war übrigens den Start des Zabbix-Agenten auf "Automatisch - Verzögerter Start" zu setzen.
Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, trage deinen Namen oder deine Email-Adresse ein oder melde dich an. Du kannst das Feld auch einfach leer lassen.