Blog

Como monitorar indisponibilidade da API

8 min de lectura

Como monitorar indisponibilidade da API

Uma API pode responder HTTP 200 e, ainda assim, comprometer uma operação. Se a latência ultrapassa o tempo aceitável para o seu checkout, se a resposta chega sem um campo essencial ou se a autenticação falha para parte dos usuários, o impacto é real. Por isso, saber como monitorar indisponibilidade da API não é apenas verificar se um endpoint está no ar: é medir se ele está cumprindo a função esperada em fluxos de cadastro, KYC, KYB, análise de risco e emissão fiscal.

Para empresas que validam CPF e CNPJ em tempo real, alguns minutos de falha podem representar onboarding interrompido, revisão manual acumulada ou uma decisão tomada com menos evidências do que a política de risco exige. O monitoramento precisa transformar esses sintomas em sinais técnicos acionáveis, antes que a área de negócio perceba o problema pelos chamados de clientes.

O que caracteriza indisponibilidade de uma API

Indisponibilidade total é o cenário mais simples: a requisição não recebe resposta, ocorre erro de DNS, falha de conexão ou a API retorna 5xx de forma consistente. Mas operações maduras precisam considerar também a indisponibilidade parcial. Ela acontece quando somente uma região, um endpoint, uma rota de saída, um método de autenticação ou uma faixa de documentos apresenta falhas.

Há ainda a degradação. Um endpoint que normalmente responde em menos de dois segundos, mas passa a levar oito, pode ser tecnicamente acessível e operacionalmente inviável. Em uma jornada com limite de espera no aplicativo ou no navegador, lentidão é uma forma de indisponibilidade.

Erros 4xx merecem leitura cuidadosa. Um 401 ou 403 pode indicar token vencido, credencial revogada ou uma mudança no processo de autenticação. Um 429 aponta limitação de taxa e pode revelar crescimento de volume sem ajuste de capacidade no cliente. Já um 400 recorrente tende a ser problema de integração ou qualidade do dado enviado. Agrupar todo erro não 2xx como falha do fornecedor elimina justamente a informação necessária para corrigir a causa.

Como monitorar indisponibilidade da API com sinais úteis

O ponto de partida é definir quais indicadores representam saúde para cada integração. Para uma consulta cadastral, por exemplo, a disponibilidade não depende apenas de receber uma conexão: a resposta precisa ter estrutura válida, conter os dados esperados e chegar dentro do orçamento de tempo do fluxo.

A taxa de sucesso deve separar respostas válidas, erros de cliente, erros de servidor e timeouts. Também vale acompanhar a taxa de sucesso por endpoint, ambiente, versão do aplicativo, região e parceiro. Uma média global pode parecer saudável enquanto um fluxo específico perde uma parcela relevante dos cadastros.

A latência precisa ser observada por percentis, não apenas por média. O p50 mostra o comportamento típico, mas o p95 e o p99 revelam o que acontece com a cauda de requisições mais lentas. É essa parcela que costuma provocar abandono, duplicação de tentativas e filas de atendimento. Se o p95 cresce sem aumento de 5xx, a equipe ainda tem uma janela para atuar antes de uma interrupção completa.

Além de sucesso e tempo de resposta, acompanhe volume, timeout no cliente, conexões recusadas e falhas de validação de payload. Uma queda brusca no número de chamadas pode indicar que seu próprio serviço deixou de acionar a API. Nesse caso, o endpoint externo pode estar saudável, mas o processo de negócio continua parado.

Também é recomendável medir a disponibilidade por jornada. Uma métrica como “percentual de cadastros concluídos com validação oficial” aproxima o monitoramento do resultado que importa. Ela ajuda a distinguir uma instabilidade pontual de uma falha que bloqueia receita, compliance ou prevenção a fraude.

Use monitoramento sintético e monitoramento real

O monitoramento sintético executa requisições programadas a partir de pontos externos à sua infraestrutura. Ele serve para verificar disponibilidade, DNS, TLS, autenticação e tempo de resposta mesmo quando seu tráfego está baixo. Uma checagem a cada minuto em um endpoint crítico reduz o tempo entre a falha e a detecção.

Esses testes devem usar dados de teste permitidos e validar mais do que o status HTTP. Confirme o contrato da resposta, os campos indispensáveis e a consistência do formato JSON. Um status 200 com corpo vazio não deve ser classificado como sucesso.

Já o monitoramento real, baseado nas chamadas efetivamente feitas por seus sistemas, mostra o impacto para clientes e processos internos. Ele revela erros por segmento, picos de volume, rotas lentas e diferenças entre versões da integração. Os dois modelos se complementam: o sintético detecta cedo; o real informa a extensão e a prioridade do incidente.

Defina alertas que chamem a equipe certa

