> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aciona.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Datadog

> Conecte o Datadog ao aciona.me com a Webhooks Integration e um template de payload.

## Visão geral

O Datadog envia alertas pela **Webhooks Integration**, renderizando um template de payload configurável. Como o Datadog não tem um formato fixo, o aciona.me lê vários campos alternativos — mas o template recomendado abaixo garante o comportamento correto, inclusive a auto-resolução.

|                    |                                             |
| ------------------ | ------------------------------------------- |
| **Tipo de fonte**  | `Datadog`                                   |
| **Mecanismo**      | Webhooks Integration + template de payload  |
| **Correlação**     | `alert_cycle_key` (alternativa: `alert_id`) |
| **Auto-resolução** | ✅                                           |

## Pré-requisitos

* Permissão para editar integrações e monitors no Datadog.
* Um serviço criado no aciona.me e vinculado a um time com escala ativa.

## 1. Crie a fonte de alerta no aciona.me

Em **Fontes de alerta**, crie uma fonte do tipo **Datadog**.

## 2. Copie a URL e o token

```bash theme={null}
POST https://ingress.aciona.me/webhooks/<idDaFonte>
X-Aciona-Token: <tokenDaFonte>
```

## 3. Crie o webhook no Datadog

<Steps>
  <Step title="Integrations → Webhooks → Add Webhook">
    **Name:** `aciona-me` — é assim que você vai referenciá-lo nos monitors, como `@webhook-aciona-me`.
  </Step>

  <Step title="URL">
    `https://ingress.aciona.me/webhooks/<idDaFonte>`
  </Step>

  <Step title="Payload">
    Cole o template recomendado:

    ```json theme={null}
    {
      "alert_id": "$ALERT_ID",
      "alert_cycle_key": "$ALERT_CYCLE_KEY",
      "alert_transition": "$ALERT_TRANSITION",
      "alert_status": "$ALERT_STATUS",
      "alert_title": "$ALERT_TITLE",
      "alert_type": "$ALERT_TYPE",
      "alert_priority": "$ALERT_PRIORITY",
      "alert_metric": "$ALERT_METRIC",
      "alert_query": "$ALERT_QUERY",
      "alert_scope": "$ALERT_SCOPE",
      "event_id": "$ID",
      "event_msg": "$EVENT_MSG",
      "event_title": "$EVENT_TITLE",
      "event_type": "$EVENT_TYPE",
      "tags": "$TAGS",
      "hostname": "$HOSTNAME",
      "org_id": "$ORG_ID",
      "link": "$LINK"
    }
    ```
  </Step>

  <Step title="Advanced Options → Custom HTTP Header">
    `X-Aciona-Token: <tokenDaFonte>`
  </Step>
</Steps>

## 4. Referencie o webhook no monitor

No monitor, em **"Notify your team as"**, adicione `@webhook-aciona-me`.

<Warning>
  **Não coloque `@webhook-aciona-me` apenas dentro de `{"{{#is_alert}}"}`.** Se ele ficar restrito a esse bloco, o Datadog só dispara o webhook na transição `Triggered` — o `Recovered` nunca chega e a auto-resolução quebra **silenciosamente**. Deixe a menção fora de qualquer bloco condicional.
</Warning>

Configure também a **prioridade P1–P5** do monitor, que vira a severidade do acionamento.

## 5. Envie um alerta de teste

Use **Test Notifications** no monitor, ou force a condição de alerta.

## 6. Confirme o acionamento

Em **Acionamentos**, verifique se título, severidade e serviço estão corretos.

## 7. Como os campos são traduzidos

### Estado

| `alert_transition`          | Efeito                                   |
| --------------------------- | ---------------------------------------- |
| `Triggered`, `Re-Triggered` | Cria ou agrega acionamento               |
| `Warn`, `Re-Warn`           | Cria ou agrega acionamento               |
| `No Data`, `Re-No Data`     | Cria ou agrega acionamento               |
| `Recovered`                 | Resolve automaticamente                  |
| `Renotify`                  | Ignorado (re-notificação do mesmo ciclo) |

Transição ausente ou desconhecida é tratada como disparo — o aciona.me prefere notificar a mais do que deixar de notificar.

### Severidade

| Prioridade do monitor | Severidade |
| --------------------- | ---------- |
| `P1`                  | `critical` |
| `P2`                  | `high`     |
| `P3`                  | `warning`  |
| `P4`, `P5`            | `info`     |

Sem prioridade definida, o aciona.me usa o tipo do alerta como alternativa e, na falta dele, `warning`.

### Serviço

A pista de serviço vem, nesta ordem, da tag `service:`, do escopo do alerta, do hostname e da métrica. Marque seus monitors com `service:<nome-no-aciona-me>`.

## Solução de problemas

<AccordionGroup>
  <Accordion title="O acionamento abre, mas nunca fecha sozinho" icon="triangle-alert">
    Quase sempre é o `@webhook-aciona-me` preso dentro de `{"{{#is_alert}}"}`. Mova a menção para fora dos blocos condicionais. Verifique também se `$ALERT_TRANSITION` está no template — sem ele, todo evento é tratado como disparo.
  </Accordion>

  <Accordion title="Título aparece como Untitled alert" icon="type">
    O template não inclui `$ALERT_TITLE`. Use o template recomendado acima.
  </Accordion>

  <Accordion title="Acionamentos duplicados" icon="copy">
    O template não inclui `$ALERT_CYCLE_KEY`, e a correlação caiu em outro campo. Adicione-o.
  </Accordion>

  <Accordion title="Severidade sempre warning" icon="gauge">
    O monitor não tem prioridade P1–P5 definida.
  </Accordion>
</AccordionGroup>

<Note>
  A Webhooks Integration do Datadog só retenta em erros `5xx`. Como o aciona.me responde `202` rapidamente, isso não costuma ser um problema — mas alertas recusados por token inválido (`401`) **não** são reenviados.
</Note>
