Monitores
HTTP / HTTPS

Monitor HTTP / HTTPS

O monitor HTTP/HTTPS é o tipo mais utilizado no TheAlert. Ele faz requisições HTTP para a URL configurada e avalia a resposta para determinar se o serviço está operacional.

O que é verificado

A cada check, o worker:

  1. Abre uma conexão TCP com o servidor
  2. Envia a requisição HTTP (método configurado)
  3. Aguarda a resposta (até o timeout configurado)
  4. Avalia o status code recebido
  5. (Opcional) Verifica se uma keyword está presente no body da resposta
  6. Registra o tempo de resposta total

Estados possíveis

EstadoCondição
UPStatus code 2xx (ou o código esperado configurado)
DEGRADEDStatus code 4xx — serviço respondeu mas com erro do cliente
DOWNStatus code 5xx — erro do servidor
DOWNTimeout — servidor não respondeu no tempo configurado
DOWNErro de conexão — host inacessível, DNS não resolve etc.

Um status DEGRADED também dispara alertas e abre incidentes, pois indica que o serviço não está respondendo normalmente. A distinção entre DOWN e DEGRADED é útil para diagnóstico.

Configurações disponíveis

URL

A URL completa do endpoint a ser monitorado. Deve incluir o protocolo (https:// ou http://).

https://suaempresa.com.br
https://api.suaempresa.com.br/health
http://monitor.interno.com.br:8080/status

Método HTTP

O método da requisição. Padrão: GET.

Métodos disponíveis: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS.

Use HEAD para verificar disponibilidade de forma mais leve — o servidor retorna apenas os headers, sem o body. Ideal para monitorar sites estáticos onde o conteúdo não muda.

Status code esperado

Por padrão, qualquer resposta 2xx é considerada UP. Você pode especificar um código exato:

  • 200 — somente OK
  • 201 — somente Created
  • 301 — aceitar redirecionamento como válido
⚠️

Se seu endpoint retorna 301 ou 302 (redirect) e você não configurar isso, o monitor pode reportar DEGRADED. Ajuste o status esperado ou configure a URL final após o redirect.

Timeout

Tempo máximo que o worker aguarda pela resposta. Padrão: 10 segundos.

Se o servidor não responder dentro do timeout, o check é marcado como DOWN com a mensagem Request timeout.

Keyword no body

Palavra ou frase que deve estar presente no body da resposta para o check ser considerado UP.

Exemplos:

  • "status":"ok" — verifica se a resposta JSON contém esse fragmento
  • Bem-vindo — verifica se a página contém esse texto
  • operational — verifica presença de palavra específica

A verificação de keyword é case-sensitive. "status":"ok" e "status":"OK" são diferentes.

Body da requisição (POST/PUT)

Para métodos que enviam dados, você pode configurar o body da requisição em texto livre ou JSON.

Headers customizados

Adicione headers HTTP personalizados, como:

  • Authorization: Bearer seu-token
  • Content-Type: application/json
  • X-API-Key: sua-chave

Exemplo de configuração

Monitor para verificar uma API de health check:

CampoValor
NomeAPI de Pagamentos
URLhttps://api.pagamentos.com.br/health
TipoHTTP / HTTPS
MétodoGET
Status esperado200
Timeout10s
Keyword"healthy":true
Intervalo60 segundos

Como o HTTPS é verificado

Para URLs https://, o worker valida automaticamente o certificado SSL. Se o certificado for inválido (expirado, autoassinado, hostname incorreto), o check falha com DOWN.

Para monitorar a expiração do certificado separadamente (e ser notificado antes de expirar), use o tipo de monitor SSL / Certificado.

Boas práticas

Crie um endpoint /health dedicado Em vez de monitorar a homepage, crie um endpoint leve que verifica os subsistemas críticos (banco de dados, cache, filas) e retorna 200 apenas se tudo estiver OK.

{
  "status": "healthy",
  "database": "ok",
  "cache": "ok",
  "version": "1.4.2"
}

Use keyword para validar conteúdo real Um servidor pode retornar 200 mas com uma página de erro genérica. Use keyword para garantir que o conteúdo esperado está presente.

Ajuste o timeout para sua realidade Se sua API normalmente responde em 200ms, um timeout de 10s pode mascarar degradação de performance. Considere usar valores menores (3-5s) para detectar lentidão mais cedo.

Monitore endpoints críticos separadamente Não monitore apenas a homepage. Crie monitores separados para:

  • Endpoint de autenticação
  • API de checkout/pagamento
  • Endpoint de health/status
  • CDN ou assets estáticos

Próximos passos