[comment]: # ({d9bf322f-f34132a6})
# 2 Cenário da vida real

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

[comment]: # ({608fb726-d43d02d4})
#### Visão geral

Esta seção apresenta um exemplo passo a passo de como o monitoramento web pode ser usado.

O monitoramento web do Zabbix será usado para monitorar o frontend do Zabbix. O objetivo é determinar se ele está disponível, fornece o conteúdo correto e quão rapidamente ele funciona. Para isso, várias etapas são necessárias, incluindo verificar a disponibilidade da primeira página, fazer login com um nome de usuário e senha, verificar o sucesso do login, fazer logout e confirmar o logout.

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

[comment]: # ({51af514b-51af514b})
#### Cenário

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

[comment]: # ({a0f82e40-6b72dd59})
##### Adicionar um novo cenário web

Vá para *Coleta de dados → Hosts*, selecione um host e clique em *Web* na linha desse host.  
Em seguida, clique em *Criar cenário web*.

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


No formulário do novo cenário, preencha os seguintes campos:

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

Na seção *Variables*, adicione duas variáveis: *{password}* e *{user}*.  
Insira suas credenciais existentes de usuário do Zabbix como valores.

Por motivos de segurança, é recomendável criar um usuário separado com permissões mínimas para uso em monitoramento.

Opcionalmente, vá para a aba *Tags* e adicione tags do cenário web.

:::notetip
Depois de totalmente configurado, este cenário web adicionará automaticamente um item Zabbix trapper ao host.  
Você pode usar tags do cenário web para identificar rapidamente itens e triggers relacionados ou pesquisar nos dados coletados.  
Por exemplo, tags adequadas para este tutorial são `component: web-scenario` e/ou `target: frontend`. 
:::

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

[comment]: # ({86824bcb-475cbb1a})
##### Configurar etapas do cenário web

Acesse a aba *Steps* e defina as etapas do cenário. Clique no botão *Add* para adicionar uma etapa individual.

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

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

Para cada etapa descrita abaixo, preencha os seguintes campos além dos campos específicos da etapa:

- **URL** - a URL do frontend do Zabbix
- **Timeout** - 15s 
- **Required status codes** - 200

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

[comment]: # ({40559ed2-c26001e1})
###### Etapa 1 do cenário web

Verifique se a primeira página responde corretamente, retorna o código de resposta HTTP 200 e contém o texto "Zabbix SIA".

- No campo **Nome**, insira *Primeira página*.
- No campo **String obrigatória**, insira *Zabbix SIA*. 
- Preencha os [campos comuns](#common-fields). 

Quando terminar de configurar a etapa, pressione o botão *Adicionar*.

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

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

[comment]: # ({713aa628-f896c160})
###### Etapa 2 do cenário web

Faça login no frontend do Zabbix usando as macros (variáveis) definidas no nível do cenário - *{user}* e *{password}*.

- No campo **Nome**, insira *Login*.
- Na seção **Campos de envio**, adicione três campos de envio:
    - *name* com valor *{user}*
    - *password* com valor *{password}*
    - *enter* com valor *Sign in*
- Na seção **Variáveis**, adicione uma nova variável *{csrf_token}* com valor *regex:([0-9a-z]{64})*.
Esta variável irá capturar o valor do token CSRF atribuído para reutilizar na [etapa 4](#web-scenario-step-4).
- Preencha os [campos comuns](#common-fields).

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

::: noteimportant
Observe que o frontend do Zabbix usa redirecionamento JavaScript ao fazer login, portanto, o login deve ocorrer primeiro e os recursos de usuário autenticado só podem ser verificados nas etapas seguintes. Além disso, a etapa de login deve usar a URL completa para o arquivo **index.php**.
:::

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

[comment]: # ({635690e6-1a116229})
###### Etapa 3 do cenário web

Após fazer login, verifique o sucesso conferindo uma string visível apenas quando estiver autenticado - por exemplo, *Administration*.

- No campo **Name**, insira *Login check*.
- No campo **Required string**, insira *Administration*.
- Preencha os [campos comuns](#common-fields).

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

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

[comment]: # ({06efb3e5-834e4858})
###### Etapa 4 do cenário web

Depois que a acessibilidade e o login do frontend forem verificados, adicione uma etapa de logout - caso contrário, o banco de dados do Zabbix ficará
sobrecarregado com muitos registros de sessão abertos.

- No campo **Name**, insira *Logout*.
- Na seção **Post fields**, adicione dois campos de post:
    - *reconnect* com valor *1*
    - *\_csrf_token* com valor *{csrf_token}*.
- Preencha os [campos comuns](#common-fields).

Esta etapa usa a variável {csrf_token} obtida na [etapa 2](#web-scenario-step-2)

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

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

[comment]: # ({5bdfc52a-cff4750f})
###### Etapa 5 do cenário web

Para confirmar o logout, verifique a string **Username**.

- No campo **Nome**, insira *Logout check*.
- No campo **String obrigatória**, insira *Username*. 
- Preencha os [campos comuns](#common-fields). 

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

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

[comment]: # ({2b6fe488-8ef2e8b2})
###### Configuração completa das etapas

Uma configuração completa das etapas do cenário web deve ser semelhante a esta:

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

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

[comment]: # ({c2a12418-3e213338})
##### Verifique os resultados

Salve o cenário de monitoramento web concluído.

O cenário será adicionado ao host. Para visualizar as informações do cenário web, vá para *Monitoring → Hosts*, localize o host na lista e clique no hyperlink Web na última coluna.

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

Clique no nome do cenário para ver estatísticas mais detalhadas:

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

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