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
Endpoint de diagnóstico: monitorar instâncias WhatsApp sem SSH

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 · 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.

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.

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

API WhatsApp grátisTeste 7 dias, sem cartãoAutomação WhatsAppAutomatize via REST APIAPI não oficialSem aprovação da MetaCasos 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
  • Automação WhatsApp
  • API não oficial
  • Comparativo
  • API WhatsApp 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