O Application Monitoring eBPF Edition do Application Real-Time Monitoring Service (ARMS) permite monitorar aplicações implantadas em ambientes Kubernetes de forma não intrusiva. Esse recurso possibilita o monitoramento com base na topologia, chamadas de interface, visão geral da aplicação e alertas. Este tópico descreve como usar o Application Monitoring eBPF Edition para monitorar uma aplicação em um ambiente Kubernetes.
Este tópico não se aplica a clusters do Alibaba Cloud Container Service for Kubernetes (ACK). Para obter informações sobre como monitorar uma aplicação em um cluster ACK, consulte Conectar manualmente uma aplicação ao Application Monitoring eBPF Edition.
Pré-requisitos
A versão do cluster Kubernetes deve ser 1.20 ou superior.
O cluster deve estar acessível pela Internet ou ter uma conexão de rede estabelecida entre uma Virtual Private Cloud (VPC) da Alibaba Cloud e o cluster por meio de uma instância do Cloud Enterprise Network (CEN).
A arquitetura utilizada deve ser x86, com versão de kernel 4.19 ou posterior. Para mais requisitos de ambiente, consulte Requisitos e limitações de sistemas operacionais do Application Monitoring eBPF Edition.
Etapa 1: Instale o Helm v3
Para obter instruções sobre a instalação do Helm v3, consulte a documentação do Helm.
Etapa 2: Instale o agente ack-arms-cmonitor
O Application Monitoring eBPF Edition monitora apenas os seguintes tipos de aplicação: Deployment e StatefulSet. O processo de conexão é idêntico para ambos. Para ative o monitoramento de uma aplicação Deployment pelo Application Monitoring eBPF Edition, execute as etapas a seguir:
-
Execute o comando
wgeta seguir para baixe o pacote de instalação do ack-arms-cmonitor:wget 'https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-arms-cmonitor-4.1.2.tgz' -
Descompacte o pacote de instalação do ack-arms-cmonitor com o comando abaixo:
tar xvf ack-arms-cmonitor-4.1.2.tgz Altere a variável de ambiente IS_PUBLIC no arquivo otel-collector-deployment.yaml para
public.-
Edite o arquivo values.yaml no pacote de instalação. Modifique os parâmetros a seguir conforme suas necessidades de negócio e salve o arquivo.
registry: registry-__ACK_REGION_ID__-vpc.ack.aliyuncs.com cluster_id: __ACK_CLUSTER_ID__ accessKey: __ACCESSKEY__ accessKeySecret: __ACCESSKEY_SECRET__ uid: "__ACK_UID__" region_id: __ACK_REGION_ID__-
registry: endereço da imagem.NotaNo exemplo anterior, o endereço da imagem destina-se a Virtual Private Clouds (VPCs). Caso sua aplicação esteja implantada na Internet, use o seguinte endereço:
registry-__ACK_REGION_ID__.ack.aliyuncs.com __ACK_REGION_ID__: ID da região. Para verificar quais regiões oferecem suporte ao Application Monitoring eBPF Edition, consulte Regiões suportadas.__ACK_CLUSTER_ID__: ID exclusivo do cluster Kubernetes. Recomendamos especifique este parâmetro no formato<uid>-<clusterid>.-
__ACCESSKEY__e__ACCESSKEY_SECRET__: AccessKey ID e AccessKey secret da sua conta Alibaba Cloud. Para saber como obter essas credenciais, consulte Obter um par de AccessKey.ImportanteCertifique-se de que as políticas AliyunARMSFullAccess e AliyunSTSAssumeRoleAccess estejam anexadas à sua conta Alibaba Cloud.
__ACK_UID__: ID da sua conta Alibaba Cloud. Para obtê-lo, passe o ponteiro do mouse sobre a foto de perfil no canto superior direito do Alibaba Cloud Management Console.
-
-
Instale o agente ack-arms-cmonitor.
Execute o comando abaixo sem abrir o pacote de instalação do ack-arms-cmonitor:
helm3 upgrade --install ack-arms-cmonitor ack-arms-cmonitor --namespace arms-prom --create-namespace
Etapa 3: Edite o arquivo YAML da aplicação
-
Visualize o arquivo YAML da aplicação Deployment executando o seguinte comando:
kubectl get deployment {Deployment application name} -o yamlNotaCaso desconheça o
nome da aplicação Deployment, liste todas as aplicações desse tipo com o comando abaixo. Identifique a aplicação desejada nos resultados e visualize seu arquivo YAML.kubectl get deployments --all-namespace -
Edite o arquivo YAML da aplicação Deployment com o comando a seguir:
kubectl edit deployment {Deployment application name} -o yaml -
Adicione o conteúdo abaixo ao parâmetro spec.template.metadata no arquivo YAML.
labels: armseBPFAutoEnable: "on" armseBPFCreateAppName: "<your-deployment-name>" # Replace <your-deployment-name> with the application name.O exemplo a seguir apresenta um arquivo YAML completo para crie uma aplicação Deployment em um ambiente Kubernetes e ative o monitoramento pelo Application Monitoring eBPF Edition:
-
Após salvar as configurações acima, a aplicação reinicia automaticamente e as alterações entram em vigor.
Após 2 a 5 minutos, se sua aplicação aparecer na página do console ARMS e houver dados específicos de monitoramento, o Application Monitoring eBPF Edition estará monitorando sua aplicação com sucesso.
Referências
Após conectar uma aplicação implantada em um ambiente Kubernetes ao Application Monitoring eBPF Edition, você poderá visualize métricas, dependências upstream e downstream, além da topologia da aplicação. Para mais detalhes, consulte Detalhes da aplicação.