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 oddzielnego użytkownika z minimalnymi uprawnieniami do celów monitorowania.

Opcjonalnie przejdź do karty 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.

Pola wspólne

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 naciśnij przycisk Add.

Krok 2 scenariusza web

Zaloguj się do frontend Zabbixa, 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
  • W sekcji Variables dodaj nową zmienną {csrf_token} z wartością regex:([0-9a-z]{64}). Ta zmienna przechwyci wartość przypisanego tokenu CSRF do ponownego użycia w kroku 4.
  • Wypełnij wspólne pola.

Zwróć uwagę, że frontend Zabbixa 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 zweryfikuj powodzenie, sprawdzając ciąg widoczny tylko po zalogowaniu — na przykład Administration.

  • W polu Name wpisz Login check.
  • W polu Required string wpisz Administration.
  • Wypełnij wspólne pola.

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.

  • 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.

Ten krok używa zmiennej {csrf_token} uzyskanej w kroku 2

Krok 5 scenariusza web

Aby potwierdzić wylogowanie, sprawdź ciąg Username.

  • W polu Name wpisz Logout check.
  • W polu Required string wpisz Username.
  • Wypełnij wspólne pola.

Pełna konfiguracja kroków

Pełna konfiguracja kroków scenariusza webowego 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ź hosta na liście i kliknij łącze Web w ostatniej kolumnie.

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