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: