ZAP-API
PreçosCasos de UsoBlogDocsLogin
Começar grátis
  1. Blog
  2. Endpoint de diagnóstico: monitorar instâncias WhatsApp sem SSH
Observabilidade

Endpoint de diagnóstico: monitorar instâncias WhatsApp sem SSH

Use o endpoint de diagnóstico da ZAP API para consultar métricas de saúde, alertas e performance de instâncias WhatsApp via HTTP, sem precisar de acesso SSH ao servidor.

21 de maio de 2026·12 min de leitura·Equipe Editorial ZAP API

São 3h da manhã, seu pager apita: "instância principal silenciosa há 4 horas". Você abre o laptop, tenta SSH na VPS, aguarda autenticação 2FA, conecta no Postgres, executa query manual, vê 0 mensagens nas últimas horas. Diagnóstico no escuro, dependendo de SSH e conhecimento ad-hoc do banco. Inviável em produção séria.

O endpoint de diagnóstico da ZAP API resolve exatamente isso. Uma única chamada HTTP autenticada por token retorna snapshot completo da saúde da plataforma: alertas ativos, performance dos endpoints, thresholds atuais, recomendações de ação. Sem SSH, sem banco, sem dependência de quem implementou.

O endpoint

GET https://api.zap-api.tech/v1/diagnostics/agent-snapshot
Header: X-Diagnostic-Token: dt_xxxxxxxxxxxxxxxxxxxxxx

Resposta JSON:

{
  "timestamp": "2026-05-21T15:42:00Z",
  "silent_alerts": {
    "sent_last_7d": 3,
    "currently_silent": [
      { "instanceId": "inst_abc123", "lastActivityAt": "2026-05-20T08:11:00Z" }
    ]
  },
  "summary_endpoint": {
    "timings_ms": [142, 98, 124, 187, 156],
    "uses_index": true,
    "explain_plan": "Index Scan using idx_zap_message_log_created_direction...",
    "bucket_seconds": 3600
  },
  "thresholds_for_action": {
    "silent_alert_min_inbound_count": 5,
    "silent_alert_window_hours": 24,
    "rate_limit_429_per_5min": 10,
    "circuit_breaker_open_minutes": 5
  }
}

Os 3 blocos da resposta

  • silent_alerts — alertas disparados nos últimos 7 dias e instâncias atualmente em silêncio anormal
  • summary_endpoint — performance do endpoint de agregação (5 últimos timings em ms, plano de query, uso de índice)
  • thresholds_for_action — limites configurados que disparam ações automatizadas

Token de menor privilégio

O X-Diagnostic-Token é diferente do seu token normal. Características:

  • Só leitura — não permite criar/atualizar/deletar nada
  • Escopo limitado — só o endpoint /v1/diagnostics/*
  • Sem acesso a SSH/DB — operações de leitura via API REST somente
  • Comparação timing-safe no servidor (resiste a timing attacks)
  • Rotação fácil — gere novo, invalide antigo, sem afetar tokens normais

Como gerar

No painel: Configurações > API Tokens > Diagnostic Token > Generate. Você recebe o token uma vez (formato dt_xxxxxxxxx...) — copie e armazene.

Cron de monitoramento que abre issue automática

Use o snapshot a cada 5 minutos e dispare alerta no GitHub Issues quando algum threshold for ultrapassado:

// monitor-cron.ts
import axios from "axios";

const ZAP = axios.create({
  baseURL: "https://api.zap-api.tech/v1",
  headers: { "X-Diagnostic-Token": process.env.ZAP_DIAGNOSTIC_TOKEN! },
});

const GITHUB = axios.create({
  baseURL: "https://api.github.com",
  headers: { Authorization: `Bearer ${process.env.GH_TOKEN}` },
});

async function check() {
  const { data } = await ZAP.get("/diagnostics/agent-snapshot");

  const issues: string[] = [];

  // Regra 1: muitas instâncias silenciosas
  if (data.silent_alerts.currently_silent.length >= 3) {
    issues.push(`${data.silent_alerts.currently_silent.length} instâncias silenciosas`);
  }

  // Regra 2: latência do summary acima do esperado
  const p95 = data.summary_endpoint.timings_ms.sort((a,b) => a-b)[Math.floor(0.95 * 5)];
  if (p95 > 500) {
    issues.push(`Summary p95 = ${p95}ms (> 500ms)`);
  }

  // Regra 3: index não está sendo usado
  if (!data.summary_endpoint.uses_index) {
    issues.push(`Summary endpoint não está usando índice`);
  }

  if (issues.length > 0) {
    await GITHUB.post("/repos/seu-usuario/seu-projeto/issues", {
      title: `[ZAP-MONITOR] ${issues.length} alertas`,
      body: `${issues.join("\n- ")}\n\nSnapshot:\n\`\`\`json\n${JSON.stringify(data, null, 2)}\n\`\`\``,
      labels: ["monitoring", "auto"],
    });
  }
}

check().catch(console.error);

// Crontab: */5 * * * * node monitor-cron.js

