This is a translation of the original English documentation page. Help us make it better.

2 Real-life scenario

Overzicht

Deze sectie presenteert een stapsgewijze praktijkvoorbeeld van hoe webmonitoring kan worden gebruikt.

Laten we Zabbix webmonitoring gebruiken om de webinterface van Zabbix te bewaken. We willen weten of deze beschikbaar is, de juiste inhoud biedt en hoe snel het werkt. Om dat te doen, moeten we ook inloggen met onze gebruikersnaam en wachtwoord.

Scenario

Stap 1

Voeg een nieuwe webscenario toe.

We zullen een scenario toevoegen om de webinterface van Zabbix te monitoren. Het scenario zal een aantal stappen uitvoeren.

Ga naar Gegevensverzameling → Hosts, kies een host en klik op Web in de rij van die host. Klik vervolgens op Nieuw webscenario.

Alle verplichte invoervelden zijn gemarkeerd met een rode asterisk.

In het nieuwe scenarioformulier noemen we het scenario Zabbix frontend. We zullen ook twee variabelen aanmaken: {user} en {password}.

Je kunt ook een nieuwe tag Application:Zabbix frontend toevoegen in het Tabblad Tags.

Stap 2

Definieer stappen voor het scenario.

Klik op de knop Toevoegen in het tabblad Stappen om individuele stappen toe te voegen.

Web scenario stap 1

We beginnen door te controleren of de eerste pagina correct reageert, terugkeert met HTTP-statuscode 200 en de tekst "Zabbix SIA" bevat.

Als je de stap hebt geconfigureerd, klik dan op Toevoegen.

Web scenario stap 2

We gaan verder door in te loggen op de Zabbix-frontend, en dat doen we door gebruik te maken van de macro's (variabelen) die we op scenarioniveau hebben gedefinieerd - {user} en {password}.

Merk op dat de Zabbix-frontend JavaScript-omleiding gebruikt bij het inloggen, dus eerst moeten we inloggen, en pas in latere stappen kunnen we controleren op ingelogde functies. Bovendien moet de aanmeldingsstap de volledige URL gebruiken naar het index.php bestand.

Let ook op hoe we de inhoud van de {sid} variabele (sessie-ID) ophalen (sessie-ID) met behulp van een variabelennotatie met reguliere expressie: regex:name="csrf-token" content="([0-9a-z]{16})". Deze variabele zal nodig zijn in stap 4.

Web scenario stap 3

Nu we zijn ingelogd, moeten we dit controleren. We doen dit door te zoeken naar een tekenreeks die alleen zichtbaar is als je bent ingelogd - bijvoorbeeld, Administration.

Web scenario stap 4

Nu we hebben geverifieerd dat de frontend toegankelijk is en we kunnen inloggen en ingelogde inhoud kunnen ophalen, moeten we ook uitloggen - anders wordt de Zabbix-database vervuild met veel open sessierecords.

Web scenario stap 5

We kunnen ook controleren of we zijn uitgelogd door te zoeken naar de Gebruikersnaam-tekenreeks.

Volledige configuratie van stappen

Een volledige configuratie van web scenario stappen zou er als volgt uit moeten zien:

Common fields

For each step described below, fill out the following fields in addition to the step-specific fields:

  • URL - the URL of Zabbix frontend
  • Timeout - 15s
  • Required status codes - 200
Web scenario step 1

Check that the first page responds correctly, returns HTTP response code 200 and contains the text "Zabbix SIA".

  • In the Name field, enter First page.
  • In the Required string field, enter Zabbix SIA.
  • Fill out the common fields.

When done configuring the step, press the Add button.

Web scenario step 2

Log in to the Zabbix frontend using the macros (variables) defined at the scenario level - {user} and {password}.

  • In the Name field, enter Login.
  • In the Post fields section, add three post fields:
    • name with value {user}
    • password with value {password}
    • enter with value Sign in
  • In the Variables section, add a new variable {csrf_token} with value regex:([0-9a-z]{64}). This variable will catch the value of the assigned CSRF token to reuse in step 4.
  • Fill out the common fields.

Note that Zabbix frontend uses JavaScript redirect when logging in, so login must occur first, and logged-in features can be checked only in further steps. Additionally, the login step must use the full URL to index.php file.

Web scenario step 3

After logging in, verify success by checking for a string visible only when logged in - for example, Administration.

  • In the Name field, enter Login check.
  • In the Required string field, enter Administration.
  • Fill out the common fields.

Web scenario step 4

Once the frontend's accessibility and login have been verified, add a logout step - otherwise the Zabbix database will become cluttered with many open session records.

  • In the Name field, enter Logout.
  • In the Post fields section, add two post fields:
    • reconnect with value 1
    • _csrf_token with value {csrf_token}.
  • Fill out the common fields.

This step uses the variable {csrf_token} obtained in step 2

Web scenario step 5

To confirm the logout, check for the Username string.

  • In the Name field, enter First page.
  • In the Required string field, enter Username.
  • Fill out the common fields.

Full configuration of steps

A complete configuration of web scenario steps should look like this:

Stap 3

Sla het voltooide web monitoring scenario op.

Het scenario wordt toegevoegd aan een host. Om web scenario-informatie te bekijken, ga naar Monitoring → Hosts, zoek de host in de lijst en klik op de koppeling Web in de laatste kolom.

Klik op de naam van het scenario om gedetailleerdere statistieken te bekijken: