> For the complete documentation index, see [llms.txt](https://docs.support.sensedia.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.support.sensedia.com/monitoramento-de-apis/monitoramento-ativo/client-errors.md).

# Client Errors

Conhecendo um pouco mais sobre a estrutura do alerta de Client Errors.

### **Introdução**

Sabendo da importância do monitoramento nos tempos atuais, vamos abordar a configuração de um alerta parametrizado dentro do Prometheus para monitorar APIs em busca de erros de cliente dentro do Analytics. Especificamente, vamos validar a estrutura de um alerta que detecta quando a taxa de erros de cliente.

### **Especificação**

Iremos verificar a estrutura do alerta um pouco a frente, porém a estrutura responsável pela validação de erros, é a que segue. Ou seja, a partir do momento de seu acionamento (quando a expressão for verdadeira) o alerta será disparado para a validação dos analistas.

```python
((sum_over_time(client_errors{id="{{l$abels.api_id}}",customer_id="{{l$abels.customer_id}}",type="api"}[10m]) / sum_over_time(calls{id="{{l$abels.api_id}}",customer_id="{{l$abels.customer_id}}",type="api"}[10m])) * 100) > 10
```

Isso significa que, se a taxa de erros de cliente em relação ao número total de chamadas exceder 10% nos últimos 10 minutos, o alerta será acionado.

### **Estrutura do Alerta**

Para entendermos um pouco mais sobre o funcionamento da estrutura do alerta, é necessário conhecer como a mesma é parametrizada:

```python
#CLIENT ERRORS
- alert: {{$labels.customer_name}}-CLIENT_ERRORS-API-{{$labels.api_id}}
  expr: floor((sum_over_time(client_errors{id="{{$labels.api_id}}",customer_id="{{$labels.customer_id}}",type="api"}[10m]) / sum_over_time(calls{id="{{$labels.api_id}}",customer_id="{{$labels.customer_id}}",type="api"}[10m])) * 100) > 10
   for: 6m
   labels:
     severity: critical
     emails: "{{emails_list}}" 
     metric: client_errors
   annotations:
     description: "Premium Support | {{ $labels.customer_name }} | CLIENT_ERRORS. API: {{$labels.api_name}}"
```

Para entender o funcionamento, é necessário entender um pouco mais sobre cada um dos itens da estrutura do alerta:

* **Nome do Alerta:** {{ $labels.customer\_name }}-CLIENT\_ERRORS-API-{{$labels.api\_id}}

  O nome do alerta é composto pelo nome do cliente (`{{ $labels.customer_name }}`), seguido por "CLIENT\_ERRORS-API-" e o ID da API (`{{$labels.api_id}}`). Isso ajuda a identificar facilmente o cliente e a API específica associada ao alerta.
* **Expressão de Avaliação:**

  A expressão é uma fórmula que define a condição para acionar o alerta. Neste caso, calculamos a taxa de erros de cliente em relação ao número total de chamadas nos últimos 10 minutos e comparamos com 10%. Se a taxa for superior a 10%, o alerta é acionado.
* **Duração:** 6 minutos.

  Esta é a duração mínima que a condição especificada na expressão deve ser verdadeira para acionar o alerta.
* **Rótulos:**
  * **Gravidade:** Crítico

    Indica a gravidade do alerta. Neste caso, os erros de cliente são considerados críticos.
  * **Emails:** "lista"

    Especifica os destinatários que receberão notificações quando o alerta for acionado.
  * **Métrica:** client\_errors

    Identifica a métrica associada ao alerta. Neste caso, estamos monitorando os erros de cliente.
* **Anotações:**
  * **Descrição:** "Suporte Premium | {{ $labels.customer\_name }} | ERROS DE CLIENTE. API: {{$labels.api\_name}}"

    Fornece informações adicionais sobre o alerta, como o nível de suporte e o nome da API associada ao alerta.

### **Caso de Uso**

Esse alerta é útil para garantir que os clientes dessa API estejam conseguindo utilizar a API corretamente, alertando as equipes de suporte sobre problemas de consumo que os clientes possam estar enfrentando.&#x20;

Ao receber esse alerta, as equipes responsáveis podem investigar imediatamente e tomar medidas para conseguir apoiar os consumidores para tentar utilizar a API.

### **Conclusão**

Configurar alertas no Prometheus é uma prática crucial para garantir o monitoramento eficaz de sistemas e serviços. Este documento forneceu uma visão geral da configuração de um alerta para detectar erros de clientes em APIs, detalhando a especificação, a estrutura do alerta, a regra e o caso de uso associados a esse alerta. Ao implementar e monitorar esse alerta, as equipes conseguem dar um suporte aos consumidores dessa API de forma rápida e assertiva.
