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.
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)
Inicie sesión en la consola de ACK. En la página Clusters, haga clic en el nombre del clúster.
-
En el panel de navegación izquierdo, haga clic en Add-ons. A continuación, localice ack-onepilot.
ImportanteEl componente ack-onepilot debe ser versión 5.1.0 o posterior.
-
Haga clic en Install en la tarjeta de ack-onepilot.
NotaDe 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.
-
En la página que aparece, configure los parámetros. Se recomienda utilizar los valores predeterminados. Haga clic en OK.
NotaDespué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.
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.
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
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, haga clic en el nombre del clúster objetivo. En el panel de navegación izquierdo, seleccione . Localice el componente ack-onepilot y haga clic en Update.
-
Reemplace los marcadores de posición de
accessKeyyaccessKeySecretcon su par de AccessKey y, a continuación, haga clic en OK.NotaPara obtener información sobre cómo conseguir un par de AccessKey, consulte Create an AccessKey.
En el editor YAML, busque
accessKey: __ACCESSKEY__yaccessKeySecret: __ACCESSKEY_SECRET__en la seccióncontrollery reemplace los marcadores de posición con su información real de AccessKey. Reinicie el Deployment de la aplicación.
Método 2: Importar el par de AccessKey mediante un secreto de Kubernetes
Inicie sesión en la consola de Container Service for Kubernetes y, en la barra de navegación izquierda, seleccione Clusters.
En la página Clusters, haga clic en el nombre del clúster objetivo. En el panel de navegación izquierdo, seleccione .
-
Seleccione el namespace de ack-onepilot y cree un secreto que contenga su par de AccessKey.
NotaPara obtener información sobre cómo conseguir un par de AccessKey, consulte Create an AccessKey.
Establezca el Secret Name como
ack-onepilot-aksky el Type como Opaque. En la sección Data, agregue dos entradas: establezca las claves comoakysk, e introduzca el AccessKey ID y el AccessKey secret correspondientes como sus valores. Luego, haga clic en OK. En el panel de navegación izquierdo, seleccione . Haga clic en el componente ack-onepilot (generalmente llamado ack-onepilot-ack-onepilot en el namespace ack-onepilot).
-
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_ACCESSKEYyONE_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:
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en .
En la página Stateless, haga clic en
> YAML Edit junto a la aplicación objetivo. Para crear una aplicación, haga clic en Create from YAML.-
En el archivo YAML, agregue las siguientes
labelsa la secciónspec.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: javaapiVersion: 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 Haga clic en Update.
Consulta de detalles de monitoreo
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 .
En la página Application List, localice su aplicación y haga clic en su Application Name para consultar los datos detallados de monitoreo.