[comment]: # ({d9bf322f-f34132a6})
# 2 Scenario reale

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

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

Questa sezione presenta un esempio reale passo dopo passo di come il monitoraggio web possa essere utilizzato.

Il monitoraggio web di Zabbix verrà utilizzato per monitorare il frontend di Zabbix. L'obiettivo è determinare se è disponibile, se fornisce il contenuto corretto e con quale rapidità funziona. Per raggiungere questo obiettivo, sono necessari diversi passaggi, tra cui il controllo della disponibilità della prima pagina, l'accesso con nome utente e password, la verifica dell'avvenuto accesso, la disconnessione e la conferma della disconnessione.

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

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

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

[comment]: # ({a0f82e40-6b72dd59})
##### Aggiungere un nuovo scenario web

Vai a *Data collection → Hosts*, scegli un host e fai clic su *Web* nella riga di quell'host.  
Quindi fai clic su *Create web scenario*.

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


Nel nuovo modulo dello scenario, compila i seguenti campi:

- **Name** - Frontend check
- **Update interval** - 1m
- **Attempts** - 1
- **Agent** - Zabbix

Nella sezione *Variables*, aggiungi due variabili: *{password}* e *{user}*.  
Inserisci come valori le credenziali utente Zabbix già in tuo possesso.

Per motivi di sicurezza, si consiglia di creare un utente separato con privilegi minimi da usare per le attività di monitoraggio.

Facoltativamente, passa alla scheda *Tags* e aggiungi i tag dello scenario web.

:::notetip
Una volta configurato completamente, questo scenario web aggiungerà automaticamente un item Zabbix trapper all'host.  
Puoi usare i tag dello scenario web per identificare rapidamente gli item e i trigger correlati oppure per cercare tra i dati raccolti.  
Ad esempio, i tag adatti per questo tutorial sono `component: web-scenario` e/o `target: frontend`. 
:::

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

[comment]: # ({86824bcb-475cbb1a})
##### Configurare i passaggi dello scenario web

Passa alla scheda *Steps* e definisci i passaggi per lo scenario. Fai clic sul pulsante *Add* per aggiungere un singolo passaggio.

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

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

Per ciascun passaggio descritto di seguito, compilare i seguenti campi oltre ai campi specifici del passaggio:

- **URL** - l'URL del frontend di Zabbix
- **Timeout** - 15s
- **Codici di stato richiesti** - 200

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

[comment]: # ({40559ed2-c26001e1})
###### Passo 1 dello scenario web

Verificare che la prima pagina risponda correttamente, restituisca il codice di risposta HTTP 200 e contenga il testo "Zabbix SIA".

- Nel campo **Name**, inserire *First page*.
- Nel campo **Required string**, inserire *Zabbix SIA*. 
- Compilare i [campi comuni](#common-fields). 

Al termine della configurazione del passo, premere il pulsante *Add*.

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

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

[comment]: # ({713aa628-f896c160})
###### Passo 2 dello scenario web

Accedi al frontend di Zabbix usando le macro (variabili) definite a livello di scenario - *{user}* e *{password}*. 

- Nel campo **Name**, inserisci *Login*.
- Nella sezione **Post fields**, aggiungi tre campi post: 
    - *name* con valore *{user}*
    - *password* con valore *{password}*
    - *enter* con valore *Sign in*
- Nella sezione **Variables**, aggiungi una nuova variabile *{csrf_token}* con valore *regex:([0-9a-z]{64})*. 
Questa variabile intercetterà il valore del token CSRF assegnato per riutilizzarlo nel [passo 4](#web-scenario-step-4).
- Compila i [campi comuni](#common-fields).

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

::: noteimportant
Nota che il frontend di Zabbix usa un reindirizzamento JavaScript durante l'accesso, quindi il login deve avvenire per primo e le funzionalità disponibili dopo l'accesso possono
essere verificate solo nei passaggi successivi. Inoltre, il passaggio di login deve usare l'URL completo del file **index.php**.
:::

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

[comment]: # ({635690e6-1a116229})
###### Passo 3 dello scenario web

Dopo aver effettuato l'accesso, verifica il successo controllando la presenza di una stringa visibile solo quando si è autenticati, ad esempio *Administration*.

- Nel campo **Name**, inserisci *Login check*.
- Nel campo **Required string**, inserisci *Administration*. 
- Compila i [campi comuni](#common-fields).

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

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

[comment]: # ({06efb3e5-834e4858})
###### Passo 4 dello scenario web

Una volta verificati l'accessibilità del frontend e l'accesso, aggiungi un passo di logout; in caso contrario, il database di Zabbix diventerà
ingombro di molti record di sessione aperti.

- Nel campo **Name**, inserisci *Logout*.
- Nella sezione **Post fields**, aggiungi due campi post: 
    - *reconnect* con valore *1* 
    - *\_csrf_token* con valore *{csrf_token}*.
- Compila i [campi comuni](#common-fields).

Questo passo utilizza la variabile {csrf_token} ottenuta nel [passo 2](#web-scenario-step-2)

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

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

[comment]: # ({5bdfc52a-cff4750f})
###### Passo 5 dello scenario web

Per confermare il logout, verifica la stringa **Username**.

- Nel campo **Name**, inserisci *Logout check*.
- Nel campo **Required string**, inserisci *Username*.
- Compila i [campi comuni](#common-fields).

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

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

[comment]: # ({2b6fe488-8ef2e8b2})
###### Configurazione completa dei passi

Una configurazione completa dei passi dello scenario web dovrebbe apparire così:

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

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

[comment]: # ({c2a12418-3e213338})
##### Controlla i risultati

Salva lo scenario di web monitoring completato.

Lo scenario verrà aggiunto all'host. Per visualizzare le informazioni sullo scenario web, vai su *Monitoring → Hosts*, individua l'host nell'elenco e fai clic sul collegamento Web nell'ultima colonna.

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

Fai clic sul nome dello scenario per vedere statistiche più dettagliate:

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

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