Integrações na prática

Monitorar integração em produção: o alarme de ausência que quase ninguém tem

Integração não cai, emudece. Volume por janela, idade do item mais velho e taxa de erro por tipo — e o alarme que dispara quando nada chegou.

Leonardo Peron5 min de leitura

Sistema que cai avisa. Integração raramente cai: ela emudece. O painel continua verde porque o processo está de pé, a fila de erro está vazia porque nada falhou, e ninguém percebe que há três dias não entra pedido nenhum daquele canal. A descoberta vem pelo cliente, e vem tarde.

Monitorar integração é, por isso, um problema diferente de monitorar aplicação: não basta observar o que deu errado, é preciso observar o que deveria ter acontecido e não aconteceu.

Os três silêncios

Nada chegou. A origem parou, o aviso deixou de ser enviado, a assinatura foi desligada por alguém mexendo num painel, a credencial venceu. Do lado de cá, nenhum erro: só ausência — que é o que webhook não entrega.

Chegou e foi para o lugar errado. O destino aceitou e classificou no que ele usa como padrão. É o modo de falha típico da contabilidade: retorno de sucesso, valor numa conta que ninguém consulta.

A recusa veio dentro de uma resposta de sucesso. Há fornecedor que devolve 200 com o erro no corpo. Se a integração só olha o código de resposta, isso nunca vira item de fila.

Nenhum dos três aparece num monitoramento de erro. Os três aparecem quando se monitora volume.

Volume esperado por janela

O número mais útil de uma integração é a contagem do que entrou e do que saiu, por fluxo, por janela de tempo. Ele responde à pergunta que erro nenhum responde: está passando a quantidade certa de coisa?

Duas escolhas fazem esse número servir. A primeira é comparar com a mesma janela da semana anterior, não com a hora anterior: segunda de manhã não se parece com domingo à noite, e véspera de feriado não se parece com nada. A segunda é contar dos dois lados — o que a origem diz ter mandado e o que o destino diz ter recebido. Uma contagem só mede o seu processo; duas medem a integração.

Idade, medida do relógio certo

A fila que se forma quando o outro lado cai e escoa em três minutos não é problema; dois itens parados desde ontem são. O que separa os dois é a idade do item mais velho pendente, e é ela que merece alarme.

O detalhe que muda o valor da medida: a idade se conta a partir do momento em que o fato aconteceu na origem, não de quando ele chegou até você. Medir da própria chegada esconde a metade do atraso que está antes da sua porta — e é justamente essa metade que o cliente sente. Quando os relógios dos dois lados não concordam, isso também aparece aqui, o que já é informação.

Taxa de erro por tipo, com denominador

Contagem de erro sozinha engana nos dois sentidos: vinte erros num dia de cem mil eventos é ruído; dois num dia de dez é incêndio. O que se observa é a proporção, e por tipo — porque tratar erro temporário e erro de dado como a mesma linha apaga a única distinção que muda a ação, detalhada em a fila que ninguém olha.

E vale registrar a armadilha: taxa de erro zero com volume zero parece perfeição. É o painel mais bonito e o mais mentiroso do conjunto — mais um motivo para o volume vir antes do erro.

O alarme de ausência

É o que quase ninguém tem, e o único que pega os três silêncios.

Ele exige uma declaração que raramente existe: para cada fluxo, em que janela é anormal não acontecer nada. Pedido de loja: algumas horas em dia útil. Retorno bancário: uma vez por dia útil, em horário conhecido. Carga de catálogo do distribuidor: uma vez por semana. O alarme dispara quando a contagem é zero dentro de uma janela em que zero não é aceitável.

Três cuidados fazem a diferença entre um alarme útil e um que todo mundo silencia. O calendário da operação precisa entrar: feriado, fim de semana e recesso não são anomalia. O alarme observa o evento de negócio, não a saúde do processo — processo vivo que não faz nada é exatamente o caso a pegar, e verificação de disponibilidade não distingue os dois. E ele dispara igual se quem parou foi a origem ou você: qual dos dois foi é diagnóstico, e diagnóstico vem depois do aviso.

Onde o volume é baixo demais para que a ausência signifique algo, o substituto é uma transação sintética: um registro de teste, marcado, percorrendo o caminho inteiro em horário fixo e conferido na chegada. Prova a via mesmo num dia em que ninguém vendeu nada.

Alarme sem dono é notificação

Aviso que chega num canal que ninguém lê vale o mesmo que não existir, e custa mais — cria a sensação de que há monitoramento. Cada alarme precisa de três respostas escritas antes de ser ligado: para quem vai, o que a pessoa faz ao recebê-lo, e para quem escala se ela não responder.

O inimigo aqui é o ruído. Alarme que dispara toda semana sem nada de errado treina o time a ignorar, e o dia do problema de verdade é indistinguível dos outros. Isso é decisão de prazo por gravidade, e é a diferença entre sustentação e torcida.

O teste que confirma

Escolha um fluxo e interrompa a origem de propósito, em horário comercial, por uma janela em que seria anormal não chegar nada. Não avise ninguém. Depois cronometre duas coisas: quanto tempo até alguém ser avisado, e quanto tempo até alguém agir.

Se ninguém foi avisado, você acabou de descobrir que a integração depende de um cliente reclamar. Se o aviso saiu mas ninguém agiu, o problema é de dono, não de instrumento — e é o mesmo dono que decide quanto custa manter aquilo no ar pelos próximos anos.

Isso é o que fazemos em integração de sistemas

ERP, e-commerce, CRM, banco e planilha falando entre si por API, webhook ou arquivo. Sem duplicar pedido e sem uma pessoa no meio copiando dado.

Resposta em até 1 dia útil