Skip to content

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).

text
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

  1. No Datadog, vá em Monitors > Manage Monitors e selecione o monitor para configurar.
  2. Em Notify your team, adicione uma notificação Webhook.
  3. Use a URL do webhook do Batida e defina o formato do payload como o JSON padrão do Datadog.
json
{
  "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 DatadogCampo do Batida
titleTítulo do incidente
message + hostDescrição
prioritySeveridade (P1 = critical, P2 = high, P3 = medium, P4 = low)
tagsLabels para agrupamento
alert_typeerror = aberto, warning = investigando, recovery = resolvido

Grafana

  1. No Grafana, vá em Alerting > Contact Points.
  2. Adicione um novo contact point do tipo Webhook.
  3. Cole a URL do webhook do Batida.
  4. Na regra de alerta, configure o webhook como canal de notificação.
json
{
  "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 GrafanaCampo do Batida
annotations.summaryTítulo do incidente
labels.severitySeveridade
labels.alertnameLabel
statusfiring = 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.

json
{
  "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.

Built by the Batida team