Integração com Uptime Robot / Better Uptime

Configure um monitor HTTP que requer:

  • URL: https://api.zap-api.tech/v1/diagnostics/agent-snapshot
  • Header: X-Diagnostic-Token: dt_seu_token
  • Status esperado: 200
  • Timeout: 5s
  • Frequência: 1-5 min

Você pode até validar conteúdo: "string contém deve incluir timestamp". Falha → SMS/email/Slack para o time.

Exporter Prometheus / Grafana

Para times com stack de observabilidade própria, faça pequeno adapter que converte o JSON em métricas Prometheus:

// prom-exporter.ts
import express from "express";
import axios from "axios";

const app = express();
const ZAP = axios.create({
  baseURL: "https://api.zap-api.tech/v1",
  headers: { "X-Diagnostic-Token": process.env.ZAP_DIAGNOSTIC_TOKEN! },
});

app.get("/metrics", async (req, res) => {
  const { data } = await ZAP.get("/diagnostics/agent-snapshot");
  const lines: string[] = [];

  lines.push(`# HELP zap_silent_alerts_7d Alertas silenciosos nos últimos 7d`);
  lines.push(`# TYPE zap_silent_alerts_7d gauge`);
  lines.push(`zap_silent_alerts_7d ${data.silent_alerts.sent_last_7d}`);

  lines.push(`# HELP zap_silent_currently Instâncias silenciosas agora`);
  lines.push(`# TYPE zap_silent_currently gauge`);
  lines.push(`zap_silent_currently ${data.silent_alerts.currently_silent.length}`);

  const timings = data.summary_endpoint.timings_ms;
  lines.push(`# HELP zap_summary_latency_ms Latência do endpoint summary`);
  lines.push(`# TYPE zap_summary_latency_ms histogram`);
  for (const t of timings) {
    lines.push(`zap_summary_latency_ms_bucket{le="${t}"} 1`);
  }

  res.set("Content-Type", "text/plain");
  res.send(lines.join("\n"));
});

app.listen(9100);

Configure scrape no Prometheus apontando para esse endpoint. Em seguida monte dashboard Grafana com gráficos das métricas.

Casos práticos

Caso 1: SaaS B2B com SLA 99,9%

Empresa precisa provar uptime para clientes corporativos. Monitor a cada 1 minuto bate o endpoint, registra latência em InfluxDB, gera relatório automatizado de SLA mensal. Quando alerta dispara, sistema também aciona PagerDuty (escala on-call). Time não precisa lembrar de checar nada — a infra avisa.

Caso 2: Time pequeno sem ops dedicado

Startup de 3 devs sem Sysadmin. Cron rodando no GitHub Actions a cada 10 min consulta o endpoint e abre issue automática. Dev de plantão lê issues toda manhã e age. Não precisa SSH, monitoring stack, ou pessoa 24/7.

Caso 3: Auditoria pré-deploy

Pipeline CI/CD bate o endpoint antes de aprovar deploy de produção. Se alguma instância está silenciosa ou latência está alta, deploy é bloqueado. Evita "deploy em cima de fogo" — não introduzir mudanças quando ambiente já está degradado.

FAQ

