[comment]: # ({d9bf322f-f34132a6})
# 2 Scenariusz z życia wzięty

[comment]: # ({/d9bf322f-f34132a6})

[comment]: # ({608fb726-d43d02d4})
#### 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.

[comment]: # ({/608fb726-d43d02d4})

[comment]: # ({51af514b-51af514b})
#### Scenariusz

[comment]: # ({/51af514b-51af514b})

[comment]: # ({a0f82e40-6b72dd59})
##### 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*. 

![](../../../assets/en/manual/web_monitoring/new_scenario.png){width="600"}


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.

:::notetip
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`. 
:::

[comment]: # ({/a0f82e40-6b72dd59})

[comment]: # ({86824bcb-475cbb1a})
##### Konfigurowanie kroków scenariusza webowego

Przejdź do zakładki *Steps* i zdefiniuj kroki dla scenariusza. Kliknij przycisk *Add*, aby dodać pojedynczy krok.

[comment]: # ({/86824bcb-475cbb1a})

[comment]: # ({75dcae2e-d4aa4f48})
###### 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

[comment]: # ({/75dcae2e-d4aa4f48})

[comment]: # ({40559ed2-c26001e1})
###### 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](#common-fields). 

Po zakończeniu konfiguracji kroku naciśnij przycisk *Add*.

![](../../../assets/en/manual/web_monitoring/scen_step1.png){width="600"}

[comment]: # ({/40559ed2-c26001e1})

[comment]: # ({713aa628-f896c160})
###### 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](#web-scenario-step-4).
- Wypełnij [wspólne pola](#common-fields).

![](../../../assets/en/manual/web_monitoring/scen_step2.png){width="600"}

::: noteimportant
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**.
:::

[comment]: # ({/713aa628-f896c160})

[comment]: # ({635690e6-1a116229})
###### 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](#common-fields).

![](../../../assets/en/manual/web_monitoring/scen_step3.png){width="600"}

[comment]: # ({/635690e6-1a116229})

[comment]: # ({06efb3e5-834e4858})
###### 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](#common-fields).

Ten krok używa zmiennej {csrf_token} uzyskanej w [kroku 2](#web-scenario-step-2)

![](../../../assets/en/manual/web_monitoring/scen_step4.png){width="600"}

[comment]: # ({/06efb3e5-834e4858})

[comment]: # ({5bdfc52a-cff4750f})
###### 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](#common-fields). 

![](../../../assets/en/manual/web_monitoring/scen_step5.png){width="600"}

[comment]: # ({/5bdfc52a-cff4750f})

[comment]: # ({2b6fe488-8ef2e8b2})
###### Pełna konfiguracja kroków

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

![](../../../assets/en/manual/web_monitoring/scenario_steps.png){width="600"}

[comment]: # ({/2b6fe488-8ef2e8b2})

[comment]: # ({c2a12418-3e213338})
##### 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.

![](../../../assets/en/manual/web_interface/web_monitoring.png){width="600"}

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

![](../../../assets/en/manual/web_interface/scenario_details2.png){width="600"}

[comment]: # ({/c2a12418-3e213338})
