Para aplicações Python implantadas em clusters ACK, como aplicações web desenvolvidas com frameworks como Django, Flask e FastAPI, ou aplicações de IA e LLM criadas com LlamaIndex e Langchain, use o Application Real-Time Monitoring Service (ARMS) para monitorar o desempenho da aplicação. Para ativar o monitoramento, instale o componente ack-onepilot e modifique seu Dockerfile. Essa configuração habilita recursos como topologia de aplicação, rastreamento, análise de chamadas de API, detecção de anomalias e acompanhamento detalhado de interações com modelos grandes.
Pré-requisitos
Crie um namespace. Para mais informações, consulte Manage namespaces and resource quotas. Este tópico usa o namespace
arms-democomo exemplo.-
O runtime Python deve ser a versão 3,8 ou superior.
O ARMS é compatível com Python 3,8 e versões posteriores. O uso de uma versão anterior pode causar problemas de conexão.
-
O ARMS é um service de gerenciamento de desempenho de aplicações (APM) fornecido pela Alibaba Cloud. Para obter mais detalhes sobre o monitoramento de aplicações, consulte What is Application Real-Time Monitoring Service (ARMS)? e What is application monitoring?.
Etapa 1: Instalar o componente ack-onepilot
O componente legado arms-pilot não recebe mais manutenção. O ack-onepilot é seu substituto e oferece total compatibilidade. A migração não exige alterações na configuração da sua aplicação. Para obter as etapas de migração, consulte Uninstall arms-pilot and install ack-onepilot.
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, clique em Components and Add-ons .
-
Na seção Logs and Monitoring, localize o add-on ack-onepilot e clique em Install no cartão do add-on.
NotaCertifique-se de que a versão do ack-onepilot seja 3.2.4 ou superior. Por padrão, o componente ack-onepilot suporta até 1.000 pods. Para cada 1.000 pods adicionais acima desse limite, aumente os recursos de cpu do ack-onepilot em 0,5 núcleo e a memória em 512 MB.
Após a instalação, atualize, configure ou desinstale o add-on ack-onepilot na página Add-ons.
Etapa 2: Autorizar o ARMS a acessar recursos
O ARMS usa addon.arms.token para autorização sem senha. A maioria dos clusters gerenciados pelo ACK inclui esse secret por padrão, mas alguns clusters mais antigos podem não incluí-lo.
Verifique se o cluster possui o token:
Se o token estiver ausente, conceda as permissões manualmente:
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, clique em Cluster Information.
Na aba Basic Information, em Cluster Resources, clique 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 uma Elastic Container Instance (ECI), acesse a página RAM Quick Authorization e conclua a autorização. Em seguida, reinicie os pods criados para o ack-onepilot.
Etapa 3: Integrar o agente Python do ARMS ao Dockerfile
Modifique o Dockerfile para integrar o agente Python do ARMS e usá-lo para iniciar a aplicação Python.
-
Instale o instalador do agente via PyPI:
RUN pip3 install aliyun-bootstrap -
Instale o agente. Substitua
<region-id>pelo ID da região da Alibaba Cloud (por exemplo,cn-hangzhou):NotaPara instalar uma versão específica do agente, execute:
aliyun-bootstrap -a install -v <version>Para consultar todas as versões lançadas, veja Python agent release notes.RUN ARMS_REGION_ID=<region-id> aliyun-bootstrap -a install -
Atualize o comando de inicialização para usar o prefixo
aliyun-instrument:CMD ["aliyun-instrument", "python", "app.py"] Crie a imagem.
Veja abaixo um exemplo completo de Dockerfile:
Etapa 4: Ativar o monitoramento do ARMS
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, clique em .
Na página Deployments, localize a aplicação e clique em na coluna Actions.
-
Adicione os seguintes rótulos em
spec.template.metadata: Substitua<app-name>por um nome descritivo para a aplicação, comomy-python-service.ImportanteSe você usar uma versão do ack-onepilot posterior à 5.0.0, mas já tiver instalado o agente manualmente no Dockerfile, desative a injeção automática adicionando este rótulo: ``
yaml armsAutoInstrumentationEnable: "off"``labels: aliyun.com/app-language: python # Required. Identifies this as a Python application. armsPilotAutoEnable: 'on' # Enables ARMS monitoring. armsPilotCreateAppName: "<app-name>" # Display name in the ARMS console.O código abaixo apresenta um modelo YAML completo para criar um Deployment e ativar o monitoramento da aplicação:
Etapa 5: Visualizar detalhes do monitoramento
-
Após cerca de um minuto, faça login no ARMS console. No painel de navegação à esquerda, escolha para visualizar a aplicação Python e os dados reportados.
Na lista de aplicações, visualize a aplicação arms-python-client conectada e suas métricas, como requisições por segundo, taxa de erro e tempo médio de resposta.
Clique em Application Name para acessar a página de monitoramento da aplicação no console ARMS e visualizar informações detalhadas. Para mais informações, consulte Application overview.
(Opcional) Etapa 6: Liberar recursos
Se não for mais necessário monitorar a aplicação Python com o ARMS, desinstale o agente Python do ARMS para interromper o monitoramento. Para mais informações, consulte Uninstall the Python agent.
> Edit YAML