Pular para o conteúdo
Documentação

Alerting Webhooks

Faça fan out de alertas para Slack, Discord, Teams, PagerDuty ou qualquer webhook genérico. Auto-triggers ligados a slow queries, thresholds de mongostat, change watchers, completions de DataMask, e eventos de licença.

O que é

Uma tab de workspace onde você registra webhooks de saída e regras. Cada webhook tem uma URL de destino, um template de body (Slack / Discord / Teams / generic), e um header secreto opcional. Regras ligam um pattern de trigger a um ou mais webhooks — quando um sinal monitorado cruza um threshold o engine dispara o webhook com um payload JSON.

Quando usar

Conecte o chat do time de DBA ao NoSqlStudio para que um spike de slow-query pingue #db-oncall no momento em que acontece, uma completion de job DataMask poste um tick verde em #compliance, ou uma expiração de licença dispare um incidente PagerDuty 7 dias antes do prazo.

Como abrir

  1. No app desktop do NoSqlStudio, abra o menu Tools → Alerting, ou pressione Ctrl+Alt+Shift+A.
  2. Uma tab de workspace abre com duas tabs no topo: Webhooks (lista + CRUD) e Rules (pattern + threshold + picker de webhook).
  3. Clique em New Webhook, preencha nome + URL de destino + template de body + headers opcionais + scope. Clique em Test fire para confirmar reachability.

Construindo uma regra

  1. Abra a tab Rules. Clique em New Rule. Escolha um pattern de trigger no dropdown — slow query (p99 acima do threshold), métrica mongostat cruzada, change watcher disparado, DataMask completado, DB Copy terminado, evento de licença, ou qualquer combinação.
  2. Defina o threshold (para triggers numéricos) e o cooldown (para que um sinal barulhento não inunde o canal).
  3. Escolha quais webhooks disparar. Você pode fan out para múltiplos destinos a partir de uma regra.
  4. Clique em Simulate. O engine dispara um evento sintético e despacha o webhook para que você possa verificar formatação e roteamento sem esperar a condição real.

Auto-triggers conectados hoje

Esses sinais já estão plumbed no engine de rules — sem extra glue:

  • Slow query (Profiler) — p99 acima do threshold configurado numa janela móvel.
  • mongostat — cruzamentos de métrica em nível de servidor (ex.: spike de opcounters, comprimento de lock queue, page faults).
  • Change Watcher — qualquer evento que combine com um filter que você definiu.
  • Job DataMask — start / finish / abort com outcome e policy.
  • DB Copy / DB Sync — completion com contagens de row e duração.
  • Licença — ativação / desativação / expiração se aproximando.
  • Audit log — patterns anômalos de linha (ex.: falhas repetidas).

Limitações (v1)

  • Webhooks são disparados do main process desktop — só funcionam enquanto o app NoSqlStudio está rodando na workstation DBA. Para alerting server-side use a REST API + seu scheduler existente.
  • Sem retry built-in em falha de webhook além do timeout de 10s do AbortController. Use webhook genérico + seu próprio retry sidecar se você precisa de garantias de entrega.
  • Persistido em userData/Alerting/webhooks.json — faça backup como qualquer outro config; não sincronizado entre máquinas automaticamente.