Öffnet in einem neuen Tab
Anruf
RustDeskKontakt
anyWARE Fernwartung
Fernwartung
Wissen & Aktuelles

Eigene Zabbix-Prüfungen: Aussagekräftige Messwerte statt Scheinsicherheit

4.7.2025 · Inhaltlich überarbeitet am 29.10.2026

Standardmetriken beantworten nicht jede Betriebsfrage. Eigene Prüfungen können anwendungsspezifische Zustände sichtbar machen – wenn Rückgabewerte, Fehlerfälle und Aussagegrenzen klar definiert sind.

Zuerst festlegen, was Erfolg bedeutet

Ein laufender Backupdienst beweist keine erfolgreiche Sicherung. Ein alter Erfolgsvermerk in einer Logdatei sagt nichts über den letzten Lauf aus. Prüfen Sie deshalb den relevanten Zeitraum, das erwartete Ergebnis und die Aktualität. Bevor Sie ein Skript entwickeln, sollten Sie außerdem vorhandene Zabbix-Items, Templates oder eine geeignete Anwendungsschnittstelle prüfen.

UserParameter gezielt einsetzen

Ein UserParameter verknüpft einen Item-Schlüssel mit einem vom Agenten ausgeführten Befehl. Dieser Ansatz ist sowohl beim klassischen Agenten als auch beim Agent 2 möglich. Der Aufruf läuft im Kontext des Agentendienstes; testen Sie daher mit dessen tatsächlichen Rechten und Umgebung.

Zabbix: UserParameter

Ausgabe und Exitcode unterscheiden

Bei UserParametern wird die Befehlsausgabe als Itemwert verarbeitet. Ein PowerShell-Skript, das lediglich mit exit 0 oder exit 1 endet, liefert dadurch noch keinen numerischen Messwert. Definieren Sie Ausgabeformat und Item-Datentyp ausdrücklich. Auch Fehlerausgaben des aufgerufenen Befehls können im zurückgegebenen Wert landen. Diagnosemeldungen mitten in einer Zahl oder einem JSON-Dokument machen die Ausgabe unbrauchbar.

Unbekannte Zustände sichtbar lassen

Eine nicht lesbare Datei oder ein abgelaufenes Zeitlimit ist nicht dasselbe wie eine erfolgreich geprüfte Anwendung. Unterscheiden Sie fachlichen Fehler, technischen Prüffehler und fehlende Daten. Ein Trigger für einen negativen Messwert genügt nicht, wenn die Abfrage gar keinen gültigen Wert mehr liefert.

Mehrere Werte strukturiert übertragen

Für zusammengehörige Ergebnisse kann eine strukturierte JSON-Ausgabe mit einem Master-Item und abhängigen Items geeignet sein. Legen Sie Feldnamen und Datentypen fest und prüfen Sie die Vorverarbeitung. Ein leeres oder ungültiges JSON muss erkennbar sein. Geheime Inhalte dürfen nicht versehentlich in Messwerte gelangen.

Beispiel: Einen nächtlichen Sicherungslauf bewerten

Ein möglicher Check fragt den letzten abgeschlossenen Auftrag ab und liefert getrennte Felder für Prüfstatus, Ergebnis des Auftrags, Zeitpunkt des letzten Erfolgs und Diagnosehinweis. Die Feldnamen und erwarteten Werte werden vorab festgelegt. Das ist ein beispielhaftes Datenmodell, keine fertige Integration für eine bestimmte Backupsoftware.
{
  "check_status": "ok",
  "job_result": "success",
  "last_success_unixtime": 1793236500,
  "message": ""
}

Diese Beispielantwort meldet einen erfolgreich ausgelesenen und erfolgreichen Auftrag. last_success_unixtime ist hier der Unix-Zeitstempel für den 29. Oktober 2026, 01:15 Uhr UTC. Das Master-Item speichert den JSON-Text. In der Vorverarbeitung der abhängigen Items extrahiert JSONPath beispielsweise $.check_status, $.job_result und $.last_success_unixtime. Zum Zeitstempel passt ein numerischer Itemtyp; die beiden Statusfelder bleiben Text.

{
  "check_status": "error",
  "job_result": null,
  "last_success_unixtime": null,
  "message": "Statusquelle nicht lesbar"
}

Die zweite Antwort beschreibt einen Fehler beim Prüfen. Sie ist keine Aussage über Erfolg oder Misserfolg des Sicherungslaufs. Definieren Sie für diesen Zustand eine eigene Meldung. Ein fehlender Zeitstempel darf nicht durch den aktuellen Zeitpunkt ersetzt werden: Das würde eine frische erfolgreiche Sicherung vortäuschen. Zusätzlich muss ausbleibende Erfassung über die Datenfrische erkennbar werden.

Das Master-Item nimmt die strukturierte Antwort auf. Abhängige Items können daraus Ergebnis und Zeitstempel übernehmen. Die Bewertung prüft sowohl einen fehlgeschlagenen Auftrag als auch einen zu alten Erfolgszeitpunkt. Kann die Quelle nicht gelesen werden, entsteht ein Prüffehler; ein alter grüner Wert darf dann nicht als aktueller Erfolg erscheinen.
Für die Abnahme verwenden Sie Testantworten für Erfolg, fehlgeschlagenen Auftrag, fehlenden Zeitstempel, ungültige Ausgabe und ausbleibende Daten. Kontrollieren Sie danach nicht nur den Itemwert, sondern auch die ausgelöste Meldung und deren Rückkehr in den Normalzustand.
Zabbix: Abhängige Items und Vorverarbeitung

Berechtigungen und Eingaben begrenzen

Skripte sollten nur die benötigten Zugriffe erhalten. Schützen Sie die Dateien vor unberechtigten Änderungen und behandeln Sie übergebene Argumente als Eingaben, die validiert werden müssen. UnsafeUserParameters ist keine allgemeine Voraussetzung für eigene Skripte und sollte nicht pauschal aktiviert werden.

Mit einem Testplan abnehmen

Testen Sie Normalbetrieb, veraltete Daten, nicht erreichbare Quellen, fehlende Rechte, ungültige Ausgabe und Zeitüberschreitung. Prüfen Sie anschließend die vollständige Kette bis zur Benachrichtigung. Eine Speicherverbrauchsschwelle allein belegt beispielsweise nicht, dass ein Dienst fachlich funktioniert. Dokumentieren Sie genau, was Ihr Check nachweist und was nicht.

Welche Abläufe soll Ihr Monitoring erkennen?

Wir entwickeln Prüfungen aus dem betrieblichen Ablauf: Welche Information wird benötigt, wann muss eine Meldung entstehen und wer kann darauf reagieren? Anschließend testen wir Messwerte und Fehlerfälle gemeinsam mit Ihrer IT.

Monitoring und IT-Support besprechen

Vereinbaren wir ein IT-Gespräch

Bitte beachten Sie unsere Datenschutzerklärung.

Ihre Nachricht an anyWARE

Bitte beachten Sie unsere Datenschutzerklärung.

Ihre Nachricht an anyWARE

Bitte beachten Sie unsere Datenschutzerklärung.