O Application Real-Time Monitoring Service (ARMS) oferece gerenciamento de desempenho de aplicações (APM) sem código para aplicações Java executadas no Container Service for Kubernetes (ACK). Instale o add-on ack-onepilot no cluster para que o ARMS descubra automaticamente a topologia da aplicação, monitore interfaces e capture requisições com falha ou lentas, sem alterar o código. Para mais informações sobre o Monitoramento de Aplicações do ARMS, consulte O que é o Monitoramento de Aplicações.
Após a configuração, você pode:
Identificar requisições com falha e lentas
Reproduzir parâmetros de requisição
Detectar vazamentos de memória
Descobrir gargalos do sistema
Visualize dependências de serviço como um mapa de topologia 3D
Pré-requisitos
Antes de começar, verifique se você tem:
Um namespace no cluster ACK. Este tópico usa
arms-democomo exemplo. Consulte Gerencie namespaces e cotas de recursosUma versão compatível do JDK na aplicação Java (consulte a tabela abaixo)
O ARMS ativado na conta. Consulte Ative o ARMS
Versões compatíveis do JDK:
|
Versão do JDK |
Status de suporte |
Observações |
|
1.7.0+ |
Obsoleto |
O agente ARMS V3.0.X e posteriores não suportarão mais o Java 7. Atualize para uma versão mais recente. Consulte O Monitoramento de Aplicações não suporta mais o Java 7. |
|
1.8.0_25 |
Não recomendado |
A instalação do agente pode falhar. Atualize para a versão 1.8.X mais recente. |
|
1.8.0_31 |
Não recomendado |
A instalação do agente pode falhar. Atualize para a versão 1.8.X mais recente. |
|
1.8.0_191+ |
Recomendado |
Versão mínima recomendada para clusters Kubernetes. |
|
11.0.8+ |
Suportado |
|
|
17 |
Suportado |
Etapa 1: Instale o add-on ack-onepilot
O antigo componente arms-pilot não recebe mais manutenção. O ack-onepilot é seu substituto e totalmente compatível, sem exigir alterações na configuração da aplicação. Para migrar do arms-pilot, consulte Como desinstalar o arms-pilot e instale o ack-onepilot?
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em no nome do cluster desejado. No painel de navegação à esquerda, clique em Add-ons.
Na seção Logs and Monitoring, localize o ack-onepilot e clique em Install. Na caixa de diálogo, mantenha os valores padrão dos parâmetros e clique em OK.
Por padrão, o ack-onepilot suporta até 1.000 pods. Para cada 1.000 pods adicionais, adicione 0,5 núcleos de CPU e 512 MB de memória ao componente ack-onepilot. Após a instalação, atualize, configure ou desinstale o ack-onepilot na página Add-ons.
Etapa 2: Autorizar o ARMS a acessar recursos
O método de autorização depende da existência do Secret addon.arms.token no cluster. Esse Secret permite que o ARMS autorize automaticamente sem senha. A maioria dos clusters gerenciados pelo ACK criados recentemente já o inclui por padrão, mas alguns clusters mais antigos podem não tê-lo.
Verifique se o cluster possui o addon.arms.token:
Faça login no console do ACK e clique em Clusters.
Clique em no nome do cluster. No painel de navegação à esquerda, escolha Configurations > Secrets.
Selecione kube-system na lista suspensa Namespace e verifique se o
addon.arms.tokenestá listado.
Se o addon.arms.token existir: Nenhuma autorização adicional é necessária. Pule para a Etapa 3.
Se o addon.arms.token não existir: Conceda acesso ao ARMS para a Worker RAM Role do cluster:
Faça login no console do ACK e clique em Clusters.
Clique em no nome do cluster. No painel de navegação à esquerda, clique em Cluster Information.
Na aba Basic Information, vá até a seção Cluster Resources e clique em no link ao lado de Worker RAM Role.
Na aba Permissions, clique em Grant Permission.
Selecione a política AliyunARMSFullAccess e clique em Grant permissions.
Se o cluster estiver conectado a Elastic Container Instances (ECI): Acesse a página de Autorização Rápida do RAM para conceder a função AliyunMSEForECIRole e reinicie os pods do ack-onepilot.
Etapa 3: Ative o monitoramento do ARMS para sua Deployment Java
Adicione rótulos do ARMS à seção spec.template.metadata do YAML da Deployment para ativar o monitoramento quando a aplicação iniciar.
Faça login no console do ACK e clique em Clusters.
Clique em no nome do cluster. No painel de navegação à esquerda, escolha Workloads > Deployments.
Na página Deployments, clique em Create from YAML.
-
Escolha um modelo na lista suspensa Sample Template e adicione os seguintes rótulos à seção
spec.template.metadatano editor Template:armsSecAutoEnable: "on"conecta a aplicação à Segurança de Aplicações . Este rótulo é opcional. Para detalhes de faturamento, consulte Faturamento .labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" # Replace with your application name armsSecAutoEnable: "on" # Include this label only if you want to enable Application SecuritySubstitua
<your-deployment-name>pelo nome real da aplicação.O modelo YAML completo a seguir cria um namespace, duas Deployments e serviços de suporte, com o monitoramento do ARMS ativado em ambas as Deployments:

Verificar a configuração
Após o início da Deployment, confirme se o monitoramento está ativo:
Na página Deployments do console do ACK, localize a aplicação e clique em
> ARMS Console na coluna Actions.No console do ARMS, confirme se o nome da aplicação aparece na lista de aplicações.

Se a aplicação não aparecer ou se houver dados de monitoramento ausentes, consulte Por que os dados de monitoramento não são exibidos após a instalação de um agente ARMS em uma aplicação Java em um cluster ACK? ou Por que a instalação de um agente ARMS falha para uma aplicação em um cluster ACK?
Próximos passos
Visão geral da aplicação — Explore o painel de Monitoramento de Aplicações do ARMS: rastreamento de requisições, mapas de topologia e métricas de desempenho.