Webhooks de alerta
Injira alertas do Datadog, Grafana ou qualquer webhook HTTP genérico no Batida. Todos os alertas recebidos são normalizados em um schema de incidente unificado.
Visão geral
O Batida expõe um único endpoint de webhook que aceita payloads de alerta de múltiplas ferramentas de monitoramento. Cada payload é parseado, normalizado e convertido em um incidente do Batida (ou anexado a um existente).
https://app.batida.io/api/webhooks/alerts/<team_id>?token=<seu_webhook_token>Autenticação por token
A URL do webhook inclui um token específico por equipe. Mantenha esse token em segredo. Qualquer pessoa com a URL pode criar incidentes na sua equipe. Rotacione o token periodicamente em Configurações > Integrações > Webhooks de Alerta > Rotacionar Token.
Fontes suportadas
Datadog
- No Datadog, vá em Monitors > Manage Monitors e selecione o monitor para configurar.
- Em Notify your team, adicione uma notificação Webhook.
- Use a URL do webhook do Batida e defina o formato do payload como o JSON padrão do Datadog.
{
"title": "CPU acima de 95%",
"message": "Host: prod-web-01",
"priority": "P1",
"alert_type": "error",
"host": "prod-web-01",
"tags": ["env:production", "team:backend"]
}O Batida mapeia os campos do Datadog da seguinte forma:
| Campo do Datadog | Campo do Batida |
|---|---|
title | Título do incidente |
message + host | Descrição |
priority | Severidade (P1 = critical, P2 = high, P3 = medium, P4 = low) |
tags | Labels para agrupamento |
alert_type | error = aberto, warning = investigando, recovery = resolvido |
Grafana
- No Grafana, vá em Alerting > Contact Points.
- Adicione um novo contact point do tipo Webhook.
- Cole a URL do webhook do Batida.
- Na regra de alerta, configure o webhook como canal de notificação.
{
"status": "firing",
"alerts": [
{
"labels": {
"alertname": "AltoUsoMemoria",
"severity": "critical"
},
"annotations": {
"summary": "Uso de memória acima de 90% no prod-db-01"
},
"startsAt": "2026-04-20T14:30:00Z"
}
]
}| Campo do Grafana | Campo do Batida |
|---|---|
annotations.summary | Título do incidente |
labels.severity | Severidade |
labels.alertname | Label |
status | firing = aberto, resolved = resolvido |
Webhook genérico
Qualquer POST HTTP com corpo JSON pode ser enviado para a URL do webhook. Configure mapeamentos de campos no painel do Batida em Configurações > Integrações > Webhooks de Alerta > Mapeamentos Personalizados.
{
"mapping": {
"title": "$.alert_name",
"description": "$.description",
"severity": "$.level",
"labels": "$.tags"
}
}Use expressões JSONPath para mapear campos do seu payload personalizado para o schema de incidentes do Batida.
Normalização de alertas
Independentemente da fonte, todos os alertas são normalizados na mesma estrutura de incidente do Batida. Isso significa que seu fluxo de resposta é idêntico independentemente de o alerta vir do Datadog, Grafana ou uma fonte customizada.
Deduplicação
Alertas são agrupados combinando o nome da fonte e o identificador do alerta (ex.: datadog:cpu_alert_42). Ajuste a chave de deduplicação nas configurações da integração.
Troubleshooting
- "Token inválido": Verifique se o token na URL do webhook corresponde ao token exibido nas configurações do Batida.
- Alertas não criam incidentes: Verifique os mapeamentos de campos. Use o botão Testar Webhook na página de configurações para enviar um payload de exemplo e inspecionar o resultado do parsing.
- Incidentes duplicados: Revise a configuração da chave de deduplicação. Dois alertas com chaves de deduplicação diferentes criarão incidentes separados.