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.

Sinais no OpenTelemetry · Rollback de containers em VPS