Respostas lentas da aplicação podem surgir em qualquer ponto do caminho da requisição: frontend, gateway, servidor de aplicação ou banco de dados. Em arquiteturas de microsserviços, uma única requisição atravessa serviços mantidos por equipes diferentes, e registrar logs de todos os possíveis gargalos gera custos elevados.
O Application Monitoring no ARMS (Application Real-Time Monitoring Service) resolve esse problema ao rastrear automaticamente cada interface exposta pela sua aplicação e sinalizar chamadas lentas, sem necessidade de alterações no código. Após a instalação de um agente do ARMS, ele realiza profiling contínuo da aplicação, captura traces distribuídos e monitora o desempenho das interfaces.
Este guia apresenta um fluxo de troubleshooting: verifique métricas de integridade, identifique interfaces lentas e analise traces e pilhas de métodos para encontrar a causa raiz.
Pré-requisitos
Antes de começar, certifique-se de ter:
Uma conta Alibaba Cloud com o ARMS ativado
Uma aplicação conectada ao Application Monitoring do ARMS com um agente do ARMS instalado. Para métodos de instalação, consulte Application Monitoring overview
Etapa 1: Verificar integridade da aplicação e métricas de SQL lento
A página Application Overview oferece um panorama da integridade da sua aplicação. Ela acompanha as seguintes métricas e exibe tendências diárias e semanais:
|
Métrica |
O que indica |
|
Tempo médio de resposta |
Latência geral percebida pelos chamadores |
|
Total de requisições |
Volume de tráfego durante o período selecionado |
|
Erros |
Requisições com falha que podem indicar bugs ou problemas em serviços downstream |
|
Instâncias em tempo real |
Quantidade de instâncias ativas da aplicação |
|
Ocorrências de Full GC |
Pausas de garbage collection que podem causar travamentos |
|
Consultas SQL lentas |
Consultas ao banco de dados que ultrapassam o limiar de lentidão |
|
Exceções |
Exceções de runtime lançadas pela aplicação |
|
Chamadas lentas |
Chamadas de interface que excedem o limiar de tempo de resposta |
Faça login no console do ARMS. No painel de navegação à esquerda, escolha Application Monitoring > Application List.
-
Na página Application List, selecione uma região na barra de navegação superior e clique em nome da sua aplicação.
NotaSe o ícone
aparecer na coluna Language, a aplicação está conectada ao Application Monitoring. Caso apareça um hífen (-), a aplicação está conectada ao Managed Service for OpenTelemetry. Na página Application Overview, clique em aba Overview. Essa aba exibe o número total de consultas SQL lentas, além das variações diárias e semanais. Um aumento na contagem de SQL lento frequentemente indica um gargalo relacionado ao banco de dados; investigue-o primeiro.
Etapa 2: Identificar interfaces lentas
A página Interface Invocation lista todas as interfaces expostas pela sua aplicação, juntamente com a contagem de chamadas e o tempo de resposta. O ARMS marca as interfaces lentas para identificar rapidamente quais endpoints exigem atenção.
No painel de navegação à esquerda, clique em Interface Invocation.
-
No painel esquerdo, clique em uma interface lenta para visualizar seus detalhes. Concentre-se nas interfaces com tempos de resposta altos ou grande volume de chamadas lentas, pois são as fontes mais prováveis de latência perceptível pelo usuário.
Ao acessar a página Interface Invocation, a aba Overview é exibida por padrão. O painel esquerdo lista todas as interfaces com seus respectivos tempos de resposta, contagem de requisições, contagem de erros e contagem de exceções. O painel direito apresenta quatro gráficos de monitoramento: Requests/Minute, Response Time/Minute, Slow Calls/Minute e HTTP Status Code Statistics. Na lista de interfaces à esquerda, ordene por tempo de resposta para localizar interfaces com chamadas lentas e alta latência.
Etapa 3: Localizar o código defeituoso com detalhes do trace
Após identificar uma interface lenta, analise seus traces para encontrar o código específico responsável. Os snapshots de interface capturam registros completos de trace — cada chamada na cadeia e sua duração — permitindo determinar exatamente onde o tempo é consumido.
No lado direito da página Interface Invocation, clique em aba Interface snapshot. Esta aba exibe todos os traces capturados para a interface selecionada.
Clique em um ID de trace para abrir os detalhes do trace.
-
No painel de detalhes do trace, revise a hierarquia de chamadas e a distribuição de tempo. Na coluna Details, clique em ícone de lupa para inspecionar pilhas de métodos e informações de contexto.
NotaPara mais formas de consultar e filtrar traces, consulte Trace query.
Depois de identificar a causa raiz de uma chamada lenta específica, retorne à página Interface Invocation e repita esse processo para outras interfaces lentas na lista.
Configure alertas para monitoramento contínuo
Para detectar regressões de desempenho antecipadamente, configure regras de alerta para uma ou mais interfaces. Quando ocorrem exceções, o ARMS envia notificações de alerta automaticamente para sua equipe de operações.
Para mais detalhes, consulte Application Monitoring alert rules.