Skip to main content

Alertas e Slack

Alertas são regras configuráveis pelo usuário que avaliam a cada 30 segundos o estado de ingestão da sua organização. Quando uma condição é satisfeita, o Atlas dispara mensagem para os canais cadastrados (Slack na v1).

Tutorial: criar primeira regra

1. Crie um Incoming Webhook no Slack

No seu workspace Slack:
  1. Acesse Apps → busque por Incoming WebhooksAdd to workspace.
  2. Escolha o canal alvo (ex: #atlas-ops) e clique Add Incoming Webhooks integration.
  3. Copie a Webhook URL que começa com https://hooks.slack.com/services/.... Guarde — será usada no próximo passo.

2. Cadastre o canal no Atlas

  1. Acesse /dashboard/settings/alerts → tab CanaisAdicionar canal.
  2. Nome: #atlas-ops (ou outro nome descritivo)
  3. Webhook URL: cole a URL do passo anterior
  4. Salvar
A URL é cifrada com AES-256-GCM antes de ir pro banco — nunca aparece em logs nem em respostas da API.

3. Teste o canal

Clique no ícone de Enviar (paper plane) ao lado do canal. Você deve receber uma mensagem Atlas — teste de conexão com canal *#atlas-ops* no Slack. Se falhar, revise:
  • URL começa com https://hooks.slack.com/?
  • Webhook ainda está ativo no Slack workspace?
  • Sua org tem firewall que bloqueia webhooks externos? (não é o caso típico)

4. Crie sua primeira regra

Tab RegrasNova regra: Salvar. A partir do próximo tick (≤30s), o alert_runner começa a avaliar essa regra. Se bet_placed não aparecer por mais de 5 minutos, você recebe esta mensagem no Slack:
🚨 ALERTA DISPARADO — Sportsbook bet_placed silence Escopo: sportsbook · bet_placed Condição: no_data — sem evento por mais de 5m Métrica observada: lag=8m · último ingest: 2026-05-04T11:50:32Z severidade critical · regra abc123 · abrir no Atlas
Quando a ingestão volta ao normal, uma mensagem ✅ ALERTA RESOLVIDO é enviada automaticamente.

Mensagem de webhook (formato Block Kit)

Atlas usa Slack Block Kit. Cor da attachment depende da severidade:

Cooldown

Para evitar flood quando uma condição persiste, cada regra tem cooldown_seconds (default 300). Após disparo, a regra não re-dispara até cessar OU passar o cooldown.

Notificação in-app

Além do Slack, todo disparo cria uma row em notifications (tabela existente da plataforma). O bell icon do dashboard mostra os últimos 20 disparos com:
  • Severidade
  • Nome da regra
  • Estado (firing/resolved)
  • Link pra editar a regra

Endpoints REST

A UI cobre 99% dos casos, mas os endpoints estão disponíveis para automação:
Body para criar canal Slack:
Body para criar regra no_data:

Limitações conhecidas v1

  • Apenas Slack como canal externo. WhatsApp / e-mail / webhook genérico estão no roadmap v2.
  • Apenas Incoming Webhook (URL fixa por canal). Slack OAuth App (escolher canal dinâmico por regra) é v2.
  • Sem RBAC visual — qualquer membro autenticado da org pode criar/editar/excluir alertas.
  • Sem snooze/acknowledge — ack via UI fica em v2.
  • Sem schedule de “horário de silêncio” (ex: pausar entre 23h-06h).
  • Mensagens em pt-BR hardcoded. Multi-idioma em v2.