Como gero o token?

No painel: Configurações > API Tokens > Aba Diagnostic > Generate New. Token aparece uma vez no momento da criação — copie e armazene em vault. Para rotação, gere novo e invalide antigo (não afeta tokens normais de API).

Quanto tempo os dados ficam armazenados?

Snapshot é gerado em tempo real — não tem retenção. Para histórico, você precisa armazenar localmente após cada scrape. Recomendamos InfluxDB ou Postgres com TimescaleDB para séries temporais.

Qual a frequência ideal de chamada?

1-5 minutos. Mais frequente que isso é overkill (dados não mudam tão rápido). Menos frequente que 10 minutos arrisca não detectar incidente em janela aceitável. O endpoint é leve (latência típica 50-150ms) e não tem rate limit agressivo.

SSE/streaming vs polling?

Hoje só polling. Se você precisa de notificação em real-time (delta push), use webhooks específicos (instance.silent_alert, etc.) que entregam o evento no momento. O snapshot é para "estado atual completo", complementar.

Existe dashboard pronto?

Painel ZAP API tem gráficos básicos em /super-admin/instances. Para algo mais elaborado, recomendamos integrar com Grafana via exporter Prometheus (mostrado acima). Em breve disponibilizamos dashboard Grafana pré-configurado para importar.

Próximo passo

Gere seu Diagnostic Token e monte o monitoramento em 30 minutos. Criar conta grátis e configure o endpoint no seu pipeline de observabilidade.

Experimente a ZAP API gratuitamente

7 dias de trial sem precisar de cartão. A partir de R$29/mês*.

Criar instância grátis
EE
Equipe Editorial ZAP APIRevisão técnica

Desenvolvedores e especialistas em integrações WhatsApp. Todo conteúdo passa por revisão técnica para garantir precisão e aplicabilidade.

Ver perfil completoDocumentaçãoTrial grátis

Leia também

Observabilidade · 03 de jun. de 2026 · 14 min

Observabilidade em produção: logs, alertas e métricas de instância WhatsApp

Como montar um stack completo de observabilidade para integrações WhatsApp em produção: logs estruturados, métricas de saúde, alertas proativos e dashboards.

Observabilidade · 08 de mai. de 2026 · 12 min

Health score de sessão WhatsApp: monitorar e agir antes de cair

Como usar o Session Quality Score da ZAP API para detectar instâncias degradadas antes que caiam, com alertas automáticos e ação corretiva via código.

Tutorial · 13 de jun. de 2026 · 10 min

Reagir, editar, apagar, fixar e encaminhar mensagens do WhatsApp via API

Vá além do envio: as ações de mensagem da API de WhatsApp com endpoint exato — reação com emoji, edição, apagar para todos, fixar no topo, encaminhar e marcar como lida.

Arquitetura · 26 de mai. de 2026 · 14 min

Multi-instância WhatsApp: arquitetura para escalar sem banimento

Como distribuir envios entre múltiplas instâncias WhatsApp para escalar volume, isolar clientes e proteger números críticos de banimento por sobrecarga.

Tópicos:Chatbots com IAE-commerceAPI WhatsApp

Explore também

Casos de usoWhatsApp API por segmentoComparativoZAP API vs alternativasPreçosPlanos e o que está inclusoGlossárioTermos técnicos de WhatsApp API
ZAP-API

API REST para WhatsApp com webhooks assinados, Meta Pixel/CAPI e compliance LGPD. Sem aprovação da Meta.

Status operacional🇧🇷 Feito no Brasil

Produto

  • Preços
  • Casos de uso
  • Comparativo
  • Trial grátis
  • Dashboard

Recursos

  • Documentação
  • Blog
  • Glossário
  • RSS Feed

Empresa

  • Sobre
  • Imprensa
  • Termos de uso
  • Privacidade
  • Criar conta
  • Login

Contato

  • [email protected]
  • [email protected]
  • Resposta em até 24h úteis
© 2026 ZAP-API — Todos os direitos reservados·CNPJ 42.130.949/0001-56·Termos·Privacidade

Desenvolvido por PreviusIA