O Application Monitoring é um serviço de monitoramento de desempenho de aplicações (APM) oferecido como parte do Application Real-Time Monitoring Service (ARMS). Instale um agente para monitorar a integridade da aplicação, localizar interfaces lentas ou com falhas e diagnosticar gargalos de desempenho em produção sem modificar seu código.
Instrumentação automática
O Application Monitoring utiliza instrumentação de bytecode em tempo de execução para fornecer recursos de APM sem exigir alterações no código da aplicação. Os desenvolvedores não precisam interagir com o agente durante o desenvolvimento. Aplicações implantadas em clusters do Container Service for Kubernetes (ACK) ou em instâncias do Elastic Compute Service (ECS) podem usar o Integration Center para injetar agentes automaticamente e simplificar a integração inicial.
Topologia da aplicação
O agente descobre automaticamente as dependências upstream e downstream entre suas aplicações. Ele captura rastreamentos distribuídos em frameworks RPC (como Dubbo) e HTTP (como Spring Cloud) e os exibe como uma topologia visual da aplicação. A topologia também abrange middlewares como MySQL, Redis e RocketMQ. Use a topologia da aplicação para identificar gargalos de desempenho e chamadas anormais em todo o sistema.
Monitoramento de interfaces
O Application Monitoring descobre e monitora automaticamente interfaces HTTP e RPC na sua aplicação. Para cada interface, ele coleta métricas como contagem de chamadas, tempo de resposta, contagem de erros e contagem de exceções. Use o painel de monitoramento de interfaces e a visualização em cascata de rastreamentos para identificar exatamente qual componente em um rastreamento causa problemas de desempenho.
Análise de rastreamentos
O Application Monitoring oferece ferramentas de análise de rastreamentos que permitem combinar condições de filtro e dimensões de agregação para analisar rastreamentos em tempo real. Os casos de uso comuns incluem:
Visualize a distribuição temporal de chamadas lentas que excedem uma duração especificada.
Analise a distribuição de requisições com erro entre diferentes hosts.
Acompanhe variações de tráfego de clientes ou endpoints específicos.
Análise de SQL lento
O Application Monitoring fornece análise de SQL lento para bancos de dados relacionais SQL (como MySQL e PostgreSQL) e bancos de dados NoSQL (como Redis e MongoDB). Identifique instruções SQL com alta latência, analise transações lentas e rastreie consultas lentas até o código da aplicação que as originou.
Insight inteligente
Quando há picos no tempo de resposta ou aumento nas taxas de erro, o insight inteligente identifica automaticamente a causa raiz. Sem necessidade de configuração manual, o recurso analisa dados históricos da aplicação com algoritmos integrados para fornecer análise de causa raiz e recomendações acionáveis. Inscreva-se em alertas para eventos de insight inteligente e receba notificações proativas.
Profiling contínuo
O profiling contínuo diagnostica o uso de CPU e memória no nível do código com sobrecarga mínima de desempenho. Esse recurso fornece detalhamentos refinados por nome de método, nome de classe e número de linha. Use esses dados para otimizar caminhos críticos, reduzir latência, aumentar o throughput e diminuir custos de recursos.
Alertas
O Application Monitoring oferece mais de 50 regras de alerta predefinidas que abrangem métricas da JVM, métricas de host e desempenho de interfaces. Personalize limiares e combine regras para atender aos seus requisitos. Por meio do ARMS Alert Management, configure:
Convergência de alertas para reduzir ruído causado por notificações duplicadas
Notificação multicanal, incluindo DingTalk, e-mail e webhooks
Políticas de escalonamento para encaminhar alertas não reconhecidos
Ecossistema open-source
O Application Monitoring integra-se ao padrão OpenTelemetry, permitindo a correlação de rastreamentos distribuídos em várias linguagens de programação e stacks tecnológicos heterogêneos. As métricas de aplicação coletadas pelo Application Monitoring são armazenadas em instâncias do Managed Service for Prometheus na sua conta. Painéis padrão do Grafana estão disponíveis, e você pode criar painéis personalizados ou realizar desenvolvimento secundário usando PromQL.
Próximos passos
Para começar a monitorar sua aplicação, consulte o guia de início rápido correspondente à sua linguagem de programação. Por exemplo, visualize Monitorar uma aplicação Java implantada em um cluster ACK.
Para visualizar as dependências upstream e downstream da sua aplicação, consulte Dependências.
Para configurar alertas para suas aplicações, consulte Regras de alerta.