2 Scenariusz z życia wzięty
Przegląd
Ta sekcja przedstawia krok po kroku rzeczywisty przykład użycia monitorowania WWW.
Monitorowanie WWW w Zabbix zostanie użyte do monitorowania frontend Zabbix. Celem jest określenie, czy jest on dostępny, dostarcza właściwą treść oraz jak szybko działa. Aby to osiągnąć, wymaganych jest kilka kroków, w tym sprawdzenie dostępności pierwszej strony, zalogowanie się przy użyciu nazwy użytkownika i hasła, zweryfikowanie poprawności logowania, wylogowanie się oraz potwierdzenie wylogowania.
Scenariusz
Dodawanie nowego scenariusza web
Przejdź do Zbieranie danych → Hosty, wybierz host i kliknij Web w wierszu tego hosta. Następnie kliknij Utwórz scenariusz web.

W nowym formularzu scenariusza wypełnij następujące pola:
- Nazwa - Frontend check
- Interwał aktualizacji - 1m
- Próby - 1
- Agent - Zabbix
W sekcji Zmienne dodaj dwie zmienne: {password} i {user}. Jako wartości wpisz swoje istniejące dane uwierzytelniające użytkownika Zabbix.
Ze względów bezpieczeństwa zaleca się utworzenie osobnego użytkownika z minimalnymi uprawnieniami do celów monitorowania.
Opcjonalnie przejdź do zakładki Tagi i dodaj tagi scenariusza web.
Po pełnej konfiguracji ten scenariusz web automatycznie doda do hosta pozycję typu Zabbix trapper.
Tagi scenariusza web można wykorzystać do szybkiej identyfikacji powiązanych pozycji i wyzwalaczy lub do 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 zakładki Steps i zdefiniuj kroki dla scenariusza. Kliknij przycisk Add, aby dodać pojedynczy krok.
Wspólne pola
Dla każdego kroku opisanego poniżej wypełnij następujące pola oprócz pól specyficznych dla danego kroku:
- URL - adres URL frontend Zabbix
- Timeout - 15s
- Required status codes - 200
Krok scenariusza web 1
Sprawdź, czy pierwsza strona odpowiada poprawnie, zwraca kod odpowiedzi HTTP 200 i zawiera tekst "Zabbix SIA".
- W polu Name wpisz First page.
- W polu Required string wpisz Zabbix SIA.
- Wypełnij common fields.
Po zakończeniu konfiguracji kroku kliknij przycisk Add.

Krok 2 scenariusza web
Zaloguj się do frontend Zabbix, używając makr (zmiennych) zdefiniowanych na poziomie scenariusza - {user} i {password}.
- W polu Name wpisz Login.
- W sekcji Post fields dodaj trzy pola post:
- name z wartością {user}
- password z wartością {password}
- enter z wartością Sign in
- Wypełnij common fields.
- Zaznacz pole wyboru Follow redirects.

Pamiętaj, że frontend Zabbix podczas logowania używa przekierowania JavaScript, 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.
Krok 3 scenariusza web
Po zalogowaniu sprawdź powodzenie, wyszukując ciąg widoczny tylko po zalogowaniu - na przykład Administration.
- W polu Name wpisz Login check.
- W polu URL wpisz adres URL, na który użytkownik jest przekierowywany po zalogowaniu (na przykład http://127.0.0.1/zabbix.php?action=dashboard.view).
- W polu Required string wpisz Administration.
- 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. - Wypełnij pola wspólne.

Krok 4 scenariusza webowego
Po zweryfikowaniu dostępności i logowania do frontend, dodaj krok wylogowania - w przeciwnym razie baza danych Zabbix zostanie zaśmiecona wieloma otwartymi rekordami sesji.
- W polu Name wpisz Logout.
- W sekcji Post fields dodaj dwa pola post:
- reconnect o wartości 1
- _csrf_token o wartości {csrf_token}.
- Wypełnij common fields.
- Zaznacz pole wyboru Follow redirects.
Ten krok używa zmiennej {csrf_token} uzyskanej w Krok 3 scenariusza webowego

Krok 5 scenariusza WWW
Aby potwierdzić wylogowanie, sprawdź ciąg Username.
- W polu Nazwa wprowadź Logout check.
- W polu Wymagany ciąg wprowadź Username.
- Uzupełnij wspólne pola.

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.
Scenariusz zostanie dodany do hosta. Aby wyświetlić informacje o scenariuszu WWW, przejdź do Monitoring → Hosts, znajdź host na liście i kliknij łącze Web w ostatniej kolumnie.

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