Um alerta eficaz precisa ter limiar, janela de observação, contexto e responsável. Alertar para uma única falha isolada geralmente gera ruído. Por outro lado, esperar dezenas de minutos para confirmar um problema pode deixar uma operação crítica sem resposta. O limite depende do SLA interno, do volume e da possibilidade de contingência.

Para uma API usada no onboarding, é razoável alertar quando a taxa de erros 5xx ou timeouts supera um limite por alguns minutos, quando o p95 de latência excede o orçamento do fluxo ou quando o teste sintético falha em mais de uma localização. Não trate todos esses eventos com o mesmo nível de urgência. Uma degradação que afeta 1% das consultas pede investigação; uma falha sustentada em validações obrigatórias pode exigir acionamento imediato.

O alerta deve trazer informações que reduzam o tempo de diagnóstico: endpoint, código de erro predominante, percentual de falha, latência atual versus linha de base, região afetada, identificador de correlação e início estimado do evento. Um aviso que apenas diz “API fora do ar” transfere o trabalho de investigação para quem está de plantão.

Evite também alertas baseados somente em dashboards. Painéis são essenciais para análise, mas incidentes precisam acionar canais definidos, com escala de atendimento e registro do ocorrido. A disciplina operacional inclui revisar alertas que nunca resultam em ação e ajustar os que disparam em excesso.

Instrumente a integração para separar causas

Sem telemetria no cliente, é difícil saber se a indisponibilidade está na API, na sua rede, no serviço que faz a chamada ou no tratamento de resposta. Registre, de forma segura, o método, o endpoint, o status HTTP, a duração, o tipo de exceção, o número de tentativas e um ID de correlação. Nunca grave tokens, documentos completos ou dados pessoais desnecessários nos logs.

A rastreabilidade é especialmente relevante em processos regulados. Quando uma análise cadastral falha, a equipe deve conseguir responder se houve timeout, dado inválido, limite de taxa, erro temporário ou decisão de contingência. Isso reduz retrabalho e cria evidência para auditorias internas.

Na integração com serviços de consulta, como a API da CPF.CNPJ, registre também a diferença entre uma resposta negativa de negócio e uma falha técnica. Um CPF inexistente, um CNPJ inapto ou uma situação cadastral irregular são resultados válidos para a política de risco. Eles não devem elevar o indicador de indisponibilidade nem disparar uma contingência indevida.

Prepare a aplicação para falhas transitórias

Monitorar sem definir reação apenas melhora a visibilidade do problema. A aplicação deve usar timeout explícito e compatível com o tempo máximo da jornada. Um timeout muito longo ocupa conexões, atrasa filas e piora o efeito em cascata. Um timeout curto demais pode abandonar respostas que ainda seriam úteis. A escolha deve ser testada com dados reais de latência.

Retentativas têm valor para falhas transitórias, mas precisam ser limitadas e aplicadas somente quando a operação for segura. Use poucas tentativas com atraso progressivo e variação aleatória para evitar que centenas de processos pressionem um serviço já degradado. Para chamadas que criam recursos, confirme idempotência antes de repetir a requisição.

O circuit breaker é outra proteção importante. Ao identificar uma sequência de falhas, ele interrompe temporariamente novas chamadas e evita exaurir recursos da sua aplicação. Durante esse período, a jornada pode seguir uma regra de contingência: colocar o cadastro em fila de análise, solicitar nova tentativa ao usuário ou bloquear a etapa quando a validação for mandatória.

Não existe uma resposta única para o modelo fail-open ou fail-closed. Em prevenção a fraude e validação exigida por compliance, liberar a operação sem consulta pode aumentar exposição e gerar passivo. Em uma atualização cadastral de baixo risco, enfileirar a verificação posterior pode preservar a experiência do usuário. A decisão deve estar documentada por fluxo, com aprovação de risco, compliance e produto.

Teste o plano antes do incidente

Uma estratégia só é confiável quando foi exercitada. Simule timeout, erro 500, resposta inválida, lentidão e limitação de taxa em ambiente controlado. Verifique se os alertas chegam, se os dashboards apontam a origem, se o circuit breaker abre e se a fila de contingência processa os registros depois da normalização.

Após cada incidente, revise o tempo de detecção, o tempo até a mitigação, o volume afetado e a qualidade das informações disponíveis. Às vezes, o problema não está no provedor nem no código da chamada, mas em uma alteração de DNS, em certificados, em uma configuração de firewall ou em uma credencial expirada. O aprendizado precisa resultar em ajuste concreto de alerta, documentação ou arquitetura.

A disponibilidade percebida pelo cliente nasce dessa combinação: medição por jornada, alertas com contexto, telemetria segura e comportamento previsível diante de falhas. Quando a validação cadastral é uma camada central da sua operação, monitorar bem significa manter decisões de risco e compliance funcionando sob pressão, não apenas manter um endpoint respondendo.

Ver también