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
POST https://app.batida.io/api/v1/webhooks/alerts
Authorization: Bearer <seu_webhook_token>
Content-Type: application/json

Autenticação por token

O webhook requer um cabeçalho Authorization: Bearer com o token específico da sua organização. Mantenha esse token em segredo. Qualquer pessoa com o token pode criar incidentes na sua organização. 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": "SEV1",
  "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 (SEV1 = critical, SEV2 = high, SEV3 = medium, SEV4 = 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 no cabeçalho Authorization 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