Todos los productos
Search
Centro de documentos

Cloud Monitor:Install a Java agent for ACK and ACS clusters using ack-onepilot

Última actualización: Sep 03, 2026

Instale el componente ack-onepilot para monitorear aplicaciones Java en Container Service for Kubernetes ACK o Container Compute Service ACS. Posteriormente, consulte la topología de la aplicación, las llamadas a API, las transacciones anómalas y las transacciones lentas.

Nota

Los pasos de instalación son idénticos para ACK y ACS. Esta guía utiliza ACK como ejemplo.

Componente ack-onepilot

El componente ack-onepilot prepara automáticamente los paquetes del agente de Application Monitoring para distintos lenguajes y configura el entorno de reporte dentro de los contenedores. Para obtener más información, consulte How the ack-onepilot component works.

Cuando una aplicación se reinicia, ack-onepilot actualiza automáticamente el agente a la versión más reciente. Para fijar una versión específica del agente, consulte Control the agent version.

Paso 1: Instalar el asistente del agente (ack-onepilot)

  1. Inicie sesión en la consola de ACK. En la página Clusters, haga clic en el nombre del clúster.

  2. En el panel de navegación izquierdo, haga clic en Add-ons. A continuación, localice ack-onepilot.

    Importante

    El componente ack-onepilot debe ser versión 5.1.0 o posterior.

  3. Haga clic en Install en la tarjeta de ack-onepilot.

    Nota
    • De forma predeterminada, el componente ack-onepilot admite 1,000 pods. Por cada 1,000 pods adicionales en el clúster, debe agregar 0.5 núcleos de CPU y 512 MB de memoria al componente.

    • Si instala ack-onepilot en un clúster ACS, configure accessKey y accessKeySecret en la parte inferior de la tarjeta de instalación. Utilice el AccessKey ID y el AccessKey secret de su cuenta de Alibaba Cloud. Para obtener información sobre cómo conseguirlos, consulte Create an AccessKey. Asegúrese de que la cuenta de Alibaba Cloud cuente con los permisos AliyunARMSFullAccess y AliyunSTSAssumeRoleAccess.

  4. En la página que aparece, configure los parámetros. Se recomienda utilizar los valores predeterminados. Haga clic en OK.

    Nota

    Después de instalar ack-onepilot, puede actualizarlo, configurarlo o desinstalarlo desde la página Add-ons.

Paso 2: Otorgar permisos para acceder a recursos de ARMS

Clúster administrado ACK

Si su clúster administrado ACK no tiene un token de complemento de ARMS, siga estos pasos para otorgar los permisos necesarios. Si ya existe un token de complemento de ARMS, omita este paso y continúe con el Paso 3.

Comprobar si existe un ARMS Addon Token en un clúster.

  1. Inicie sesión en la consola de ACK. En la página Clusters, haga clic en el nombre del clúster para ir a la página de detalles del clúster.

  2. En el panel de navegación izquierdo, seleccione Configurations > Secrets. En la parte superior de la página, establezca Namespace en kube-system y compruebe si existe addon.arms.token.

Nota

Si un clúster cuenta con ARMS Addon Token, ARMS realiza una autorización sin contraseña en dicho clúster. Es posible que algunos clústeres administrados ACK no tengan ARMS Addon Token. Se recomienda verificar si un clúster administrado ACK posee ARMS Addon Token antes de usar ARMS para monitorear aplicaciones en él. Si el clúster no tiene ARMS Addon Token, debe autorizar al clúster para que acceda a ARMS.

Agregar manualmente políticas de permisos

  1. Inicie sesión en la consola de ACK. En la página Clusters, haga clic en el nombre del clúster.

  2. En la pestaña Basic Information de la página Cluster Information, haga clic en el enlace junto a Worker RAM Role en la sección Cluster Resources.

  3. En la pestaña Permissions, haga clic en Grant Permission.

  4. En el panel Grant Permission, agregue las siguientes dos políticas de acceso y haga clic en Confirm Grant Permission.

    • AliyunTracingAnalysisFullAccess: acceso completo a Managed Service for OpenTelemetry.

    • AliyunARMSFullAccess: acceso completo a ARMS.

Clúster dedicado/clúster registrado

Para monitorear aplicaciones en un clúster dedicado ACK o en un clúster registrado ACK One, asegúrese de que la cuenta de Alibaba Cloud asociada tenga los permisos AliyunARMSFullAccess y AliyunSTSAssumeRoleAccess. Para obtener más información, consulte Manage RAM user permissions.

