Scenariusz z życia wzięty
Przegląd
Ta sekcja przedstawia krok po kroku rzeczywisty przykład użycia monitorowania web.
Do monitorowania frontend Zabbix zostanie użyte monitorowanie web Zabbix. Celem jest określenie, czy jest on dostępny, czy udostępnia właściwą zawartość oraz jak szybko działa. Aby to osiągnąć, wymaganych jest kilka kroków, w tym sprawdzenie dostępności pierwszej strony, logowanie przy użyciu nazwy użytkownika i hasła, weryfikacja powodzenia logowania, wylogowanie oraz potwierdzenie wylogowania.
Scenariusz
Dodawanie nowego scenariusza web
- Przejdź do Data collection > Hosts.
- Wybierz host i kliknij Web w wierszu tego hosta.
- Kliknij Create web scenario.

-
W nowym formularzu scenariusza, na karcie Scenario, wypełnij następujące pola:
- Name: Frontend check.
- Update interval: 1m.
- Attempts: 1.
- Agent: Zabbix.
W sekcji Variables dodaj następujące pary nazwa-wartość: {user}: Twoje istniejące dane uwierzytelniające użytkownika Zabbix;{password}: Twoje istniejące dane uwierzytelniające użytkownika Zabbix.
Ze względów bezpieczeństwa zaleca się utworzenie osobnego użytkownika z minimalnymi uprawnieniami do wykorzystania w celach monitorowania.
Opcjonalnie przejdź do karty Tags i dodaj tagi scenariusza web.
Tagów scenariusza web można używać do szybkiego identyfikowania powiązanych pozycji i wyzwalaczy lub przeszukiwania zebranych danych.
Na przykład odpowiednie tagi dla tego samouczka to component: web-scenario i/lub target: frontend.
Konfigurowanie kroków scenariusza webowego
Przejdź do karty Steps i zdefiniuj kroki dla scenariusza.
Po skonfigurowaniu każdego kroku kliknij przycisk Add.
Należy pamiętać, że frontend Zabbixa używa przekierowania JavaScript podczas logowania, więc logowanie musi nastąpić jako pierwsze, a funkcje dostępne po zalogowaniu można sprawdzać dopiero w kolejnych krokach. Dodatkowo krok logowania musi używać pełnego adresu URL do pliku index.php.
Wspólne pola dla wszystkich kroków
Oprócz pól specyficznych dla danego kroku wypełnij następujące wspólne pola dla każdego kroku opisanego poniżej:
- URL: adres URL frontend Zabbix (
http://<server_ip_or_name>/zabbix/index.php(dla Apache) lubhttp://<server_ip_or_name>/index.php(dla Nginx)). Dla kroku 3 scenariusza web użyj innego adresu URL, jak opisano poniżej. - Timeout: 15s.
- Required status codes: 200.
Krok 1 scenariusza web
Sprawdź, czy pierwsza strona odpowiada poprawnie, zwraca kod statusu HTTP 200 i zawiera tekst Zabbix SIA.
Wypełnij następujące pola:
- Name: First page.
- Timeout: 15s.
- Required string: Zabbix SIA.
- Wspólne pola dla wszystkich kroków.

Krok 2 scenariusza WWW
Zaloguj się do frontend Zabbix, używając makr (zmiennych) zdefiniowanych na karcie Scenario: {user} i {password}.
Wypełnij następujące pola:
- Name: Login.
- W sekcji Post fields dodaj następujące pary nazwa-wartość:
- name:
{user}; - password:
{password}; - enter: Sign in.
- name:
- Wspólne pola dla wszystkich kroków.
Zaznacz pole wyboru Follow redirects.

Krok 3 scenariusza web
Po zalogowaniu sprawdź powodzenie, wyszukując ciąg widoczny tylko po zalogowaniu, na przykład Administration.
Wypełnij następujące pola:
- Name: Login check.
- URL: adres URL, na który użytkownik jest przekierowywany po zalogowaniu (na przykład http://127.0.0.1/zabbix/zabbix.php?action=dashboard.view).
- W sekcji Variables dodaj parę nazwa-wartość
{csrf_token}:regex:([0-9a-z]{64}). Ta zmienna przechwyci wartość przypisanego tokenu CSRF, aby można było go ponownie użyć w kroku 4 scenariusza web. - Required string: Administration.
- Wspólne pola dla wszystkich kroków.

Krok 4 scenariusza webowego
Po zweryfikowaniu dostępności frontend i logowania dodaj krok wylogowania - w przeciwnym razie baza danych Zabbix zostanie zaśmiecona wieloma otwartymi rekordami sesji.
Wypełnij następujące pola:
- Name: Logout.
- W sekcji Post fields dodaj następujące pary nazwa-wartość:
- reconnect: 1;
- _csrf_token:
{csrf_token}.
- Wspólne pola dla wszystkich kroków.
Zaznacz pole wyboru Follow redirects.
Ten krok używa zmiennej {csrf_token} uzyskanej w kroku 3 scenariusza webowego.

Krok 5 scenariusza web
Aby potwierdzić wylogowanie, sprawdź ciąg Username.
Wypełnij następujące pola:
- Name: Logout check.
- Required string: Username.
- Wspólne pola dla wszystkich kroków.

Pełna konfiguracja kroków
Pełna konfiguracja kroków scenariusza WWW powinna wyglądać następująco:

Sprawdź wyniki
Zapisz ukończony scenariusz monitorowania WWW.
Gdy scenariusz WWW zostanie utworzony, nowe pozycje monitorowania WWW są automatycznie dodawane do monitorowania.
Scenariusz zostanie dodany do host. Aby wyświetlić informacje o scenariuszu WWW, przejdź do Monitoring > Hosts, znajdź host na liście i kliknij hiperłącze Web w ostatniej kolumnie.

Kliknij nazwę scenariusza, aby zobaczyć szczegółowe statystyki:
