Todos os produtos
Search
Central de documentação

:Use o Application Monitoring eBPF Edition para monitorar uma aplicação em um ambiente Kubernetes

Última atualização: Jun 27, 2026

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.

Nota

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:

  1. Execute o comando wget a 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'
  2. Descompacte o pacote de instalação do ack-arms-cmonitor com o comando abaixo:

    tar xvf ack-arms-cmonitor-4.1.2.tgz
  3. Altere a variável de ambiente IS_PUBLIC no arquivo otel-collector-deployment.yaml para public.

  4. 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.

      Nota

      No 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.

      Importante

      Certifique-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.

  5. 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

  1. Visualize o arquivo YAML da aplicação Deployment executando o seguinte comando:

    kubectl get deployment {Deployment application name} -o yaml
    Nota

    Caso 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
  2. Edite o arquivo YAML da aplicação Deployment com o comando a seguir:

    kubectl edit deployment {Deployment application name} -o yaml
  3. 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:

    Show details of the YAML file

    apiVersion: apps/v1beta1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: arms-springboot-demo
      labels:
        app: arms-springboot-demo
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: arms-springboot-demo
      template:
        metadata:
          labels:
            app: arms-springboot-demo
            armseBPFAutoEnable: "on"
            armseBPFCreateAppName: "arms-k8s-demo"
        spec:
          containers:
            - resources:
                limits:
                  cpu: 0.5
              image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
              imagePullPolicy: Always
              name: arms-springboot-demo
              env:
                - name: MYSQL_SERVICE_HOST
                  value: "arms-demo-mysql"
                - name: MYSQL_SERVICE_PORT
                  value: "3306"
    ---
    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: arms-demo-mysql
      labels:
        app: mysql
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: mysql
      template:
        metadata:
          labels:
            app: mysql
        spec:
          containers:
            - resources:
                limits:
                  cpu: 0.5
              image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-demo-mysql:v0.1
              name: mysql
              ports:
                - containerPort: 3306
                  name: mysql
    ---
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        name: mysql
      name: arms-demo-mysql
    spec:
      ports:
        # the port that this service should serve on
        - name: arms-mysql-svc
          port: 3306
          targetPort: 3306
      # label keys and values that must match in order to receive traffic for this service
      selector:
        app: mysql
    ---
  4. 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 Application Monitoring eBPF > Application List 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.