Todos os produtos
Search
Central de documentação

:Integrar manualmente uma aplicação em um cluster ACK ao Application Monitoring eBPF Edition

Última atualização: Jun 27, 2026

O Application Monitoring eBPF Edition do Application Real-Time Monitoring Service (ARMS) é um serviço de observabilidade ponta a ponta desenvolvido para clusters Kubernetes. Instale manualmente o agente ack-arms-cmonitor em um cluster Kubernetes para monitorar métricas, rastreamentos de aplicações, logs e eventos do cluster. Este tópico descreve como integrar uma aplicação implantada em um cluster do Alibaba Cloud Container Service for Kubernetes (ACK) ao Application Monitoring eBPF Edition.

Pré-requisitos

Nota

O Application Monitoring eBPF Edition está em preview público gratuito. Em caso de dúvidas, entre no grupo do DingTalk (ID: 35568145) para obter suporte técnico.

Observações de uso

Para integrar uma aplicação implantada em um cluster ACK ao Application Monitoring eBPF Edition, instale o agente ack-arms-cmonitor no cluster Kubernetes para monitorar as métricas.

Antes da instalação, verifique se o cluster possui o ARMS Addon Token. Caso contrário, não haverá permissões suficientes para executar as operações subsequentes. Se o ARMS Addon Token existir, a autorização já estará concedida e será possível instalar o agente ack-arms-cmonitor sem senha para usar o Application Monitoring eBPF Edition. Se o cluster não possuir o ARMS Addon Token, anexe manualmente as políticas do ARMS e do Managed Service for OpenTelemetry à sua função RAM de worker. Execute as operações a seguir para verificar a existência do ARMS Addon Token e anexar as políticas à função RAM de worker:

Verificar se o ARMS Addon Token existe no cluster

  1. Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters. Na página Clusters, clique no nome do cluster desejado para acessar a página de detalhes.

  2. No painel de navegação à esquerda, escolha Configurations > Secrets. Na parte superior da página, selecione kube-system na lista suspensa Namespace e verifique se addon.arms.token aparece na página Secrets.

Adicionar políticas de permissão manualmente

  1. Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters. Na página Clusters, clique no nome do cluster.

  2. Na aba Basic Information da página Cluster Information, clique no link ao lado de Worker RAM Role na seção Cluster Resources.

  3. Na página exibida, clique em Grant Permission na aba Permissions.

  4. No painel Grant Permission, adicione as seguintes políticas e clique em Grant permissions.

    • AliyunTracingAnalysisFullAccess: acesso total ao Managed Service for OpenTelemetry.

    • AliyunARMSFullAccess: acesso total ao ARMS.

Nota
  • Alguns clusters gerenciados ACK podem não possuir o ARMS Addon Token. Ao utilizar um cluster gerenciado ACK, recomenda-se verificar primeiro a existência do ARMS Addon Token. Se ele não existir, conceda as permissões manualmente.

  • Por padrão, clusters dedicados ACK não possuem o ARMS Addon Token. Nesse caso, conceda as permissões manualmente.

Instalar o agente ack-arms-cmonitor

Instalar o agente para uma aplicação existente

Caso o agente ack-arms-cmonitor já esteja instalado na sua aplicação, verifique se a versão é 4.0.0 ou posterior. Faça login no console ACK e escolha Operations > Add-ons no painel de navegação à esquerda da página de detalhes do cluster. Se a versão for anterior a 4.0.0, clique em Upgrade para atualizar o agente para a versão mais recente. Para instalar o agente ack-arms-cmonitor, siga estas etapas:

  1. Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters. Na página Clusters, clique no nome do cluster.

  2. No painel de navegação à esquerda, escolha Operations > Cluster Topology.

  3. Na página Cluster Topology, clique em Install. O console ACK instala o agente automaticamente.

    Nota

    O namespace padrão é arms-prom.

  4. Se estiver usando um cluster dedicado ACK, atualize o par de AccessKey.

    1. No painel de navegação à esquerda, escolha Applications > Helm.

    2. Localize arms-cmonitor e clique em Update. Defina os parâmetros accessKey e accessKeySecret com o ID e o segredo do AccessKey da sua conta Alibaba Cloud. Para mais informações, consulte Obter o par de AccessKey do centro principal.

      Importante

      Certifique-se de que as políticas AliyunARMSFullAccess e AliyunSTSAssumeRoleAccess estejam anexadas à sua conta Alibaba Cloud.

    3. Clique em OK.

Instalar o agente durante a criação de uma aplicação

  1. Faça login no console ACK. Na página Clusters, localize o cluster e clique em Applications na coluna Actions.

  2. Na página Deployments, clique em Create from YAML.

  3. Selecione um modelo na lista suspensa Sample Template e adicione os seguintes labels ao diretório spec.template.metadata no modelo yaml.

    labels:
      armseBPFAutoEnable: "on"
      armseBPFCreateAppName: "<your-deployment-name>"    # Replace <your-deployment-name> with the application name.

    O modelo yaml abaixo demonstra como criar um Deployment e ativar o Application Monitoring eBPF Edition:

    Visualize modelo yaml

    apiVersion: v1
    kind: Namespace
    metadata:
      name: arms-demo
    ---
    apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: arms-springboot-demo
      namespace: arms-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: SELF_INVOKE_SWITCH
                  value: "true"
                - name: COMPONENT_HOST
                  value: "arms-demo-component"
                - name: COMPONENT_PORT
                  value: "6666"
                - name: MYSQL_SERVICE_HOST
                  value: "arms-demo-mysql"
                - name: MYSQL_SERVICE_PORT
                  value: "3306"
    ---
    apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: arms-springboot-demo-subcomponent
      namespace: arms-demo
      labels:
        app: arms-springboot-demo-subcomponent
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: arms-springboot-demo-subcomponent
      template:
        metadata:
          labels:
            app: arms-springboot-demo-subcomponent
            armseBPFAutoEnable: "on"
            armseBPFCreateAppName: "arms-k8s-demo-subcomponent"
        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-subcomponent
              env:
                - name: SELF_INVOKE_SWITCH
                  value: "false"
                - name: MYSQL_SERVICE_HOST
                  value: "arms-demo-mysql"
                - name: MYSQL_SERVICE_PORT
                  value: "3306"
    ---
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        name: arms-demo-component
      name: arms-demo-component
      namespace: arms-demo
    spec:
      ports:
        # the port that this service should serve on
        - name: arms-demo-component-svc
          port: 6666
          targetPort: 8888
      # label keys and values that must match in order to receive traffic for this service
      selector:
        app: arms-springboot-demo-subcomponent
    ---
    apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: arms-demo-mysql
      namespace: arms-demo
      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
      namespace: arms-demo
    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

Referência

Após integrar sua aplicação em um cluster ACK ao Application Monitoring eBPF Edition, monitore as métricas, as dependências upstream e downstream e a topologia da aplicação. Para mais informações, consulte Detalhes da aplicação.