Después de instalar ack-onepilot, configúrelo con el AccessKey ID y el AccessKey secret de una cuenta de Alibaba Cloud que tenga permisos de ARMS.

Método 1: Introducir el par de AccessKey en Helm

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre del clúster objetivo. En el panel de navegación izquierdo, seleccione App > Helm. Localice el componente ack-onepilot y haga clic en Update.

  3. Reemplace los marcadores de posición de accessKey y accessKeySecret con su par de AccessKey y, a continuación, haga clic en OK.

    Nota

    Para obtener información sobre cómo conseguir un par de AccessKey, consulte Create an AccessKey.

    En el editor YAML, busque accessKey: __ACCESSKEY__ y accessKeySecret: __ACCESSKEY_SECRET__ en la sección controller y reemplace los marcadores de posición con su información real de AccessKey.

  4. Reinicie el Deployment de la aplicación.

Método 2: Importar el par de AccessKey mediante un secreto de Kubernetes

  1. Inicie sesión en la consola de Container Service for Kubernetes y, en la barra de navegación izquierda, seleccione Clusters.

  2. En la página Clusters, haga clic en el nombre del clúster objetivo. En el panel de navegación izquierdo, seleccione Configurations > Secrets.

  3. Seleccione el namespace de ack-onepilot y cree un secreto que contenga su par de AccessKey.

    Nota

    Para obtener información sobre cómo conseguir un par de AccessKey, consulte Create an AccessKey.

    Establezca el Secret Name como ack-onepilot-aksk y el Type como Opaque. En la sección Data, agregue dos entradas: establezca las claves como ak y sk, e introduzca el AccessKey ID y el AccessKey secret correspondientes como sus valores. Luego, haga clic en OK.

  4. En el panel de navegación izquierdo, seleccione Workload > Deployment. Haga clic en el componente ack-onepilot (generalmente llamado ack-onepilot-ack-onepilot en el namespace ack-onepilot).

  5. En la página ack-onepilot-ack-onepilot, haga clic en Edit en la esquina superior derecha. En la sección Environment Variables, agregue ONE_PILOT_ACCESSKEY y ONE_PILOT_ACCESSKEY_SECRET, y configúrelas para que referencien los valores almacenados en el secreto. A continuación, haga clic en OK.

    Seleccione el secreto ack-onepilot-aksk. Para la variable ONE_PILOT_ACCESSKEY, seleccione la clave ak. Para la variable ONE_PILOT_ACCESSKEY_SECRET, seleccione la clave sk.

Clúster ASK/ECI

Para monitorear aplicaciones en un clúster ACK Serverless (ASK) o en un clúster que utiliza ECI, complete la autorización en la página de Autorización de acceso a recursos en la nube y, posteriormente, reinicie todos los pods del componente ack-onepilot.

Paso 3: Habilitar Application Monitoring para aplicaciones Java

El siguiente ejemplo YAML muestra cómo crear un Deployment con Application Monitoring habilitado:

Expandir para ver el archivo YAML de ejemplo completo (Java)

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
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo"
        armsPilotAppWorkspace: "workspace"   # Replace with the name of your workspace.
        one-agent.jdk.version: "OpenJDK18"
    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
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo-subcomponent"
        armsPilotAppWorkspace: "workspace"   # Replace with the name of your workspace.
        one-agent.jdk.version: "OpenJDK18"
    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:
    - name: arms-demo-component-svc
      port: 6666
      targetPort: 8888
  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:
    - name: arms-mysql-svc
      port: 3306
      targetPort: 3306
  selector:
    app: mysql
---
  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Workloads > Deployments.

  3. En la página Stateless, haga clic en more icon > YAML Edit junto a la aplicación objetivo. Para crear una aplicación, haga clic en Create from YAML.

  4. En el archivo YAML, agregue las siguientes labels a la sección spec.template.metadata.

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "deployment-name"    # Replace deployment-name with the name of your application.
      armsPilotAppWorkspace: "workspace"  # Replace with the name of your workspace.
      aliyun.com/app-language: java
    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
            armsPilotAutoEnable: "on"
            armsPilotCreateAppName: "arms-k8s-demo"
            armsPilotAppWorkspace: "workspace"
        spec:
          containers:
            - resources:
                limits:
                  cpu: 0.5
              image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
  5. Haga clic en Update.

Consulta de detalles de monitoreo

  1. Inicie sesión en la consola de Cloud Monitor 2.0 y seleccione un espacio de trabajo. En el panel de navegación izquierdo, seleccione Application Center > Application Observability > Application Insights.

  2. En la página Application List, localice su aplicación y haga clic en su Application Name para consultar los datos detallados de monitoreo.