2 Praxisbeispiel

Überblick

Dieser Abschnitt zeigt ein praxisnahes Schritt-für-Schritt-Beispiel dafür, wie Web-Monitoring eingesetzt werden kann.

Das Zabbix-Web-Monitoring wird verwendet, um das Zabbix Frontend zu überwachen. Ziel ist es festzustellen, ob es verfügbar ist, die richtigen Inhalte bereitstellt und wie schnell es arbeitet. Dazu sind mehrere Schritte erforderlich, darunter die Prüfung der Verfügbarkeit der ersten Seite, die Anmeldung mit Benutzername und Passwort, die Überprüfung des erfolgreichen Logins, das Abmelden und die Bestätigung der Abmeldung.

Szenario

Ein neues Web-Szenario hinzufügen

Gehen Sie zu Datenerfassung → Hosts, wählen Sie einen Host aus und klicken Sie in der Zeile dieses Hosts auf Web.
Klicken Sie dann auf Web-Szenario erstellen.

Füllen Sie im Formular für das neue Szenario die folgenden Felder aus:

  • Name - Frontend-Prüfung
  • Aktualisierungsintervall - 1m
  • Versuche - 1
  • Agent - Zabbix

Fügen Sie im Abschnitt Variablen zwei Variablen hinzu: {password} und {user}.
Geben Sie als Werte Ihre vorhandenen Zabbix-Benutzeranmeldedaten ein.

Aus Sicherheitsgründen wird empfohlen, für Überwachungszwecke einen separaten Benutzer mit minimalen Berechtigungen zu erstellen.

Optional können Sie zur Registerkarte Tags wechseln und Tags für das Web-Szenario hinzufügen.

Nach der vollständigen Konfiguration fügt dieses Web-Szenario automatisch einen Zabbix-Trapper-Datenpunkt zum Host hinzu. Sie können Tags für Web-Szenarien verwenden, um zugehörige Datenpunkte und Auslöser schnell zu identifizieren oder die erfassten Daten zu durchsuchen. Geeignete Tags für dieses Tutorial sind beispielsweise component: web-scenario und/oder target: frontend.

Web-Szenario-Schritte konfigurieren

Wechseln Sie zur Registerkarte Steps und definieren Sie die Schritte für das Szenario. Klicken Sie auf die Schaltfläche Add, um einen einzelnen Schritt hinzuzufügen.

Allgemeine Felder

Füllen Sie für jeden unten beschriebenen Schritt zusätzlich zu den schrittspezifischen Feldern die folgenden Felder aus:

  • URL - die URL des Zabbix Frontend
  • Timeout - 15s
  • Erforderliche Statuscodes - 200
Web-Szenario-Schritt 1

Prüfen Sie, dass die erste Seite korrekt antwortet, den HTTP-Antwortcode 200 zurückgibt und den Text "Zabbix SIA" enthält.

  • Geben Sie im Feld Name First page ein.
  • Geben Sie im Feld Required string Zabbix SIA ein.
  • Füllen Sie die allgemeinen Felder aus.

Wenn Sie mit der Konfiguration des Schritts fertig sind, klicken Sie auf die Schaltfläche Add.

Web-Szenario-Schritt 2

Melden Sie sich im Zabbix-Frontend mit den auf Szenario-Ebene definierten Makros (Variablen) an - {user} und {password}.

  • Geben Sie im Feld Name Login ein.
  • Fügen Sie im Abschnitt Post fields drei Postfelder hinzu:
    • name mit dem Wert {user}
    • password mit dem Wert {password}
    • enter mit dem Wert Sign in
  • Füllen Sie die gemeinsamen Felder aus.
  • Aktivieren Sie das Kontrollkästchen Follow redirects.

Beachten Sie, dass das Zabbix-Frontend beim Anmelden eine JavaScript-Weiterleitung verwendet. Daher muss die Anmeldung zuerst erfolgen, und Funktionen, die eine Anmeldung erfordern, können erst in den weiteren Schritten überprüft werden. Außerdem muss der Anmeldeschritt die vollständige URL zur Datei index.php verwenden.

Web-Szenario-Schritt 3

Nach der Anmeldung überprüfen Sie den Erfolg, indem Sie nach einer Zeichenfolge suchen, die nur angezeigt wird, wenn Sie angemeldet sind - zum Beispiel Administration.

  • Geben Sie im Feld Name Login check ein.
  • Geben Sie im Feld URL die URL ein, zu der der Benutzer nach der Anmeldung weitergeleitet wird (zum Beispiel http://127.0.0.1/zabbix.php?action=dashboard.view).
  • Geben Sie im Feld Required string Administration ein.
  • Fügen Sie im Abschnitt Variables das Name-Wert-Paar {csrf_token}: regex:([0-9a-z]{64}) hinzu. Diese Variable erfasst den Wert des zugewiesenen CSRF-Tokens, um ihn im web scenario step 4 erneut zu verwenden.
  • Füllen Sie die common fields aus.

Web-Szenario Schritt 4

Nachdem die Zugänglichkeit des Frontends und die Anmeldung überprüft wurden, fügen Sie einen Abmeldeschritt hinzu - andernfalls wird die Zabbix-Datenbank mit vielen offenen Sitzungseinträgen überfüllt.

  • Geben Sie im Feld Name Logout ein.
  • Fügen Sie im Abschnitt Post fields zwei Postfelder hinzu:
    • reconnect mit dem Wert 1
    • _csrf_token mit dem Wert {csrf_token}.
  • Füllen Sie die allgemeinen Felder aus.
  • Aktivieren Sie das Kontrollkästchen Follow redirects.

Dieser Schritt verwendet die Variable {csrf_token}, die in Web-Szenario Schritt 3 ermittelt wurde.

Webszenario-Schritt 5

Um die Abmeldung zu bestätigen, prüfen Sie auf die Zeichenfolge Username.

  • Geben Sie im Feld Name Logout check ein.
  • Geben Sie im Feld Required string Username ein.
  • Füllen Sie die gemeinsamen Felder aus.

Vollständige Konfiguration von Schritten

Eine vollständige Konfiguration von Schritten eines Webszenarios sollte wie folgt aussehen:

Prüfen Sie die Ergebnisse

Speichern Sie das fertiggestellte Web-Monitoring-Szenario.

Das Szenario wird dem Host hinzugefügt. Um Informationen zum Web-Szenario anzuzeigen, gehen Sie zu Monitoring → Hosts, suchen Sie den Host in der Liste und klicken Sie in der letzten Spalte auf den Web-Hyperlink.

Klicken Sie auf den Namen des Szenarios, um detailliertere Statistiken anzuzeigen: