Uma API começa a responder devagar e a CPU da VPS sobe. As duas coisas ocorreram juntas, mas a causa pode ser o banco, o próprio serviço ou uma tarefa externa. Um painel útil combina duração das requisições, taxa de erros e saturação do host para ajudar a separar essas hipóteses.
Colete o que muda uma decisão
No serviço, conte requisições por método, rota normalizada e classe de status. Use histogramas para acompanhar duração. No host, acompanhe memória, disco e CPU. Monitore também as conexões com o banco se elas forem um recurso limitado. Assim, um pico de latência pode ser confrontado com o tempo de espera do pool e a carga da máquina.
Nos logs estruturados, use um identificador de requisição para localizar eventos de uma operação. Preserve o identificador como campo de busca e mantenha rótulos indexados com poucos valores, como serviço e ambiente. Um identificador diferente a cada requisição multiplica a cardinalidade sem melhorar os painéis agregados. Remova tokens e dados pessoais dos logs.
Valide o diagnóstico com uma falha conhecida
Em um ambiente de teste, faça uma dependência demorar além do timeout. Verifique se o gráfico de duração reage, se o erro aparece com a rota correta e se o identificador liga o evento HTTP ao erro da dependência. Depois, confira se a retenção é compatível com o espaço disponível.
Quando o tráfego ainda é pequeno, esse exercício ajuda a decidir onde tracing distribuído acrescentaria contexto que os sinais atuais não conseguem fornecer.