

# Instalación del agente de CloudWatch
<a name="install-CloudWatch-Agent-on-EC2-Instance"></a>

Puede instalar el agente de CloudWatch en instancias de Amazon EC2, servidores en las instalaciones y entornos contenerizados para recopilar métricas, registros y rastros. El agente es compatible con sistemas operativos Linux, Windows y macOS. Existen varias formas de instalar el agente, por ejemplo, mediante Systems Manager, desde la consola de CloudWatch, desde la línea de comandos o mediante un archivo de configuración. Antes de instalar, asegúrese de configurar los permisos de IAM y el acceso a la red necesarios.

**Topics**
+ [Instalación y configuración del agente de Amazon CloudWatch con detección de cargas de trabajo en la consola de CloudWatch](install-cloudwatch-agent-workload-detection.md)
+ [Instalación manual en Amazon EC2](manual-installation.md)
+ [Instalación del agente de CloudWatch con AWS Systems Manager](installing-cloudwatch-agent-ssm.md)
+ [Instalación del agente de CloudWatch en servidores en las instalaciones](install-CloudWatch-Agent-on-premise.md)
+ [Instalación del agente de CloudWatch en nuevas instancias mediante CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md)
+ [Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](install-CloudWatch-Observability-EKS-addon.md)

# Instalación y configuración del agente de Amazon CloudWatch con detección de cargas de trabajo en la consola de CloudWatch
<a name="install-cloudwatch-agent-workload-detection"></a>

## Introducción
<a name="workload-detection-introduction"></a>

Puede utilizar la consola de inicio de CloudWatch para instalar y configurar el agente de CloudWatch en instancias de Amazon EC2. El agente de Amazon CloudWatch es un componente de software ligero que recopila métricas, registros y rastros del sistema de instancias de Amazon EC2. Al automatizar la recopilación y la entrega de datos de supervisión a CloudWatch, el agente le permite obtener información útil, optimizar el uso de recursos y garantizar que las aplicaciones se ejecuten sin problemas con un mínimo esfuerzo de configuración.

Configure el agente de CloudWatch con configuraciones predefinidas y específicas de la carga de trabajo que aprovechen la detección automática de cargas de trabajo para identificar las aplicaciones y los servicios en ejecución en sus instancias. Puede personalizar la recopilación de datos con métricas, registros y rastros específicos, lo que le permitirá supervisar el rendimiento de las aplicaciones y solucionar problemas de forma eficaz.

## Funcionamiento
<a name="workload-detection-how-it-works"></a>

El agente de CloudWatch detecta las cargas de trabajo que se ejecutan en las instancias de Amazon EC2 mediante capacidades de detección automática de cargas de trabajo. Esta característica identifica las aplicaciones y los servicios en ejecución en sus instancias, lo que permite una supervisión inteligente sin necesidad de configuración manual.

Las soluciones de observabilidad proporcionan configuraciones predefinidas y específicas para cada carga de trabajo, adaptadas a aplicaciones comunes como cargas de trabajo de GPU de NVIDIA, NGINX, máquinas virtuales Java, Apache Tomcat y Apache Kafka. Estas soluciones simplifican la configuración de la supervisión al recopilar automáticamente las métricas, los registros y los rastros correctos específicos para cada carga de trabajo detectada, lo que elimina la necesidad de instrumentación y configuración manuales.

Cuando la detección de cargas de trabajo está activada, el agente analiza el entorno de la instancia y selecciona automáticamente las plantillas de supervisión preconfiguradas pertinentes. Estas configuraciones están optimizadas por expertos en la materia de AWS para capturar los datos de telemetría más importantes para cada tipo de carga de trabajo, lo que garantiza una capacidad de observabilidad completa desde el principio.

## Requisitos previos
<a name="workload-detection-prerequisites"></a>

### Instalación de SSM Agent (obligatorio)
<a name="ssm-agent-installation"></a>

Debe tener AWS Systems Manager (SSM) Agent instalado en las instancias de Amazon EC2. SSM Agent viene preinstalado en la mayoría de las imágenes de máquina de Amazon (AMI) suministradas por AWS. Si necesita instalar o actualizar manualmente SSM Agent, consulte la [documentación de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html).

**nota**  
La configuración de administración de hosts predeterminada (DHMC) es una característica de Systems Manager que otorga automáticamente a las instancias de Amazon EC2 permisos para conectarse a Systems Manager sin necesidad de adjuntar manualmente ningún perfil de instancia de IAM a cada instancia. Si las instancias de Amazon EC2 utilizan DHMC y el proceso de instalación del agente de CloudWatch adjunta la política de CloudWatch a las instancias, la nueva política puede tardar hasta 30 minutos en entrar en vigor. Este retraso puede posponer la publicación de métricas, registros y rastros en CloudWatch. Para mitigarlo, puede crear instancias de Amazon EC2 con un rol de IAM que contenga la política [AmazonSSMManagedInstanceCore](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html).

### Detección de cargas de trabajo (recomendada)
<a name="workload-detection-recommended"></a>

La detección de cargas de trabajo es una característica opcional que identifica automáticamente las aplicaciones y los servicios en ejecución en las instancias. Recomendamos activar la detección de cargas de trabajo para aprovechar las plantillas de supervisión preconfiguradas y específicas para cada carga de trabajo. Puede activar la detección de cargas de trabajo en [Configuración de la consola de CloudWatch](https://console.aws.amazon.com/cloudwatch/home#settings).

## Introducción
<a name="workload-detection-getting-started"></a>

Abra la página Introducción al agente de Amazon CloudWatch en la consola de Amazon CloudWatch: [https://console.aws.amazon.com/cloudwatch/home\$1cloudwatch-agent](https://console.aws.amazon.com/cloudwatch/home#cloudwatch-agent)

**Implementación manual de instancias para el agente de CloudWatch**

Seleccione manualmente hasta 50 instancias para la instalación y configuración del agente de CloudWatch. Este enfoque específico le permite mejorar la supervisión de instancias específicas de Amazon EC2.

**Implementación basada en etiquetas para el agente de CloudWatch**

Utilice la implementación basada en etiquetas para instalar y configurar el agente de CloudWatch en las flotas de instancias de Amazon EC2. Este método se aplica a todas las instancias actuales y futuras con etiquetas coincidentes.

**Configuración basada en etiquetas**

Las configuraciones basadas en etiquetas le permiten organizar, ver y modificar las configuraciones de manera eficiente, lo que ayuda a administrar el agente de CloudWatch y la configuración en todas las flotas de instancias de Amazon EC2.

**Instalación del agente de CloudWatch**

Instale el agente de CloudWatch para recopilar métricas, registros y rastros de instancias de Amazon EC2 y hosts en las instalaciones. Esta telemetría proporciona datos importantes sobre el estado y el rendimiento de la infraestructura y las aplicaciones.

**Configuración del agente de CloudWatch**

Configure el agente de CloudWatch con configuraciones predefinidas y específicas de la carga de trabajo. Puede personalizar la recopilación de datos con métricas, registros y rastros específicos, lo que le permitirá supervisar el rendimiento de las aplicaciones y solucionar problemas de forma eficaz.

## Costos
<a name="workload-detection-costs"></a>

Las métricas adicionales que agregue durante este proceso se facturan como métricas personalizadas. Para obtener más información sobre los precios de las métricas de CloudWatch, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing).

# Instalación manual en Amazon EC2
<a name="manual-installation"></a>

**nota**  
Asegúrese de que los requisitos previos estén completados antes de instalar el agente de CloudWatch por primera vez.

**Topics**
+ [Instalación en Amazon Linux con el administrador de paquetes](#amazon-linux-package)
+ [Instalación en Amazon Linux con la línea de comandos](#linux-manual-install)
+ [Instalación en Windows](#windows-installation)
+ [Instalación en macOS](#macos-installation)

## Instalación en Amazon Linux con el administrador de paquetes
<a name="amazon-linux-package"></a>

El agente de CloudWatch está disponible como paquete en Amazon Linux 2023 y Amazon Linux 2. Si está utilizando este sistema operativo, puede instalar el paquete al introducir el siguiente comando:

```
sudo yum install amazon-cloudwatch-agent
```

Asimismo, debe asegurarse de que el rol de IAM asociado a la instancia tenga adjunto **CloudWatchAgentServerPolicy**.

## Instalación en Amazon Linux con la línea de comandos
<a name="linux-manual-install"></a>

En todos los sistemas operativos Linux compatibles, puede descargar e instalar el agente de CloudWatch mediante la línea de comandos.

1. Descargue el agente de CloudWatch. En un servidor Linux, escriba el comando siguiente. Para `download-link`, utilice el enlace de descarga correspondiente de la tabla siguiente.

   ```
   wget download-link
   ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/manual-installation.html)

1. Después de haber descargado el paquete, puede verificar la firma del paquete. Para obtener más información, consulte [Verificación de la firma del paquete del agente de CloudWatch](verify-CloudWatch-Agent-Package-Signature.md).

1. Instale el paquete. Si ha descargado un paquete RPM en un servidor Linux, cambie al directorio que contiene el paquete y escriba lo siguiente:

   ```
   sudo rpm -U ./amazon-cloudwatch-agent.rpm
   ```

   Si ha descargado un paquete DEB en un servidor Linux, cambie al directorio que contiene el paquete y escriba lo siguiente:

   ```
   sudo dpkg -i -E ./amazon-cloudwatch-agent.deb
   ```

## Instalación en Windows
<a name="windows-installation"></a>

En Windows Server, puede descargar e instalar el agente de CloudWatch mediante la línea de comandos.

1. Descargue el siguiente archivo:

   ```
   https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi
   ```

1. Después de haber descargado el paquete, puede verificar la firma del paquete. Para obtener más información, consulte [Verificación de la firma del paquete del agente de CloudWatch](verify-CloudWatch-Agent-Package-Signature.md).

1. Instale el paquete. Cambie al directorio que contiene el paquete y escriba lo siguiente:

   ```
   msiexec /i amazon-cloudwatch-agent.msi
   ```

   Este comando también funciona desde PowerShell. Para obtener más información acerca de opciones de comandos MSI, consulte [Opciones de línea de comandos](https://docs.microsoft.com/en-us/windows/desktop/Msi/command-line-options) en la documentación de Microsoft Windows.

## Instalación en macOS
<a name="macos-installation"></a>

En los equipos macOS, puede descargar e instalar el agente de CloudWatch mediante la línea de comandos.

1. Descargue el paquete correspondiente para su arquitectura:

   ```
   https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg
   ```

   Para la arquitectura ARM64:

   ```
   https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/arm64/latest/amazon-cloudwatch-agent.pkg
   ```

1. Después de haber descargado el paquete, puede verificar la firma del paquete. Para obtener más información, consulte [Verificación de la firma del paquete del agente de CloudWatch](verify-CloudWatch-Agent-Package-Signature.md).

1. Instale el paquete. Cambie al directorio que contiene el paquete y escriba lo siguiente:

   ```
   sudo installer -pkg ./amazon-cloudwatch-agent.pkg -target /
   ```

# Instalación del agente de CloudWatch con AWS Systems Manager
<a name="installing-cloudwatch-agent-ssm"></a>

 El uso de AWS Systems Manager facilita la instalación del agente de CloudWatch en una flota de instancias de Amazon EC2. Puede descargar el agente en un servidor y crear el archivo de configuración del agente de CloudWatch para todos los servidores de la flota. Luego, puede utilizar Systems Manager para instalar el agente en los demás servidores mediante el archivo de configuración que ha creado. Utilice los siguientes temas para instalar y ejecutar el agente de CloudWatch mediante AWS Systems Manager. 

**Topics**
+ [Instalación o actualización de SSM Agent](#update-SSM-Agent-EC2instance-first)
+ [Comprobar los requisitos previos de Systems Manager](#install-CloudWatch-Agent-minimum-requirements-first)
+ [Verifique el acceso a Internet](#install-CloudWatch-Agent-internet-access-first)
+ [Descarga del paquete del agente de CloudWatch en la primera instancia](#install-CloudWatch-Agent-EC2-first)
+ [Cree y modifique el archivo de configuración del agente](#CW-Agent-Instance-Create-Configuration-File-first)
+ [Instalación y ejecución del agente de CloudWatch en instancias de EC2 adicionales mediante la configuración del agente](#install-CloudWatch-Agent-on-EC2-Instance-fleet)
+ [Instalación del agente de CloudWatch en instancias de EC2 adicionales mediante la configuración de su agente](#install-CloudWatch-Agent-on-EC2-Instance-fleet)
+ [(Opcional) Modifique la configuración común y el perfil con nombre para el agente de CloudWatch](#CloudWatch-Agent-profile-instance-fleet)

## Instalación o actualización de SSM Agent
<a name="update-SSM-Agent-EC2instance-first"></a>

En una instancia de Amazon EC2, el agente de CloudWatch exige que la instancia ejecute la versión 2.2.93.0 o posterior de SSM Agent. Antes de instalar el agente de CloudWatch, actualice o instale el SSM Agent en la instancia si aún no lo ha hecho. 

Para obtener información acerca de la instalación o la actualización de SSM Agent en una instancia con Linux, consulte [Installing and Configuring SSM Agent on Linux Instances](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html) (Instalación y configuración de SSM Agent en instancias de Linux) en la *Guía del usuario de AWS Systems Manager*.

Para obtener información sobre la instalación o la actualización de SSM Agent, consulte [Working with SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) (Ejecución con SSM Agent) en la *Guía del usuario AWS Systems Manager*.

## Comprobar los requisitos previos de Systems Manager
<a name="install-CloudWatch-Agent-minimum-requirements-first"></a>

Antes de utilizar Run Command de Systems Manager para instalar y configurar el agente de CloudWatch, verifique que las instancias cumplen los requisitos mínimos de Systems Manager. Para obtener más información, consulte [Requisitos previos de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html#systems-manager-prereqs) en la *Guía del usuario de AWS Systems Manager*.

## Verifique el acceso a Internet
<a name="install-CloudWatch-Agent-internet-access-first"></a>

Las instancias de Amazon EC2 deben poder conectarse a puntos de conexión de CloudWatch. Esto puede conseguirse mediante puntos de conexión de VPC de puerta de enlace de Internet, puerta de enlace NAT o interfaz de CloudWatch. Para obtener más información acerca de cómo configurar el acceso a Internet, consulte [Puertas de enlace de Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) en la *Guía del usuario de Amazon VPC*.

Los puntos de enlace y los puertos para configurar en su proxy son los siguientes:
+ Si va a utilizar el agente para recopilar métricas, debe agregar a la lista de puntos de conexión de CloudWatch para las regiones apropiadas. Estos puntos de enlace se enumeran en [Amazon CloudWatch](https://docs.aws.amazon.com/general/latest/gr/rande.html#cw_region) en la *Referencia general de Amazon Web Services*. 
+ Si va a utilizar el agente para recopilar métricas, debe agregar a la lista de puntos de conexión de registro CloudWatch para las regiones apropiadas. Estos puntos de enlace se enumeran en [Registros de Amazon CloudWatch](https://docs.aws.amazon.com/general/latest/gr/rande.html#cwl_region) en la *Referencia general de Amazon Web Services*. 
+ Si va a utilizar Systems Manager para instalar el agente o el almacén de parámetros para almacenar el archivo de configuración, debe agregar a la lista de permitidos los puntos de conexión de Systems Manager para las regiones apropiadas. Estos puntos de enlace se enumeran en [AWS Systems Manager](https://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region) en la *Referencia general de Amazon Web Services*. 

## Descarga del paquete del agente de CloudWatch en la primera instancia
<a name="install-CloudWatch-Agent-EC2-first"></a>

Siga estos pasos para descargar el paquete del agente de CloudWatch mediante Systems Manager.

**Para descargar el agente de CloudWatch mediante el Systems Manager**

1. Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Ejecutar comando**.

   -o bien-

   Si la página de inicio de AWS Systems Manager se abre, desplácese hacia abajo y elija **Explore Run Command** (Explorar Run Command).

1. Elija **Run command (Ejecutar comando)**.

1. En la lista **Command document**, elija **AWS-ConfigureAWSPackage**.

1. En el área **Destinos**, elija la instancia en la que va a instalar el agente de CloudWatch. Si no ve una instancia específica, puede que no esté configurada como instancia administrada para su uso con Systems Manager. Para obtener más información, consulte [Configuración de AWS Systems Manager para entornos híbridos](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html) en la *Guía del usuario de AWS Systems Manager*.

1. En la lista **Action (Acción)**, elija **Install (Instalar)**.

1. En el campo **Name (Nombre)**, escriba *AmazonCloudWatchAgent*.

1. Deje la opción **Version (Versión)** establecida en **latest (más reciente)** para instalar la última versión del agente.

1. Seleccione **Ejecutar**.

1. Opcionalmente, en las áreas de **Destinos y salidas**, seleccione el botón situado junto a un nombre de instancia y elija **Ver salidas**. Systems Manager debería mostrar que el agente se ha instalado correctamente.

   

## Cree y modifique el archivo de configuración del agente
<a name="CW-Agent-Instance-Create-Configuration-File-first"></a>

Después de haber descargado el agente de CloudWatch, debe crear el archivo de configuración antes de iniciar el agente en algún servidor.

Si va a guardar el archivo de configuración del agente en el almacén de parámetros de Systems Manager, debe utilizar una instancia EC2 para guardarlo en dicho almacén. Además, primero debe adjuntar el rol de IAM `CloudWatchAgentAdminRole` a dicha instancia. Para más información sobre cómo se adjuntan los roles de IAM, consulte [Attaching an IAM Role to an Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role) en la *Guía del usuario de Amazon EC2*.

Para obtener más información sobre la creación del archivo de configuración del agente de CloudWatch, consulte [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md).

## Instalación y ejecución del agente de CloudWatch en instancias de EC2 adicionales mediante la configuración del agente
<a name="install-CloudWatch-Agent-on-EC2-Instance-fleet"></a>

Luego de haber guardado una configuración del agente de CloudWatch en el almacén de parámetros, se podrá utilizar cuando se instale el agente en otros servidores.

En cada uno de estos servidores, siga los pasos enumerados anteriormente en esta sección para comprobar los requisitos previos de Systems Manager, la versión de SSM Agent y el acceso a Internet. Luego, siga estas instrucciones para instalar el agente de CloudWatch en las instancias adicionales mediante el archivo de configuración del agente de CloudWatch que ha creado.

**Paso 1: Descargue e instale el agente de CloudWatch**

Para el envío de datos de CloudWatch a una región diferente, asegúrese de que el rol de IAM al que adjuntó esta instancia tiene permisos de escritura de datos CloudWatch en esa región.

A continuación se muestra un ejemplo del uso del comando `aws configure` para crear un perfil con nombre para el agente de CloudWatch. En este ejemplo se supone que usa el nombre de perfil predeterminado de `AmazonCloudWatchAgent`.

**Para crear el perfil AmazonCloudWatchAgent para el agente de CloudWatch**
+ En los servidores Linux, escriba el siguiente comando y siga las instrucciones:

  ```
  sudo aws configure --profile AmazonCloudWatchAgent
  ```

  En Windows Server, abra PowerShell como administrador, escriba el comando que se presenta a continuación y siga las instrucciones.

  ```
  aws configure --profile AmazonCloudWatchAgent
  ```

## Instalación del agente de CloudWatch en instancias de EC2 adicionales mediante la configuración de su agente
<a name="install-CloudWatch-Agent-on-EC2-Instance-fleet"></a>

Luego de haber guardado una configuración del agente de CloudWatch en el almacén de parámetros, se podrá utilizar cuando se instale el agente en otros servidores.

En cada uno de estos servidores, siga los pasos enumerados anteriormente en esta sección para comprobar los requisitos previos de Systems Manager, la versión de SSM Agent y el acceso a Internet. Luego, siga estas instrucciones para instalar el agente de CloudWatch en las instancias adicionales mediante el archivo de configuración del agente de CloudWatch que ha creado.

**Paso 1: Descargue e instale el agente de CloudWatch**

Debe instalar el agente en cada servidor en el que vaya a ejecutar el agente. El agente de CloudWatch está disponible como paquete en Amazon Linux 2023 y Amazon Linux 2. Si está utilizando este sistema operativo, puede usar Systems Manager para instalar el paquete siguiendo estos pasos.

**nota**  
Asimismo, debe asegurarse de que el rol de IAM asociado a la instancia tenga adjunto **CloudWatchAgentServerPolicy**. Para obtener más información, consulte . [Requisitos previos](prerequisites.md)﻿.

**Para utilizar Systems Manager para instalar el paquete del agente de CloudWatch**

1. Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Ejecutar comando**.

   -o bien-

   Si la página de inicio de AWS Systems Manager se abre, desplácese hacia abajo y elija **Explore Run Command** (Explorar Run Command).

1. Elija **Run command (Ejecutar comando)**.

1. En la lista **Documento de comandos**, seleccione **AWS-RunShellScript**. Luego, pegue lo siguiente en **Parámetros de comando**.

   ```
   sudo yum install amazon-cloudwatch-agent
   ```

1. Elija **Ejecutar**.

En todos los sistemas operativos compatibles, puede descargar el paquete del agente de CloudWatch mediante Run Command de Systems Manager o un enlace de descarga de Amazon S3. 

**nota**  
Cuando instala o actualiza el agente de CloudWatch, solo se admite la opción **Uninstall and reinstall** (Desinstalar e instalar). No puede usar la opción **In-place update** (Actualización in situ).

Run Command de Systems Manager le permite administrar la configuración de las instancias. Puede especificar un documento de Systems Manager, especificar parámetros y ejecutar el comando en una o varias instancias. SSM Agent procesa el comando en la instancia y configura la instancia tal y como se especifica.

**Para descargar el agente de CloudWatch mediante Run Command**

1. Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Ejecutar comando**.

   -o bien-

   Si la página de inicio de AWS Systems Manager se abre, desplácese hacia abajo y elija **Explore Run Command** (Explorar Run Command).

1. Elija **Run command (Ejecutar comando)**.

1. En la lista **Command document**, elija **AWS-ConfigureAWSPackage**.

1. En el área **Targets** (Destinos), elija la instancia en la que instalar el agente de CloudWatch. Si no se ve una instancia específica, es posible que no esté configurada para Run Command. Para obtener más información, consulte [Configuración de AWS Systems Manager para entornos híbridos](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html) en la *Guía del usuario de AWS Systems Manager*.

1. En la lista **Action (Acción)**, elija **Install (Instalar)**.

1. En el cuadro **Name (Nombre)**, escriba *AmazonCloudWatchAgent*.

1. Deje la opción **Version (Versión)** establecida en **latest (más reciente)** para instalar la última versión del agente.

1. Seleccione **Ejecutar**.

1. Opcionalmente, en las áreas de **Destinos y salidas**, seleccione el botón situado junto a un nombre de instancia y elija **Ver salidas**. Systems Manager debería mostrar que el agente se ha instalado correctamente. 

**Paso 2: Inicie el agente de CloudWatch mediante el archivo de configuración del agente**

Siga estos pasos para iniciar el agente mediante Run Command de Systems Manager.

Para obtener información sobre la configuración del agente en un sistema que tenga habilitado Linux con seguridad mejorada (SELinux), consulte [Configuración del agente de CloudWatch con Linux con seguridad mejorada (SELinux)](CloudWatch-Agent-SELinux.md).

**Para iniciar el agente de CloudWatch mediante Run Command**

1. Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Ejecutar comando**.

   -o bien-

   Si la página de inicio de AWS Systems Manager se abre, desplácese hacia abajo y elija **Explore Run Command** (Explorar Run Command).

1. Elija **Run command (Ejecutar comando)**.

1. En la lista **Command document**, elija **AmazonCloudWatch-ManageAgent**.

1. En el área **Targets** (Destinos), elija la instancia donde ha instalado el agente de CloudWatch.

1. En la lista **Action**, elija **configure**.

1. En la lista **Optional Configuration Source**, elija **ssm**.

1. En el cuadro **Ubicación de configuración opcional**, escriba el nombre del parámetro de Systems Manager nombre del archivo de configuración del agente que ha creado y guardado en el almacén de parámetros de Systems Manager, tal como se explica en [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md).

1. En la lista **Optional Restart**, elija **yes** para iniciar el agente después de haber finalizado estos pasos.

1. Seleccione **Ejecutar**.

1. Opcionalmente, en las áreas de **Targets and outputs** (Destinos y salidas), seleccione el botón situado junto a un nombre de instancia y elija **View output** (Ver salida). Systems Manager debería mostrar que el agente se ha iniciado correctamente. 

## (Opcional) Modifique la configuración común y el perfil con nombre para el agente de CloudWatch
<a name="CloudWatch-Agent-profile-instance-fleet"></a>

El agente de CloudWatch incluye un archivo de configuración llamado `common-config.toml`. Si lo desea, puede utilizar este archivo para especificar la información de proxy y región.

En un servidor con Linux, este archivo se encuentra en el directorio `/opt/aws/amazon-cloudwatch-agent/etc`. En un servidor con Windows Server, este archivo se encuentra en el directorio `C:\ProgramData\Amazon\AmazonCloudWatchAgent`.

El `common-config.toml` predeterminado es el siguiente:

```
# This common-config is used to configure items used for both ssm and cloudwatch access
 
 
## Configuration for shared credential.
## Default credential strategy will be used if it is absent here:
##            Instance role is used for EC2 case by default.
##            AmazonCloudWatchAgent profile is used for onPremise case by default.
# [credentials]
#    shared_credential_profile = "{profile_name}"
#    shared_credential_file= "{file_name}"
 
## Configuration for proxy.
## System-wide environment-variable will be read if it is absent here.
## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy
## Note: system-wide environment-variable is not accessible when using ssm run-command.
## Absent in both here and environment-variable means no proxy will be used.
# [proxy]
#    http_proxy = "{http_url}"
#    https_proxy = "{https_url}"
#    no_proxy = "{domain}"
```

Inicialmente, todas las líneas están convertidas en comentarios. Para establecer la configuración del perfil de credenciales o del proxy, quite `#` de esa línea y especifique un valor. Puede editar este archivo manualmente o mediante Run Command `RunShellScript` en Systems Manager:
+ `shared_credential_profile`: para los servidores en las instalaciones, esta línea especifica el perfil de credenciales del usuario de IAM que se va a utilizar para enviar datos a CloudWatch. Si mantiene esta línea dentro de los comentarios, se utiliza `AmazonCloudWatchAgent`. 

  En una instancia EC2, puede utilizar esta línea para que el agente de CloudWatch envíe datos desde esta instancia a CloudWatch en una Región de AWS distinta. Para ello, especifique un perfil con nombre que incluya un campo `region` especificando el nombre de la región a la que se van a enviar los datos.

  Si especifica un `shared_credential_profile`, también debe eliminar el `#` desde el principio de la línea `[credentials]`.
+ `shared_credential_file`: para que el agente busque credenciales en un archivo ubicado en una ruta distinta de la ruta predeterminada, especifique esa ruta completa y el nombre de archivo aquí. La ruta predeterminada es `/root/.aws` en Linux y `C:\\Users\\Administrator\\.aws` en Windows Server.

  El primer ejemplo incluido a continuación muestra la sintaxis de una línea `shared_credential_file` válida para los servidores Linux y el segundo ejemplo es válido para Windows Server. En Windows Server, debe aplicar escape a los caracteres \$1.

  ```
  shared_credential_file= "/usr/username/credentials"
  ```

  ```
  shared_credential_file= "C:\\Documents and Settings\\username\\.aws\\credentials"
  ```

  Si especifica un `shared_credential_file`, también debe eliminar el `#` desde el principio de la línea `[credentials]`.
+ Configuración del proxy: si los servidores usan proxies HTTP o HTTPS para contactarse con los servicios de AWS, especifíquelos en los campos `http_proxy` y `https_proxy`. Si hay URL que se deben excluir del proxy, especifíquelas en el campo `no_proxy`, separadas por comas.

# Instalación del agente de CloudWatch en servidores en las instalaciones
<a name="install-CloudWatch-Agent-on-premise"></a>

 Si ha descargado el agente de CloudWatch en una computadora y ha creado el archivo de configuración del agente, puede usar ese archivo de configuración para instalar el agente en servidores en las instalaciones. 

## Descargue del agente de CloudWatch en un servidor en las instalaciones
<a name="download-CloudWatch-Agent-onprem"></a>

Puede descargar el paquete del agente de CloudWatch mediante Run Command de Systems Manager o con un enlace de descarga de Amazon S3. 

### Descargue mediante Systems Manager
<a name="download-CloudWatch-Agent-onprem-fleet-sys"></a>

Para utilizar Run Command de Systems Manager, debe registrar el servidor en las instalaciones en Amazon EC2 Systems Manager. Para obtener más información, consulte [Setting Up Systems Manager in Hybrid Environments](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html) (Configuración de Systems Manager en entornos híbridos) en la *Guía del usuario de AWS Systems Manager*.

Si ya ha registrado el servidor, actualice SSM Agent a la versión más reciente.

Para obtener más información acerca de la actualización de SSM Agent en un servidor con Linux, consulte [Install SSM Agent for a Hybrid Environment (Linux)](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html#sysman-install-managed-linux) (Instalar SSM Agent para un entorno híbrido [Linux]) en la *Guía del usuario de AWS Systems Manager*.

Para obtener información acerca de la actualización de SSM Agent en un servidor con Windows Server, consulte [Install SSM Agent for a Hybrid Environment (Windows)](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html#sysman-install-managed-win) (Instalar SSM Agent para un entorno híbrido [Windows]) en la *Guía del usuario de AWS Systems Manager*.

**Para utilizar SSM Agent para descargar el paquete de agente de CloudWatch en un servidor en las instalaciones**

1. Abra la consola de Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Ejecutar comando**.

   -o bien-

   Si la página de inicio de AWS Systems Manager se abre, desplácese hacia abajo y elija **Explore Run Command** (Explorar Run Command).

1. Elija **Run command (Ejecutar comando)**.

1. En la lista **Command document**, seleccione el botón situado junto a **AWS-ConfigureAWSPackage**.

1. En el área **Targets** (Destinos), seleccione el servidor en el que va a instalar el agente de CloudWatch. Si no se ve un servidor específico, es posible que no esté configurado para Run Command. Para obtener más información, consulte [Configuración de AWS Systems Manager para entornos híbridos](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html) en la *Guía del usuario de AWS Systems Manager*.

1. En la lista **Action (Acción)**, elija **Install (Instalar)**.

1. En el cuadro **Name (Nombre)**, escriba *AmazonCloudWatchAgent*.

1. Deje **Version (Versión)** en blanco para instalar la última versión del agente.

1. Seleccione **Ejecutar**.

   El paquete de agente está descargado y los próximos pasos son configurarlo e iniciarlo.

## (Instalación en un servidor en las instalaciones) Especifique las credenciales de IAM y la Región de AWS
<a name="install-CloudWatch-Agent-iam_user-SSM-onprem"></a>

Para que el agente de CloudWatch pueda enviar datos desde un servidor en las instalaciones, debe especificarse la clave de acceso y la clave secreta del usuario de IAM que creó anteriormente. 

También debe especificar la región de AWS a la que se envían las métricas mediante el campo `region`.

A continuación se muestra un ejemplo de este archivo.

```
[AmazonCloudWatchAgent]
aws_access_key_id=my_access_key
aws_secret_access_key=my_secret_key
region = us-west-1
```

Para *my\$1access\$1key* y *my\$1secret\$1key*, utilice las claves del usuario de IAM que no tienen los permisos para realizar escrituras en el almacén de parámetros de Systems Manager. 

Si asigna a este perfil el nombre `AmazonCloudWatchAgent`, no tiene que hacer nada más. Si lo prefiere, puede asignarle un nombre diferente y especificar ese nombre como valor de `shared_credential_profile` en el archivo ` common-config.toml`, que se explica en la siguiente sección.

A continuación se muestra un ejemplo del uso del comando **aws configure** para crear un perfil con nombre para el agente de CloudWatch. En este ejemplo se presupone que usa el nombre de perfil predeterminado de `AmazonCloudWatchAgent`.

**Para crear el perfil AmazonCloudWatchAgent para el agente de CloudWatch**

1. Si aún no lo ha hecho, instale AWS Command Line Interface en el servidor. Para obtener más información, consulte [Instalación de AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html).

1. En los servidores Linux, escriba el siguiente comando y siga las instrucciones:

   ```
   sudo aws configure --profile AmazonCloudWatchAgent
   ```

   En Windows Server, abra PowerShell como administrador, escriba el siguiente comando y siga las instrucciones.

   ```
   aws configure --profile AmazonCloudWatchAgent
   ```

## (Opcional) Modificación de la configuración común y el perfil con nombre para el agente de CloudWatch
<a name="CloudWatch-Agent-profile-onprem"></a>

El agente de CloudWatch incluye un archivo de configuración llamado `common-config.toml`. Si lo desea, puede utilizar este archivo para especificar la información de proxy y región.

En un servidor con Linux, este archivo se encuentra en el directorio `/opt/aws/amazon-cloudwatch-agent/etc`. En un servidor con Windows Server, este archivo se encuentra en el directorio `C:\ProgramData\Amazon\AmazonCloudWatchAgent`.

El `common-config.toml` predeterminado es el siguiente:

```
# This common-config is used to configure items used for both ssm and cloudwatch access
 
 
## Configuration for shared credential.
## Default credential strategy will be used if it is absent here:
##            Instance role is used for EC2 case by default.
##            AmazonCloudWatchAgent profile is used for onPremise case by default.
# [credentials]
#    shared_credential_profile = "{profile_name}"
#    shared_credential_file= "{file_name}"
 
## Configuration for proxy.
## System-wide environment-variable will be read if it is absent here.
## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy
## Note: system-wide environment-variable is not accessible when using ssm run-command.
## Absent in both here and environment-variable means no proxy will be used.
# [proxy]
#    http_proxy = "{http_url}"
#    https_proxy = "{https_url}"
#    no_proxy = "{domain}"
```

Inicialmente, todas las líneas están convertidas en comentarios. Para establecer la configuración del perfil de credenciales o del proxy, quite `#` de esa línea y especifique un valor. Puede editar este archivo manualmente o mediante Run Command `RunShellScript` en Systems Manager:
+ `shared_credential_profile`: para los servidores en las instalaciones, esta línea especifica el perfil de credenciales del usuario de IAM que se va a utilizar para enviar datos a CloudWatch. Si mantiene esta línea dentro de los comentarios, se utiliza `AmazonCloudWatchAgent`. Para obtener más información sobre la creación de este perfil, consulte [(Instalación en un servidor en las instalaciones) Especifique las credenciales de IAM y la Región de AWS](#install-CloudWatch-Agent-iam_user-SSM-onprem). 

  En una instancia EC2, puede utilizar esta línea para que el agente de CloudWatch envíe datos desde esta instancia a CloudWatch en una Región de AWS distinta. Para ello, especifique un perfil con nombre que incluya un campo `region` especificando el nombre de la región a la que se van a enviar los datos.

  Si especifica un `shared_credential_profile`, también debe eliminar el `#` desde el principio de la línea `[credentials]`.
+ `shared_credential_file`: para que el agente busque credenciales en un archivo ubicado en una ruta distinta de la ruta predeterminada, especifique esa ruta completa y el nombre de archivo aquí. La ruta predeterminada es `/root/.aws` en Linux y `C:\\Users\\Administrator\\.aws` en Windows Server.

  El primer ejemplo incluido a continuación muestra la sintaxis de una línea `shared_credential_file` válida para los servidores Linux y el segundo ejemplo es válido para Windows Server. En Windows Server, debe aplicar escape a los caracteres \$1.

  ```
  shared_credential_file= "/usr/username/credentials"
  ```

  ```
  shared_credential_file= "C:\\Documents and Settings\\username\\.aws\\credentials"
  ```

  Si especifica un `shared_credential_file`, también debe eliminar el `#` desde el principio de la línea `[credentials]`.
+ Configuración del proxy: si los servidores usan proxies HTTP o HTTPS para contactarse con los servicios de AWS, especifíquelos en los campos `http_proxy` y `https_proxy`. Si hay URL que se deben excluir del proxy, especifíquelas en el campo `no_proxy`, separadas por comas.

# Instalación del agente de CloudWatch en nuevas instancias mediante CloudFormation
<a name="Install-CloudWatch-Agent-New-Instances-CloudFormation"></a>

 En esta sección se describe cómo se instala el agente de CloudWatch en instancias nuevas de Amazon EC2 con AWS CloudFormation. 

**nota**  
 Amazon ha cargado varias plantillas de CloudFormation en GitHub para que pueda instalar y actualizar el agente de CloudWatch en las instancias nuevas de Amazon EC2. Para obtener más información acerca del uso de CloudFormation, consulte [¿Qué es AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 

La plantilla se encuentra en [Deploy the Amazon CloudWatch agent to EC2 instances using CloudFormation](https://github.com/aws-cloudformation/aws-cloudformation-templates/tree/main/Solutions/AmazonCloudWatchAgent) (Implementación del agente de Amazon CloudWatch en las instancias de EC2 mediante ). Esta ubicación incluye los directorios `inline` y `ssm`. Cada uno de estos directorios contiene plantillas para ambas instancias de Linux y Windows. 


+ Las plantillas del directorio `inline` (en línea) tienen la configuración del agente de CloudWatch incorporada en la plantilla de CloudFormation. De forma predeterminada, las plantillas de Linux recopilan las métricas `mem_used_percent` y `swap_used_percent`, mientras que las plantillas de Windows recopilan `Memory % Committed Bytes In Use` y `Paging File % Usage`.

  Para modificar estas plantillas de forma que recopilen métricas diferentes, modifique la siguiente sección de la plantilla. En el siguiente ejemplo es de la plantilla para servidores Linux. Siga el formato y la sintaxis del archivo de configuración del agente para realizar estos cambios. Para obtener más información, consulte [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md).

  ```
  {
     "metrics":{
        "append_dimensions":{
           "AutoScalingGroupName":"${!aws:AutoScalingGroupName}",
           "ImageId":"${!aws:ImageId}",
           "InstanceId":"${!aws:InstanceId}",
           "InstanceType":"${!aws:InstanceType}"
        },
        "metrics_collected":{
           "mem":{
              "measurement":[
                 "mem_used_percent"
              ]
           },
           "swap":{
              "measurement":[
                 "swap_used_percent"
              ]
           }
        }
     }
  }
  ```
**nota**  
En las plantillas en línea, todas las variables de marcador de posición deben tener un signo de exclamación (\$1) delante como carácter de escape. Puede ver esto en el ejemplo de plantilla. Si añade otras variables de marcador de posición, asegúrese de añadir un signo de exclamación delante del nombre.
+ Las plantillas del directorio `ssm` cargan un archivo de configuración del agente desde el almacén de parámetros. Para utilizar estas plantillas, primero se debe crear un archivo de configuración y cargarlo en el almacén de parámetros. A continuación, deberá proporcionar el nombre del almacén de parámetros del archivo en la plantilla. El archivo de configuración lo puede crear manualmente o con el asistente. Para obtener más información, consulte [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md).

Puede utilizar ambos tipos de plantillas para instalar el agente de CloudWatch y para actualizar la configuración del agente.

Para obtener información sobre la configuración del agente en un sistema que tenga habilitado Linux con seguridad mejorada (SELinux), consulte [Configuración del agente de CloudWatch con Linux con seguridad mejorada (SELinux)](CloudWatch-Agent-SELinux.md).

## Tutorial: Instalación y configuración del agente de CloudWatch mediante una plantilla en línea de CloudFormation
<a name="installing-CloudWatch-Agent-using-CloudFormation-Templates-inline"></a>

En este tutorial aprenderá a utilizar CloudFormation para instalar el agente de CloudWatch en una nueva instancia de Amazon EC2. En este tutorial se instala el agente en una nueva instancia que ejecuta Amazon Linux 2 con las plantillas integradas que no requieren el uso del archivo de configuración JSON ni el almacén de parámetros. La plantilla en línea incluye la configuración del agente en la plantilla. En este tutorial, utilice la configuración del agente predeterminado incluido en la plantilla.

Tras el procedimiento para instalar el agente, el tutorial continúa con cómo actualizar el agente.

**Para utilizar CloudFormation para instalar el agente de CloudWatch en una instancia nueva**

1. Descargue la plantilla de GitHub. En este tutorial, descargue la plantilla integrada para Amazon Linux 2 del siguiente modo:

   ```
   curl -O https://raw.githubusercontent.com/aws-cloudformation/aws-cloudformation-templates/main/Solutions/AmazonCloudWatchAgent/inline/amazon_linux.yaml
   ```

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Elija **Crear pila**.

1. Para **Choose a template (Elegir una plantilla)**, seleccione **Upload a template to Amazon S3 (Cargar una plantilla en Amazon S3)**, elija la plantilla descargada y elija **Next (Siguiente)**.

1. En la página **Specify Details (Especificar detalles)**, rellene los parámetros siguientes y elija **Next (Siguiente)**:
   + **Nombre de pila**: elija un nombre para la pila de CloudFormation. 
   + **IAMRole**: elija un rol de IAM que tenga permisos para escribir métricas, registros y seguimientos de CloudWatch. Para obtener más información, consulte [Requisitos previos](prerequisites.md).
   + **InstanceAMI**: elija una AMI que sea válida en la región en la que va a lanzar la pila.
   + **InstanceType**: elija un tipo de instancia válido.
   + **KeyName**: para permitir el acceso de SSH a la nueva instancia, elija un par de claves existente de Amazon EC2. Si aún no tiene un par de claves de Amazon EC2, puede crear uno en la Consola de administración de AWS. Para más información, consulte [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) en la *Guía del usuario de Amazon EC2*.
   + **SSHLocation**: especifica el rango de direcciones IP que se puede utilizar para conectarse a la instancia por medio de SSH. El valor predeterminado permite el acceso desde cualquier dirección IP.

1. En la página **Options (Opciones)**, puede elegir marcar los recursos de la pila. Elija **Siguiente**.

1. En la página **Review** (Revisar), revise la información, confirme la advertencia de que la pila puede crear recursos de IAM y elija **Create** (Crear).

   Si actualiza la consola, verá que la nueva pila tiene el estado `CREATE_IN_PROGRESS`.

1. Cuando se crea la instancia, puede verla en la consola de Amazon EC2. Si lo desea, puede conectarse al host y comprobar el progreso.

   Utilice el siguiente comando para confirmar que el agente se ha instalado:

   ```
   rpm -qa amazon-cloudwatch-agent
   ```

   Utilice el siguiente comando para confirmar que el agente se está ejecutando:

   ```
   ps aux | grep amazon-cloudwatch-agent
   ```

En el siguiente procedimiento se muestra el uso de CloudFormation para actualizar el agente de CloudWatch con una plantilla en línea. La plantilla en línea predeterminada recopila la métrica `mem_used_percent`. En este tutorial, va a cambiar la configuración del agente para dejar de recopilar esa métrica.

**Para utilizar CloudFormation con el fin de actualizar el agente de CloudWatch**

1. En la plantilla que descargó en el procedimiento anterior, elimine las siguientes líneas y, a continuación, guarde la plantilla:

   ```
   "mem": {
                           
        "measurement": [
            "mem_used_percent"
          ]
    },
   ```

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En el panel de CloudFormation, seleccione la pila que creó y elija **Update Stack (Actualizar pila)**.

1. Para **Select Template (Seleccionar plantilla)**, seleccione **Upload a template to Amazon S3 (Cargar una plantilla en Amazon S3)**, elija la plantilla modificada y elija **Next (Siguiente)**.

1. En la página **Options (Opciones)**, elija **Next (Siguiente)** y después **Next (Siguiente)**.

1. En la página **Review (Revisar)**, revise la información y seleccione **Update (Actualizar)**.

   Después de algún tiempo, verá `UPDATE_COMPLETE`.

## Tutorial: Instalación del agente de CloudWatch mediante CloudFormation y Parameter Store
<a name="installing-CloudWatch-Agent-using-CloudFormation-Templates"></a>

En este tutorial aprenderá a utilizar CloudFormation para instalar el agente de CloudWatch en una nueva instancia de Amazon EC2. En el tutorial se instala en una nueva instancia que ejecute Amazon Linux 2 con un archivo de configuración del agente que se cree y guarde en el almacén de parámetros.

Tras el procedimiento para instalar el agente, el tutorial continúa con cómo actualizar el agente.

**Para utilizar CloudFormation con el fin de instalar el agente de CloudWatch en una instancia nueva mediante una configuración desde Parameter Store**

1. Si aún no lo ha hecho, debe descargue el paquete de agente de CloudWatch en uno de los equipos, de modo que pueda crear el archivo de configuración del agente. Para obtener más información sobre cómo descargar el agente con el almacén de parámetros, consulte [Descargue del paquete de del agente de CloudWatch](download-CloudWatch-Agent-on-EC2-Instance-commandline-first.md).

1. Cree el archivo de configuración del agente y guárdelo en el almacén de parámetros. Para obtener más información, consulte [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md).

1. Descargue la plantilla de GitHub del modo siguiente.

   ```
   curl -O https://raw.githubusercontent.com/awslabs/aws-cloudformation-templates/master/aws/solutions/AmazonCloudWatchAgent/ssm/amazon_linux.template
   ```

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Elija **Crear pila**.

1. Para **Choose a template (Elegir una plantilla)**, seleccione **Upload a template to Amazon S3 (Cargar una plantilla en Amazon S3)**, elija la plantilla descargada y elija **Next (Siguiente)**.

1. En la página **Specify Details (Especificar detalles)**, rellene los parámetros siguientes según corresponda y elija **Next (Siguiente)**:
   + **Nombre de pila**: elija un nombre para la pila de CloudFormation. 
   + **IAMRole**: elija un rol de IAM que tenga permisos para escribir métricas, registros y seguimientos de CloudWatch. Para obtener más información, consulte [Requisitos previos](prerequisites.md).
   + **InstanceAMI**: elija una AMI que sea válida en la región en la que va a lanzar la pila.
   + **InstanceType**: elija un tipo de instancia válido.
   + **KeyName**: para permitir el acceso de SSH a la nueva instancia, elija un par de claves existente de Amazon EC2. Si aún no tiene un par de claves de Amazon EC2, puede crear uno en la Consola de administración de AWS. Para más información, consulte [Amazon EC2 Key Pairs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) en la *Guía del usuario de Amazon EC2*.
   + **SSHLocation**: especifica el rango de direcciones IP que se puede utilizar para conectarse a la instancia por medio de SSH. El valor predeterminado permite el acceso desde cualquier dirección IP.
   + **SSMKey**: especifica el archivo de configuración del agente que ha creado y guardado en el almacén de parámetros.

1. En la página **Options (Opciones)**, puede elegir marcar los recursos de la pila. Elija **Siguiente**.

1. En la página **Review** (Revisar), revise la información, confirme la advertencia de que la pila puede crear recursos de IAM y elija **Create** (Crear).

   Si actualiza la consola, verá que la nueva pila tiene el estado `CREATE_IN_PROGRESS`.

1. Cuando se crea la instancia, puede verla en la consola de Amazon EC2. Si lo desea, puede conectarse al host y comprobar el progreso.

   Utilice el siguiente comando para confirmar que el agente se ha instalado:

   ```
   rpm -qa amazon-cloudwatch-agent
   ```

   Utilice el siguiente comando para confirmar que el agente se está ejecutando:

   ```
   ps aux | grep amazon-cloudwatch-agent
   ```

En el siguiente procedimiento se observa el uso de CloudFormation para actualizar el agente de CloudWatch mediante una configuración del agente que se guardó en Parameter Store.

**Para utilizar CloudFormation con el fin de actualizar el agente de CloudWatch mediante una configuración en Parameter Store**

1. Cambie el archivo de configuración del agente que se encuentra almacenado en el almacén de parámetros a la nueva configuración que desee.

1. En la plantilla de CloudFormation que ha descargado en el tema [Tutorial: Instalación del agente de CloudWatch mediante CloudFormation y Parameter Store](#installing-CloudWatch-Agent-using-CloudFormation-Templates), cambie el número de versión. Por ejemplo, podría cambiar `VERSION=1.0` por `VERSION=2.0`.

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En el panel de CloudFormation, seleccione la pila que creó y elija **Update Stack (Actualizar pila)**.

1. Para **Select Template (Seleccionar plantilla)**, seleccione **Upload a template to Amazon S3 (Cargar una plantilla en Amazon S3)**, seleccione la plantilla que acaba de modificar y elija **Next (Siguiente)**.

1. En la página **Options (Opciones)**, elija **Next (Siguiente)** y después **Next (Siguiente)**.

1. En la página **Review (Revisar)**, revise la información y seleccione **Update (Actualizar)**.

   Después de algún tiempo, verá `UPDATE_COMPLETE`.

## Solución de problemas de la instalación del agente de CloudWatch con CloudFormation
<a name="CloudWatch-Agent-CloudFormation-troubleshooting"></a>

Esta sección lo ayudará a solucionar los problemas de instalación y actualización del agente de CloudWatch mediante CloudFormation.

### Detección de un error de actualización
<a name="CloudWatch-Agent-troubleshooting-Detecting-CloudFormation-update-issues"></a>

Si utiliza CloudFormation para actualizar la configuración del agente de CloudWatch y utiliza una configuración inválida, el agente deja de enviar las métricas a CloudWatch. Una forma rápida de comprobar si la configuración del agente se actualiza correctamente es observar el archivo `cfn-init-cmd.log`. En un servidor Linux, el archivo se encuentra en `/var/log/cfn-init-cmd.log`. En una instancia de Windows, el archivo se encuentra en `C:\cfn\log\cfn-init-cmd.log`.

### Ausencia de métricas
<a name="CloudWatch-Agent-troubleshooting-Cloudformation-missing-metrics"></a>

Si no ve las métricas que espera ver después de instalar o actualizar el agente, confirme que el agente esté configurado para recopilar esa métrica. Para ello, compruebe el archivo `amazon-cloudwatch-agent.json` para asegurarse de que la métrica figure en la lista y compruebe que está mirando en el espacio de nombres de métricas correcto. Para obtener más información, consulte [Archivos y ubicaciones del agente de CloudWatch](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-files-and-locations).

# Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm
<a name="install-CloudWatch-Observability-EKS-addon"></a>

Puede utilizar el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm de observabilidad de Amazon CloudWatch para instalar los agentes de CloudWatch y de Fluent-bit en un clúster de Amazon EKS. También puede usar el gráfico de Helm para instalar los agentes de CloudWatch y de Fluent-bit en un clúster de Kubernetes que no esté alojado en Amazon EKS.

El uso de cualquiera de los dos métodos en un clúster de Amazon EKS habilita, de forma predeterminada, [Información de contenedores](ContainerInsights.md) con una observabilidad mejorada para Amazon EKS y [CloudWatch Application Signals](CloudWatch-Application-Monitoring-Sections.md). Con ambas características puede recopilar métricas de infraestructura, los datos telemétricos de rendimiento de las aplicaciones y los registros de contenedores del clúster.

Con la versión `v6.0.1-eksbuild.1` o posterior del complemento, se habilita Información de contenedores con métricas de OpenTelemetry, que recopila métricas mediante OpenTelemetry Protocol (OTLP) y admite consultas PromQL. Para obtener más información, consulte [Información de contenedores con métricas de OpenTelemetry para Amazon EKS](container-insights-otel-metrics.md).

Con Información de contenedores, con una observabilidad mejorada para Amazon EKS, las métricas de Información de contenedores se cobran por observación en lugar de cobrarse por métrica almacenada o registro ingerido. En el caso de Application Signals, la facturación se basa en las solicitudes entrantes y salientes de las aplicaciones y en cada objetivo de nivel de servicio (SLO) configurado. Cada solicitud entrante recibida genera una señal de aplicación y cada solicitud saliente realizada genera una señal de aplicación. Cada SLO crea dos señales de aplicación por periodo de medición. Para obtener más información sobre los precios de CloudWatch, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

Ambos métodos habilitan Información·de·contenedores en los nodos de trabajo de Linux y Windows en el clúster de Amazon EKS. Para habilitar Información·de·contenedores en Windows, debe usar la versión 1.5.0 o posterior del complemento de Amazon EKS o el gráfico de Helm. Application Signals no es compatible con Windows en clústeres de Amazon EKS.

El complemento de observabilidad de EKS de Amazon CloudWatch se encuentra disponible en los clústeres de Amazon EKS que se ejecutan con la versión 1.23 o posterior de Kubernetes.

Cuando instala el complemento o el gráfico de Helm, debe conceder permisos de IAM para permitir que el agente de CloudWatch envíe métricas, registros y seguimientos a CloudWatch. Hay dos formas de hacer esto:
+ Adjunte una política al rol de IAM de los nodos de trabajo. Esta opción concede permisos a los nodos de trabajo para enviar telemetría a CloudWatch. 
+ Utilice un rol de IAM para las cuentas de servicio para los pods del agente y asocie la política a este rol. Esto solo funciona para clústeres de Amazon EKS. Esta opción permite que CloudWatch acceda solo a los pods de los agentes correspondientes. 

**Topics**
+ [Opción 1: instalación mediante EKS Pod Identity](#install-CloudWatch-Observability-EKS-pod-identity)
+ [Opción 2: instalación con permisos de IAM en los nodos de trabajo](#install-CloudWatch-Observability-EKS-addon-workernodes)
+ [Opción 3: instalación con el rol de cuenta de servicio de IAM (solo se aplica a la utilización del complemento)](#install-CloudWatch-Observability-EKS-addon-serviceaccountrole)
+ [Consideraciones para los nodos híbridos de Amazon EKS](#install-CloudWatch-Observability-EKS-addon-hybrid)
+ [Configuraciones adicionales (Opcional)](#install-CloudWatch-Observability-EKS-addon-configuration)
+ [Recopilación de las métricas de Java Management Extensions (JMX)](#install-CloudWatch-Observability-EKS-addon-JMX-metrics)
+ [Habilitación de las métricas de Kueue](#enable-Kueue-metrics)
+ [Anexión de los archivos de configuración del recopilador de OpenTelemetry](#install-CloudWatch-Observability-EKS-addon-OpenTelemetry)
+ [Activación de APM a través de Application Signals para el clúster de Amazon EKS](#Container-Insights-setup-EKS-appsignalsconfiguration)
+ [Solución de problemas del complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](#Container-Insights-setup-EKS-addon-troubleshoot)
+ [Exclusión de Application Signals](#Opting-out-App-Signals)

## Opción 1: instalación mediante EKS Pod Identity
<a name="install-CloudWatch-Observability-EKS-pod-identity"></a>

Si usa la versión 3.1.0 o una versión posterior del complemento, puede usar EKS Pod Identity para conceder los permisos necesarios al complemento. La opción recomendada es EKS Pod Identity, ya que ofrece ventajas como los privilegios mínimos, la rotación de credenciales y la auditabilidad. Además, al usar EKS Pod Identity también puede instalar el complemento de EKS como parte de la propia creación del clúster.

Para usar este método, primero siga los pasos de [asociación de EKS Pod Identity](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-association.html#pod-id-association-create/) para crear el rol de IAM y configurar el agente de EKS Pod Identity.

A continuación, instale el complemento de observabilidad de EKS de Amazon CloudWatch. Para instalar el complemento, puede usar la AWS CLI, la consola de Amazon EKS, CloudFormation o Terraform.

------
#### [ AWS CLI ]

**Cómo utilizar la AWS CLI para instalar el complemento de observabilidad de EKS de Amazon CloudWatch**  
Introduzca los comandos siguientes. Reemplace `my-cluster-name` por el nombre del clúster y *111122223333* por el identificador de su cuenta. Reemplace *my-role* por el rol de IAM que creó en el paso de asociación de EKS Pod Identity.

```
aws iam attach-role-policy \
--role-name my-role \
--policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

aws eks create-addon \
--addon-name amazon-cloudwatch-observability \
--cluster-name my-cluster-name \
--pod-identity-associations serviceAccount=cloudwatch-agent,roleArn=arn:aws:iam::111122223333:role/my-role
```

------
#### [ Amazon EKS console ]

**Cómo utilizar la consola de Amazon EKS para agregar el complemento de observabilidad de EKS de Amazon CloudWatch**

1. Abra la consola de Amazon EKS en [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. En el panel de navegación izquierdo, elija **Clusters (Clústeres)**.

1. Seleccione el nombre del clúster para el que desea configurar el complemento de observabilidad de EKS de Amazon CloudWatch.

1. Elija la pestaña **Complementos**.

1. Escoja **Obtener más complementos**.

1. En la página **Seleccionar complementos**, haga lo siguiente:

   1. En la sección **Complementos de Amazon EKS**, seleccione la casilla de verificación para **Observabilidad de Amazon CloudWatch**.

   1. Elija **Siguiente**.

1. En la página **Configurar las opciones de complementos seleccionados**, haga lo siguiente:

   1. Seleccione la **Version (Versión)** que desea utilizar.

   1. Para **Acceso al complemento**, seleccione **EKS Pod Identity**.

   1. Si no tiene ningún rol de IAM configurado, elija **Crear un rol recomendado** y, a continuación, elija **Siguiente** hasta llegar a **Paso 3: Nombrar, revisar y crear**. Puede cambiar el nombre del rol si lo desea; de lo contrario, elija **Crear rol** y, a continuación, regrese a la página del complemento y seleccione el rol de IAM que acaba de crear.

   1. (Opcional) Puede ampliar las **Valores de configuración opcionales**. Si selecciona **Anular** en **Método de resolución de conflictos**, una o varias de las configuraciones del complemento existente pueden sobrescribirse con la configuración del complemento de Amazon EKS. Si no habilita esta opción y hay un conflicto con la configuración existente, la operación falla. Puede utilizar el mensaje de error resultante para solucionar el conflicto. Antes de seleccionar esta opción, asegúrese de que el complemento de Amazon EKS no administra las configuraciones que se necesitan autoadministrar.

   1. Elija **Siguiente**.

1. En la página **Revisar y añadir**, elija **Crear**. Una vez finalizada la instalación del complemento, verá el complemento instalado.

------
#### [ CloudFormation ]

**Cómo usar la CloudFormation para instalar el complemento de observabilidad de EKS de Amazon CloudWatch**

1. Primero, ejecute el comando siguiente de la AWS CLI para asociar la política de IAM necesaria a su rol de IAM. Reemplace *my-role* por el rol que creó en el paso de asociación de EKS Pod Identity.

   ```
   aws iam attach-role-policy \
   --role-name my-role \
   --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
   ```

1. A continuación, cree el siguiente recurso. Reemplace `my-cluster-name` con el nombre de su clúster, reemplace *111122223333* por el identificador de su cuenta y reemplace *my-role* por el rol de IAM creado en el paso de asociación de EKS Pod Identity. Para obtener más información, consulte [AWS::EKS::Addon](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html).

   ```
   {
       "Resources": {
           "EKSAddOn": {
               "Type": "AWS::EKS::Addon",
               "Properties": {
                   "AddonName": "amazon-cloudwatch-observability",
                   "ClusterName": "my-cluster-name",
                   "PodIdentityAssociations": [
                       {
                           "ServiceAccount": "cloudwatch-agent",
                           "RoleArn": "arn:aws:iam::111122223333:role/my-role"
                       }
                   ]
               }
           }
       }
   }
   ```

------
#### [ Terraform ]

**Cómo usar Terraform para instalar el complemento de observabilidad de EKS de Amazon CloudWatch**

1. Use lo siguiente. Reemplace `my-cluster-name` con el nombre de su clúster, reemplace *111122223333* por el identificador de su cuenta y reemplace *my-service-account-role* por el rol de IAM creado en el paso de asociación de EKS Pod Identity.

   Para obtener más información, consulte [Resource: aws\$1eks\$1addon](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eks_addon) en la documentación de Terraform.

1. 

   ```
   resource "aws_iam_role_policy_attachment" "CloudWatchAgentServerPolicy" {
     policy_arn = "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy"
     role       = "my-role"
   }
   
   resource "aws_eks_addon" "example" {
     cluster_name = "my-cluster-name"
     addon_name   = "amazon-cloudwatch-observability"
     pod_identity_associations {
         roleArn = "arn:aws:iam::111122223333:role/my-role"
         serviceAccount = "cloudwatch-agent"
     }
   }
   ```

------

## Opción 2: instalación con permisos de IAM en los nodos de trabajo
<a name="install-CloudWatch-Observability-EKS-addon-workernodes"></a>

Para usar este método, primero adjunte la política de IAM **CloudWatchAgentServerPolicy** a sus nodos de trabajo introduciendo el siguiente comando. En este comando, sustituya *my-worker-node-role* por el rol de IAM que utilizan los nodos de trabajo de Kubernetes.

```
aws iam attach-role-policy \
--role-name my-worker-node-role \
--policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
```

A continuación, instale el complemento de observabilidad de EKS de Amazon CloudWatch. Para instalar el complemento, puede usar la AWS CLI, la consola, CloudFormation o Terraform.

------
#### [ AWS CLI ]

**Cómo utilizar la AWS CLI para instalar el complemento de observabilidad de EKS de Amazon CloudWatch**  
Escriba el siguiente comando. Reemplace `my-cluster-name` por el nombre del clúster.

```
aws eks create-addon --addon-name amazon-cloudwatch-observability --cluster-name my-cluster-name
```

------
#### [ Amazon EKS console ]

**Cómo utilizar la consola de Amazon EKS para agregar el complemento de observabilidad de EKS de Amazon CloudWatch**

1. Abra la consola de Amazon EKS en [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. En el panel de navegación izquierdo, elija **Clusters (Clústeres)**.

1. Seleccione el nombre del clúster para el que desea configurar el complemento de observabilidad de EKS de Amazon CloudWatch.

1. Elija la pestaña **Complementos**.

1. Escoja **Obtener más complementos**.

1. En la página **Seleccionar complementos**, haga lo siguiente:

   1. En la sección **Complementos de Amazon EKS**, seleccione la casilla de verificación para **Observabilidad de Amazon CloudWatch**.

   1. Elija **Siguiente**.

1. En la página **Configurar las opciones de complementos seleccionados**, haga lo siguiente:

   1. Seleccione la **Version (Versión)** que desea utilizar.

   1. (Opcional) Puede ampliar las **Valores de configuración opcionales**. Si selecciona **Anular** en **Método de resolución de conflictos**, una o varias de las configuraciones del complemento existente pueden sobrescribirse con la configuración del complemento de Amazon EKS. Si no habilita esta opción y hay un conflicto con la configuración existente, la operación falla. Puede utilizar el mensaje de error resultante para solucionar el conflicto. Antes de seleccionar esta opción, asegúrese de que el complemento de Amazon EKS no administra las configuraciones que se necesitan autoadministrar.

   1. Elija **Siguiente**.

1. En la página **Revisar y añadir**, elija **Crear**. Una vez finalizada la instalación del complemento, verá el complemento instalado.

------
#### [ CloudFormation ]

**Cómo usar la CloudFormation para instalar el complemento de observabilidad de EKS de Amazon CloudWatch**  
Reemplace `my-cluster-name` por el nombre del clúster. Para obtener más información, consulte [AWS::EKS::Addon](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html).

```
{
    "Resources": {
        "EKSAddOn": {
            "Type": "AWS::EKS::Addon",
            "Properties": {
                "AddonName": "amazon-cloudwatch-observability",
                "ClusterName": "my-cluster-name"
            }
        }
    }
}
```

------
#### [ Helm chart ]

**Uso del gráfico de Helm de `amazon-cloudwatch-observability`**

1. Debe tener Helm instalado para usar este gráfico. Para más información sobre la instalación de Helm, consulte la [documentación de Helm](https://helm.sh/docs/).

1. Una vez que haya instalado Helm, introduzca los siguientes comandos. Reemplace *my-cluster-name* por el nombre del clúster y *my-cluster-region* por la región en la que se ejecuta el clúster.

   ```
   helm repo add aws-observability https://aws-observability.github.io/helm-charts
   helm repo update aws-observability
   helm install --wait --create-namespace --namespace amazon-cloudwatch amazon-cloudwatch-observability aws-observability/amazon-cloudwatch-observability --set clusterName=my-cluster-name --set region=my-cluster-region
   ```

------
#### [ Terraform ]

**Cómo usar Terraform para instalar el complemento de observabilidad de EKS de Amazon CloudWatch**  
Reemplace `my-cluster-name` por el nombre del clúster. Para obtener más información, consulte [Recurso: aws\$1eks\$1addon](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eks_ad).

```
resource "aws_eks_addon" "example" {
  addon_name   = "amazon-cloudwatch-observability"
  cluster_name = "my-cluster-name"
}
```

------

## Opción 3: instalación con el rol de cuenta de servicio de IAM (solo se aplica a la utilización del complemento)
<a name="install-CloudWatch-Observability-EKS-addon-serviceaccountrole"></a>

Este método solo es válido si utiliza el complemento de observabilidad de EKS de Amazon CloudWatch. Antes de usar este método, verifique los siguientes requisitos previos:
+ Dispone de un clúster de Amazon EKS funcional con nodos asociados en una de las Regiones de AWS que admiten la Información de contenedores. Para ver la lista de las regiones de admitidas, consulte [Información de contenedores](ContainerInsights.md).
+ Tiene instalada y configurada `kubectl` para el clúster. Para obtener más información, consulte [Instalación del `kubectl`](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) en la *Guía del usuario de Amazon EKS*.
+ Tiene instalada `eksctl`. Para obtener más información, consulte [Instalación o actualización de `eksctl`](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html) en la *Guía del usuario de Amazon EKS*.

------
#### [ AWS CLI ]

**Uso de la AWS CLI para instalar el complemento de observabilidad de EKS de Amazon CloudWatch mediante el rol de cuenta de servicio de IAM**

1. Ingrese el siguiente comando para crear un proveedor de OpenID Connect (OIDC), si el clúster aún no tiene uno. Para obtener más información, consulte [Configuración de una cuenta de servicio de Kubernetes para asumir un rol de IAM](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html) en la *Guía del usuario de Amazon EKS*.

   ```
   eksctl utils associate-iam-oidc-provider --cluster my-cluster-name --approve
   ```

1. Ingrese el siguiente comando para crear el rol de IAM con la política **CloudWatchAgentServerPolicy** adjunta y configure la cuenta de servicio del agente para que asuma ese rol mediante OIDC. Reemplace *my-cluster-name* por el nombre del clúster y reemplace *my-service-account-role* por el nombre del rol al que desea asociar la cuenta de servicio. Si el rol no existe aún, `eksctl` lo crea por usted. 

   ```
   eksctl create iamserviceaccount \
     --name cloudwatch-agent \
     --namespace amazon-cloudwatch --cluster my-cluster-name \
     --role-name my-service-account-role \
     --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
     --role-only \
     --approve
   ```

1. Instale el complemento ingresando el siguiente comando: Reemplace *my-cluster-name* por el nombre de su clúster, reemplace *111122223333* por el identificador de su cuenta y reemplace *my-service-account-role* por el rol de IAM creado en el paso anterior.

   ```
   aws eks create-addon --addon-name amazon-cloudwatch-observability --cluster-name my-cluster-name --service-account-role-arn arn:aws:iam::111122223333:role/my-service-account-role
   ```

------
#### [ Amazon EKS console ]

**Uso de la consola para instalar el complemento de observabilidad de EKS de Amazon CloudWatch mediante el rol de cuenta de servicio de IAM**

1. Abra la consola de Amazon EKS en [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. En el panel de navegación izquierdo, elija **Clusters (Clústeres)**.

1. Seleccione el nombre del clúster para el que desea configurar el complemento de observabilidad de EKS de Amazon CloudWatch.

1. Elija la pestaña **Complementos**.

1. Escoja **Obtener más complementos**.

1. En la página **Seleccionar complementos**, haga lo siguiente:

   1. En la sección **Complementos de Amazon EKS**, seleccione la casilla de verificación para **Observabilidad de Amazon CloudWatch**.

   1. Elija **Siguiente**.

1. En la página **Configurar las opciones de complementos seleccionados**, haga lo siguiente:

   1. Seleccione la **Version (Versión)** que desea utilizar.

   1. Para **Acceso al complemento**, seleccione **Roles de IAM para las cuentas de servicio (IRSA)**

   1. Seleccione el rol de IAM en el cuadro **Acceso al complemento**.

   1. (Opcional) Puede ampliar las **Valores de configuración opcionales**. Si selecciona **Anular** en **Método de resolución de conflictos**, una o varias de las configuraciones del complemento existente pueden sobrescribirse con la configuración del complemento de Amazon EKS. Si no habilita esta opción y hay un conflicto con la configuración existente, la operación falla. Puede utilizar el mensaje de error resultante para solucionar el conflicto. Antes de seleccionar esta opción, asegúrese de que el complemento de Amazon EKS no administra las configuraciones que se necesitan autoadministrar.

   1. Elija **Siguiente**.

1. En la página **Revisar y añadir**, elija **Crear**. Una vez finalizada la instalación del complemento, verá el complemento instalado.

------

## Consideraciones para los nodos híbridos de Amazon EKS
<a name="install-CloudWatch-Observability-EKS-addon-hybrid"></a>

Las métricas de nivel de nodo no están disponibles para los nodos híbridos, ya que [Información de contenedores](ContainerInsights.md) depende de la disponibilidad del [servicio de metadatos de instancias (IMDS) de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) para las métricas de nivel del nodo. Las métricas de nivel del clúster, de la carga de trabajo, del Pod y del contenedor están disponibles para los nodos híbridos.

Tras instalar el complemento siguiendo los pasos de las secciones anteriores, debe actualizar el manifiesto del complemento para que el agente pueda ejecutarse correctamente en los nodos híbridos. Edite el recurso `amazoncloudwatchagents` en el clúster para agregar la variable de entorno `RUN_WITH_IRSA` que coincida con lo siguiente.

```
kubectl edit amazoncloudwatchagents -n amazon-cloudwatch cloudwatch-agent
```

```
apiVersion: v1
       items:
       - apiVersion: cloudwatch.aws.amazon.com/v1alpha1
         kind: AmazonCloudWatchAgent
         metadata:
           ...
           name: cloudwatch-agent
           namespace: amazon-cloudwatch
           ...
         spec:
           ...
           env:
           - name: RUN_WITH_IRSA # <-- Add this
             value: "True" # <-- Add this
           - name: K8S_NODE_NAME
             valueFrom:
               fieldRef:
                 fieldPath: spec.nodeName
                 ...
```

## Configuraciones adicionales (Opcional)
<a name="install-CloudWatch-Observability-EKS-addon-configuration"></a>

**Topics**
+ [Desactivación de la recopilación de registros de contenedores](#CloudWatch-Observability-EKS-addon-OptOutContainerLogs)
+ [Uso de una configuración de Fluent Bit personalizada](#CloudWatch-Observability-EKS-addon-CustomFluentBit)
+ [Administre las tolerancias de Kubernetes para las cargas de trabajo de los pods instalados](#CloudWatch-Observability-EKS-addon-Tolerations)
+ [Desactivación de la recopilación de métricas de Accelerated Compute](#CloudWatch-Observability-EKS-addon-OptOutAccelerated)
+ [Uso de una configuración del agente de CloudWatch personalizada](#CloudWatch-Observability-EKS-addon-CustomAgentConfig)
+ [Administración de los certificados TLS de webhook de admisión](#CloudWatch-Observability-EKS-addon-Webhook)
+ [Recopile los ID de volumen de Amazon EBS](#CloudWatch-Observability-EKS-addon-VolumeIDs)

### Desactivación de la recopilación de registros de contenedores
<a name="CloudWatch-Observability-EKS-addon-OptOutContainerLogs"></a>

De forma predeterminada, el complemento usa Fluent Bit para recopilar los registros de contenedores de todos los pods y, a continuación, los envía a los registros de CloudWatch. Para obtener información sobre los registros que se recopilan, consulte [Configuración de Fluent Bit](Container-Insights-setup-logs-FluentBit.md#Container-Insights-FluentBit-setup).

**nota**  
Ni el complemento ni el gráfico de Helm administran los recursos de Fluentd o FluentBit existentes en un clúster. Puede eliminar los recursos existentes de Fluentd o Fluent Bit antes de instalar el complemento o el gráfico de Helm. Como alternativa, para conservar su configuración actual y evitar que el complemento o el gráfico de Helm también instalen Fluent Bit, puede desactivarla siguiendo las instrucciones de esta sección. 

Si utiliza el complemento de observabilidad de EKS de Amazon CloudWatch y desea dejar de recopilar registros de contenedores, utilice la siguiente opción cuando cree o actualice el complemento:

```
--configuration-values '{ "containerLogs": { "enabled": false } }'
```

Si utiliza el gráfico de Helm y desea dejar de recopilar registros de contenedores, utilice la siguiente opción cuando cree o actualice el complemento:

```
--set containerLogs.enabled=false
```

### Uso de una configuración de Fluent Bit personalizada
<a name="CloudWatch-Observability-EKS-addon-CustomFluentBit"></a>

A partir de la versión 1.7.0 del complemento de observabilidad de EKS de Amazon CloudWatch, la configuración de Fluent Bit se puede modificar al crear o actualizar el complemento o el gráfico de Helm. La configuración personalizada de Fluent Bit se realiza en la sección raíz `containerLogs` de la configuración avanzada del complemento o las anulaciones de valores en el gráfico de Helm. En esta sección, debe realizar la configuración personalizada de Fluent Bit en la sección `config` (para Linux) o en la sección `configWindows` (para Windows). Además, `config` se divide en las siguientes subsecciones:
+ `service`: esta sección representa la configuración `SERVICE` para definir el comportamiento global del motor Fluent Bit.
+ `customParsers`: esta sección representa cualquier `PARSER` global que desee incluir y que sea capaces de tomar entradas de registro no estructuradas y darles una estructura que facilite su procesamiento y posterior filtrado.
+ `extraFiles`: esta sección se puede utilizar para incluir archivos de `conf` de Fluent Bit adicionales. Por defecto, se incluyen los siguientes tres archivos de `conf`:
  + `application-log.conf`: un archivo `conf` para enviar los registros de las aplicaciones desde el clúster al grupo de registros `/aws/containerinsights/my-cluster-name/application` en Registros de CloudWatch.
  + `dataplane-log.conf`: un archivo `conf` para enviar los registros correspondientes a los componentes del plano de datos del clúster, incluidos los registros de CRI, los registros de kubelet, los registros de kube-proxy y los registros Amazon VPC CIN, al grupo de registros `/aws/containerinsights/my-cluster-name/dataplane` en CloudWatch Logs.
  + `host-log.conf`: un archivo `conf` para enviar registros desde `/var/log/dmesg`, `/var/log/messages` y `/var/log/secure` en Linux y System `winlogs` en Windows al grupo de registros `/aws/containerinsights/my-cluster-name/host` de CloudWatch.

**nota**  
Brinde la configuración completa de cada una de estas secciones individuales, incluso si modifica solo un campo de una subsección. Recomendamos que utilice la configuración predeterminada que se brinda a continuación como base y, a continuación, la modifique en consecuencia para no deshabilitar la funcionalidad habilitada de forma predeterminada. Puede usar la siguiente configuración de YAML al modificar la configuración avanzada del complemento Amazon EKS o al brindar anulaciones de valores para el gráfico de Helm. 

Para encontrar la sección `config` correspondiente a su clúster, consulte [aws-observability / helm-charts](https://github.com/aws-observability/helm-charts/releases) en GitHub y busque la versión correspondiente a la versión del complemento o gráfico de Helm que esté instalando. A continuación, navegue en `/charts/amazon-cloudwatch-observability/values.yaml` hasta encontrar la sección `config` (para Linux) y la sección `configWindows` (para Windows) dentro de la sección `fluentBit` en `containerLogs`.

A modo de ejemplo, la configuración predeterminada de Fluent Bit para la versión 1.7.0 se encuentra [aquí](https://github.com/aws-observability/helm-charts/blob/v1.7.0/charts/amazon-cloudwatch-observability/values.yaml#L44)).

Le recomendamos que brinde el archivo `config` como YAML cuando lo suministre con la configuración avanzada del complemento Amazon EKS o cuando lo suministre como anulaciones de valores en su instalación de Helm. Asegúrese de que el YAML cumpla con la siguiente estructura.

```
containerLogs:
  fluentBit:
    config:
      service: |
        ...
      customParsers: |
        ...
      extraFiles:
        application-log.conf: |
          ...
        dataplane-log.conf: |
          ...
        host-log.conf: |
          ...
```

El siguiente ejemplo de `config` cambia la configuración global del intervalo de descarga a 45 segundos. Aunque la única modificación es en el campo `Flush`, debe brindar la definición `SERVICE` completa de la subsección del servicio. Como en este ejemplo no se especificaron anulaciones para las demás subsecciones, en ellas se utilizan los valores predeterminados.

```
containerLogs:
  fluentBit:
    config:
      service: |
        [SERVICE]
          Flush                     45
          Grace                     30
          Log_Level                 error
          Daemon                    off
          Parsers_File              parsers.conf
          storage.path              /var/fluent-bit/state/flb-storage/
          storage.sync              normal
          storage.checksum          off
          storage.backlog.mem_limit 5M
```

El siguiente ejemplo de configuración incluye un archivo `conf` de Fluent bit adicional. En este ejemplo, agregamos un `my-service.conf` personalizado en `extraFiles` y se sumará a los tres `extraFiles` predeterminados.

```
containerLogs:
  fluentBit:
    config:
      extraFiles:
        my-service.conf: |
          [INPUT]
            Name              tail
            Tag               myservice.*
            Path              /var/log/containers/*myservice*.log
            DB                /var/fluent-bit/state/flb_myservice.db
            Mem_Buf_Limit     5MB
            Skip_Long_Lines   On
            Ignore_Older      1d
            Refresh_Interval  10
          
          [OUTPUT]
            Name                cloudwatch_logs
            Match               myservice.*
            region              ${AWS_REGION}
            log_group_name      /aws/containerinsights/${CLUSTER_NAME}/myservice
            log_stream_prefix   ${HOST_NAME}-
            auto_create_group   true
```

El siguiente ejemplo elimina por completo un archivo `conf` existente de `extraFiles`. Esto excluye el archivo `application-log.conf` por completo sustituyéndolo por una cadena vacía. En cambio, simplemente omitir `application-log.conf` de `extraFiles` implicaría usar el valor predeterminado, que no es lo que estamos intentando lograr en este ejemplo. Lo mismo se aplica a la eliminación de cualquier archivo `conf` personalizado que haya agregado anteriormente a `extraFiles`.

```
containerLogs:
  fluentBit:
    config:
      extraFiles:
        application-log.conf: ""
```

### Administre las tolerancias de Kubernetes para las cargas de trabajo de los pods instalados
<a name="CloudWatch-Observability-EKS-addon-Tolerations"></a>

A partir de la versión 1.7.0 del complemento de observabilidad de EKS de Amazon CloudWatch, el complemento y el gráfico de Helm establecen de forma predeterminada las *tolerancias* de Kubernetes para tolerar todas las taints en las cargas de trabajo de los pods instalados por el complemento o el gráfico de Helm. Esto garantiza que los daemonsets, como el agente de CloudWatch y Fluent Bit, puedan programar pods en todos los nodos del clúster de forma predeterminada. Para más información sobre las taints y toleraciones, consulte [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) en la documentación de Kubernetes. 

Las tolerancias predeterminadas que establece el complemento o el gráfico de Helm son las siguientes:

```
tolerations:
- operator: Exists
```

Puede anular las tolerancias predeterminadas al configurar el campo `tolerations` en la raíz cuando utilice la configuración avanzada del complemento o cuando instale o actualice el gráfico de Helm con anulaciones de valores. Un ejemplo de esto sería el siguiente:

```
tolerations:
- key: "key1"
  operator: "Exists"
  effect: "NoSchedule"
```

Para omitir por completo las tolerancias, puede utilizar una configuración como la siguiente:

```
tolerations: []
```

Cualquier cambio en las tolerancias se aplicará a todas las cargas de trabajo de los pods instalados por el complemento o el gráfico de Helm.

### Desactivación de la recopilación de métricas de Accelerated Compute
<a name="CloudWatch-Observability-EKS-addon-OptOutAccelerated"></a>

De forma predeterminada, Información de contenedores, con una observabilidad mejorada, recopila métricas para la supervisión de Accelerated Compute, incluidas las métricas de GPU de NVIDIA, las métricas de AWS Neuron para AWS Trainium y AWS Inferentia y las métricas de AWS Elastic Fabric Adapter (EFA).

Las métricas de GPU de NVIDIA de las cargas de trabajo de Amazon EKS se recopilan de forma predeterminada a partir de la versión `v1.3.0-eksbuild.1` del complemento de EKS o del gráfico de Helm y la versión `1.300034.0` del agente de CloudWatch. Para acceder a una lista de las métricas recopiladas y los requisitos previos, consulte [Métricas de GPU de NVIDIA](Container-Insights-metrics-enhanced-EKS.md#Container-Insights-metrics-EKS-GPU).

Las métricas de AWS Neuron de los aceleradores AWS Trainium y AWS Inferentia se recopilan de forma predeterminada a partir de la versión `v1.5.0-eksbuild.1` del complemento de EKS o del gráfico de Helm y la versión `1.300036.0` del agente de CloudWatch. Para acceder a una lista de las métricas recopiladas y los requisitos previos, consulte [Métricas de AWS Neuron para AWS Trainium y AWS Inferentia](Container-Insights-metrics-enhanced-EKS.md#Container-Insights-metrics-EKS-Neuron).

Las métricas del AWS Elastic Fabric Adapter (EFA) de los nodos de Linux en los clústeres de Amazon EKS se recopilan de forma predeterminada a partir de la versión `v1.5.2-eksbuild.1` del complemento de EKS o del gráfico de Helm y la versión `1.300037.0` del agente de CloudWatch. Para acceder a una lista de las métricas recopiladas y los requisitos previos, consulte [Métricas de AWS Elastic Fabric Adapter (EFA)](Container-Insights-metrics-enhanced-EKS.md#Container-Insights-metrics-EFA).

Para dejar de recopilar estas métricas, establezca el campo `accelerated_compute_metrics` del archivo de configuración del agente de CloudWatch en `false`. Este campo se encuentra en la sección `kubernetes` de la sección `metrics_collected` del archivo de configuración de CloudWatch. A continuación, se muestra un ejemplo de configuración de desactivación. Para más información sobre cómo utilizar las configuraciones personalizadas de los agentes de CloudWatch, consulte la siguiente sección, [Uso de una configuración del agente de CloudWatch personalizada](#CloudWatch-Observability-EKS-addon-CustomAgentConfig).

```
{
  "logs": {
    "metrics_collected": {
      "kubernetes": {
        "enhanced_container_insights": true,
        "accelerated_compute_metrics": false
      }
    }
  }
}
```

### Uso de una configuración del agente de CloudWatch personalizada
<a name="CloudWatch-Observability-EKS-addon-CustomAgentConfig"></a>

Para recopilar otras métricas, registros o seguimientos con el agente de CloudWatch, puede especificar una configuración personalizada y, al mismo tiempo, mantener habilitados la Información de contenedores y CloudWatch Application Signals. Para ello, integre el archivo de configuración del agente de CloudWatch en la clave de configuración situada debajo de la clave de agente de la configuración avanzada, que puede utilizar al crear o actualizar el complemento de EKS o el gráfico de Helm. Lo siguiente representa la configuración del agente predeterminada cuando no proporciona configuraciones adicionales.

**importante**  
Cualquier configuración personalizada que proporcione mediante ajustes de configuración adicionales anula la configuración predeterminada que utiliza el agente. Tenga cuidado de no deshabilitar de forma involuntaria las funciones que están habilitadas de forma predeterminada, como Información de contenedores con observabilidad mejorada y CloudWatch Application Signals. En el caso de que tenga que proporcionar una configuración de agente personalizada, le recomendamos que utilice la siguiente configuración predeterminada como referencia y, a continuación, la modifique en consecuencia.
+ Para usar el complemento de observabilidad de EKS de Amazon CloudWatch

  ```
  --configuration-values '{
    "agent": {
      "config": {
        "logs": {
          "metrics_collected": {
            "application_signals": {},
            "kubernetes": {
              "enhanced_container_insights": true
            }
          }
        },
        "traces": {
          "traces_collected": {
            "application_signals": {}
          }
        }
      }
    }   
  }'
  ```
+ Para usar el gráfico de Helm

  ```
  --set agent.config='{
    "logs": {
      "metrics_collected": {
        "application_signals": {},
        "kubernetes": {
          "enhanced_container_insights": true
        }
      }
    },
    "traces": {
      "traces_collected": {
        "application_signals": {}
      }
    }
  }'
  ```

El siguiente ejemplo muestra la configuración de agente predeterminada para el agente de CloudWatch en Windows. El agente de CloudWatch en Windows no admite la configuración personalizada.

```
{
  "logs": {
    "metrics_collected": {
      "kubernetes": {
        "enhanced_container_insights": true
      },
    }
  }
}
```

### Administración de los certificados TLS de webhook de admisión
<a name="CloudWatch-Observability-EKS-addon-Webhook"></a>

El complemento de observabilidad de EKS de Amazon CloudWatch y el gráfico de Helm utilizan los [webhooks de admisión](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) de Kubernetes para validar y mutar las solicitudes de recursos personalizados (CR) de `AmazonCloudWatchAgent` y `Instrumentation` y, como alternativa, las solicitudes de pod de Kubernetes en el clúster si CloudWatch Application Signals está habilitado. En Kubernetes, los webhooks requieren un certificado TLS en el que el servidor API se configura para confiar y así garantizar una comunicación segura.

De forma predeterminada, el complemento de observabilidad de EKS de Amazon CloudWatch y el gráfico de Helm generan de forma automática una CA autofirmada y un certificado TLS firmado por esta CA para proteger la comunicación entre el servidor de API y el servidor de webhook. Este certificado generado de forma automática caduca de manera predeterminada a los 10 años y no se renueva automáticamente al expirar. Además, el paquete de CA y el certificado se vuelven a generar cada vez que se actualiza o reinstala el complemento o el gráfico de Helm, lo que restablece la caducidad. Si desea cambiar la caducidad predeterminada del certificado generado de forma automática, puede usar las siguientes configuraciones adicionales al crear o actualizar el complemento. Sustituya la *fecha de caducidad en días* por la duración de caducidad deseada en días. 
+ Utilice este para el complemento de observabilidad de EKS de Amazon CloudWatch

  ```
  --configuration-values '{ "admissionWebhooks": { "autoGenerateCert": { "expiryDays": expiry-in-days } } }' 
  ```
+ Utilice esto para el gráfico de Helm

  ```
  --set admissionWebhooks.autoGenerateCert.expiryDays=expiry-in-days
  ```

Si busca una solución de autoridad de certificación más segura y con más características, el complemento incluye asistencia opcional para [cert-manager](https://cert-manager.io/docs/), una solución ampliamente adoptada para la administración de certificados TLS en Kubernetes, que simplifica el proceso de obtención, renovación, administración y uso de esos certificados. Asegura que los certificados sean válidos y estén actualizados, e intenta renovarlos en un momento configurado antes de que caduquen. Además, cert-manager también facilita la emisión de certificados desde una variedad de fuentes compatibles, que incluye a [AWS Certificate Manager Private Certificate Authority](https://aws.amazon.com/private-ca/).

Le aconsejamos que revise las prácticas recomendadas para la administración de los certificados TLS en sus clústeres y que opte por cert-manager para entornos de producción. Tenga en cuenta que si decide habilitar cert-manager para administrar los certificados de TLS de webhook de admisión, deberá preinstalar cert-manager en su clúster de Amazon EKS antes de instalar el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm. Consulte la [documentación de cert-manager](https://cert-manager.io/docs/installation/) para obtener más información sobre las opciones de instalación disponibles. Una vez instalado, puede utilizar cert-manager para administrar los certificados de TLS de webhook de admisión mediante la siguiente configuración adicional.
+ En caso de utilizar el complemento de observabilidad de EKS de Amazon CloudWatch

  ```
  --configuration-values '{ "admissionWebhooks": { "certManager": { "enabled": true } } }' 
  ```
+ En caso de utilizar el gráfico de Helm

  ```
  --set admissionWebhooks.certManager.enabled=true
  ```

```
--configuration-values '{ "admissionWebhooks": { "certManager": { "enabled": true } } }' 
```

La configuración avanzada que se describe en esta sección utilizará de forma predeterminada un emisor [autofirmado](https://cert-manager.io/docs/configuration/selfsigned/).

### Recopile los ID de volumen de Amazon EBS
<a name="CloudWatch-Observability-EKS-addon-VolumeIDs"></a>

Si desea que se recopilen los identificadores de volumen de Amazon EBS en los registros de rendimiento, debe agregar otra política al rol de IAM asociado a los nodos de trabajo o a la cuenta de servicio. Añada lo siguiente como política insertada. Para obtener más información, consulte [Agregar y eliminar permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:DescribeVolumes"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

## Recopilación de las métricas de Java Management Extensions (JMX)
<a name="install-CloudWatch-Observability-EKS-addon-JMX-metrics"></a>

El agente de CloudWatch admite la recopilación de métricas de Java Management Extensions (JMX) en Amazon EKS. Esto le permite recopilar métricas adicionales de las aplicaciones en Java que se ejecutan en los clústeres de Amazon EKS, lo que le permite obtener información sobre el rendimiento, el uso de la memoria, el tráfico y otras métricas críticas. Para obtener más información, consulte [Recopilación de las métricas de Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md).

## Habilitación de las métricas de Kueue
<a name="enable-Kueue-metrics"></a>

A partir de la versión `v2.4.0-eksbuild.1` del complemento de observabilidad de EKS de CloudWatch, Información de contenedores para Amazon EKS admite la recopilación de métricas de Kueue de clústeres de Amazon EKS. Para obtener más información acerca de estas métricas, consulte [Métricas de Kueue](Container-Insights-metrics-EKS.md#Container-Insights-metrics-Kueue).

Si utiliza el complemento de EKS de gobernanza de tareas de Amazon SageMaker AI HyperPod, puede omitir los pasos de la sección **Requisitos previos** y seguir los pasos que aparecen en [Habilitación del indicador de configuración](#enable-Kueue-metrics-flag).

### Requisitos previos
<a name="enable-Kueue-metrics-prerequisites"></a>

Antes de instalar Kueue en el clúster de Amazon EKS, actualice lo siguiente en el archivo de manifiesto:

1. Habilite las métricas opcionales de los recursos de la cola de clústeres para Kueue. Para ello, modifique el archivo en línea `controller_manager_config.yaml` en ConfigMap `kueue-system`. En la sección `metrics`, agregue o quite el comentario de la línea `enableClusterQueueResources: true`.

   ```
   apiVersion: v1
   data:
     controller_manager_config.yaml: |
       apiVersion: config.kueue.x-k8s.io/v1beta1
       kind: Configuration
       health:
         healthProbeBindAddress: :8081
       metrics:
         bindAddress: :8080
         enableClusterQueueResources: true  <-- ADD/UNCOMMENT THIS LINE
   ```

1. De forma predeterminada, todos los servicios de `k8s` están disponibles en todo el clúster. Kueue crea un servicio `kueue-controller-manager-metrics-service` para exponer las métricas. Para evitar la duplicación de observaciones de las métricas, modifique este servicio para permitir el acceso únicamente al servicio de métricas desde el mismo nodo. Para ello, agregue la línea `internalTrafficPolicy: Local` a la definición de `kueue-controller-manager-metrics-service`.

   ```
   apiVersion: v1
   kind: Service
   metadata:
     labels:
       ...
     name: kueue-controller-manager-metrics-service
     namespace: kueue-system
   spec:
     ports:
     - name: https
       port: 8443
       protocol: TCP
       targetPort: https
     internalTrafficPolicy: Local   <-- ADD THIS LINE
     selector:
       control-plane: controller-manager
   ```

1. Por último, el pod `kueue-controller-manager` crea un contenedor `kube-rbac-proxy`. Actualmente, este contenedor tiene un elevado nivel de detalles de registro, lo que hace que el contenedor registre el token de portador del clúster cuando el rastreador de métricas accede a `kueue-controller-manager-metrics-service`. Le recomendamos que disminuya el nivel de detalle del registro. El valor predeterminado en el manifiesto distribuido por Kueue es 10; se recomienda cambiarlo a 0.

   ```
   apiVersion: apps/v1
   kind: Deployment
   metadata:
     labels:
       ...
     name: kueue-controller-manager
     namespace: kueue-system
   spec:
     ...
     template:
       ...
       spec:
         containers:
         ...
         - args:
           - --secure-listen-address=0.0.0.0:8443
           - --upstream=http://127.0.0.1:8080/
           - --logtostderr=true
           - --v=0  <-- CHANGE v=10 TO v=0
           image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0
           name: kube-rbac-proxy
           ...
   ```

### Habilitación del indicador de configuración
<a name="enable-Kueue-metrics-flag"></a>

Para habilitar las métricas de Kueue, debe habilitar `kueue_container_insights` en la configuración adicional del complemento. Puede hacerlo mediante la AWS CLI para configurar el complemento de observabilidad de EKS o mediante la consola de Amazon EKS.

Una vez que haya instalado correctamente el complemento de observabilidad de EKS con uno de los siguientes métodos, podrá ver las métricas del clúster de Amazon EKS en la pestaña **Panel** de la consola de HyperPod.

------
#### [ AWS CLI ]

**Habilitación de las métricas de Kueue mediante la AWS CLI**
+ Ingrese el siguiente comando AWS CLI para instalar el complemento.

  ```
  aws eks create-addon --cluster-name cluster-name --addon-name amazon-cloudwatch-observability --configuration-values "configuration_json_file"
  ```

  A continuación se muestra un ejemplo del archivo JSON con los valores de configuración.

  ```
  {
      "agent": {
          "config": {
              "logs": {
                  "metrics_collected": {
                      "kubernetes": {
                          "kueue_container_insights": true,
                          "enhanced_container_insights": true
                      },
                      "application_signals": { }
                  }
              },
              "traces": {
                  "traces_collected": {
                      "application_signals": { }
                  }
              }
          },
      },
  }
  ```

------
#### [ Amazon EKS console ]

**Habilitación de las métricas de Kueue mediante la consola de Amazon EKS**

1. Abra la consola de Amazon EKS en [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. Elija el nombre del clúster.

1. Elegir **Complementos**.

1. Busque el complemento **Observabilidad de Amazon CloudWatch** en la lista e instálelo. Cuando lo haga, elija **Configuración opcional** e incluya los siguientes valores de configuración de JSON.

   ```
   {
       "agent": {
           "config": {
               "logs": {
                   "metrics_collected": {
                       "kubernetes": {
                           "kueue_container_insights": true,
                           "enhanced_container_insights": true
                       },
                       "application_signals": { }
                   }
               },
               "traces": {
                   "traces_collected": {
                       "application_signals": { }
                   }
               }
           },
       },
   }
   ```

------

## Anexión de los archivos de configuración del recopilador de OpenTelemetry
<a name="install-CloudWatch-Observability-EKS-addon-OpenTelemetry"></a>

El agente de CloudWatch admite archivos de configuración complementarios del recopilador de OpenTelemetry junto con sus propios archivos de configuración. Esta característica le permite utilizar las características del agente de CloudWatch, como CloudWatch Application Signals o Información de contenedores, a través de la configuración del agente de CloudWatch e incorporar su configuración del recopilador de OpenTelemetry existente con un solo agente.

Para evitar conflictos de fusión con canalizaciones creadas automáticamente por el agente de CloudWatch, le recomendamos que agregue un sufijo personalizado a cada uno de los componentes y canalizaciones de la configuración del recopilador de OpenTelemetry. De este modo, se evitarán bloqueos y conflictos entre fusiones.
+ En caso de utilizar el complemento de observabilidad de EKS de Amazon CloudWatch

  ```
  --configuration-values file://values.yaml
  ```

  o

  ```
  --configuration-values '
    agent:
      otelConfig:
        receivers:
          otlp/custom-suffix:
            protocols:
              http: {}
        exporters:
          awscloudwatchlogs/custom-suffix:
            log_group_name: "test-group"
            log_stream_name: "test-stream"
        service:
          pipelines:
            logs/custom-suffix:
              receivers: [otlp/custom-suffix]
              exporters: [awscloudwatchlogs/custom-suffix]
  '
  ```
+ En caso de utilizar el gráfico de Helm

  ```
  --set agent.otelConfig='
    receivers:
      otlp/custom-suffix:
        protocols:
          http: {}
    exporters:
      awscloudwatchlogs/custom-suffix:
        log_group_name: "test-group"
        log_stream_name: "test-stream"
    service:
      pipelines:
        logs/custom-suffix:
          receivers: [otlp/custom-suffix]
          exporters: [awscloudwatchlogs/custom-suffix]
  '
  ```

## Activación de APM a través de Application Signals para el clúster de Amazon EKS
<a name="Container-Insights-setup-EKS-appsignalsconfiguration"></a>

De forma predeterminada, la supervisión del rendimiento de las aplicaciones (APM) basada en OpenTelemetry (OTEL) se activa mediante Application Signals al instalar el complemento de observabilidad de EKS de CloudWatch (versión 5.0.0 o posterior) o el gráfico de Helm. Puede personalizar aún más los ajustes específicos utilizando la configuración avanzada para el complemento de Amazon EKS o anulando valores con el gráfico de Helm.

**nota**  
Si utiliza una solución de APM basada en OpenTelemetry (OTEL), la activación de Application Signals afectará a la configuración de observabilidad actual. Revise la implementación actual antes de continuar. Para mantener la configuración de APM actual tras la actualización a la versión 5.0.0 o posterior, consulte [Exclusión de Application Signals](#Opting-out-App-Signals).

**Auto monitor de Application Signals**

La versión 5.0.0 del complemento de Amazon EKS de observabilidad de CloudWatch y el gráfico de Helm presentan una nueva funcionalidad. Ahora puede habilitar automáticamente Application Signals para todas las cargas de trabajo del servicio, o algunas determinadas, en su clúster de EKS mediante la configuración de Auto monitor. Los siguientes ajustes de `autoMonitor` se pueden especificar en la sección `applicationSignals` situada debajo de la sección `manager` de la configuración avanzada.
+ *monitorAllServices*: indicador booleano para habilitar (true) o deshabilitar (false) la supervisión de todas las cargas de trabajo de servicios mediante Auto monitor. El valor predeterminado es true (verdadero). Al habilitar este indicador, se garantizará que todas las cargas de trabajo de Kubernetes (Deployments, DaemonSets y StatefulSets) en el clúster que estén asignadas a un servicio de Kubernetes estarán dentro del alcance para la habilitación automática de Application Signals cuando se inicien por primera vez (o cuando se reinicien para las cargas de trabajo existentes). De manera predeterminada, el sistema excluye las cargas de trabajo en los espacios de nombres `kube-system` y `amazon-cloudwatch`.
+ *languages*: una lista de cadenas que especifica el conjunto de idiomas con los que Application Signals intentará instrumentar automáticamente sus servicios cuando `monitorAllServices` esté habilitado. Es el valor predeterminado para todos los [idiomas admitidos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html).
+ *restartPods*: un indicador booleano que controla si las cargas de trabajo se reinician tras los cambios de configuración. El valor predeterminado es falso. Al activar este indicador a `true`, se controla si las cargas de trabajo de Kubernetes dentro del ámbito de Auto monitor se reinician automáticamente al guardar los cambios de configuración. Se tendrá en cuenta cualquier configuración de sus cargas de trabajo de Kubernetes que influya en el reinicio de los pods, como `updateStrategy`. Tenga en cuenta que el reinicio puede provocar un tiempo de inactividad del servicio.
+ *customSelector*: configuración para seleccionar espacios de nombres o cargas de trabajo específicos de Kubernetes para Auto monitor.
  + *java*: especifique las cargas de trabajo para instrumentarlas automáticamente con Java.
  + *python*: especifique las cargas de trabajo para instrumentarlas automáticamente con Python.
  + *nodejs*: especifique las cargas de trabajo para instrumentarlas automáticamente con Node.js.
  + *dotnet*: especifique las cargas de trabajo para instrumentarlas automáticamente con .NET.

  Para cada uno de los idiomas anteriores, se pueden configurar los siguientes campos.
  + *namespaces*: lista de cadenas que especifican los espacios de nombres que se seleccionarán. El valor predeterminado es una lista vacía, es decir, [].
  + *deployments*: lista de cadenas que especifican las implementaciones que se seleccionarán. Especifique en formato `namespace/deployment`. El valor predeterminado es una lista vacía, es decir, [].
  + *daemonsets*: lista de cadenas que especifican los daemonsets que se seleccionarán. Especifique en formato `namespace/daemonset`. El valor predeterminado es una lista vacía, es decir, [].
  + *statefulsets*: lista de cadenas que especifican los statefulsets que se seleccionarán. Especifique en formato `namespace/statefulset`. El valor predeterminado es una lista vacía, es decir, [].
+ *exclude*: configuración para excluir de Auto monitor espacios de nombres o cargas de trabajo específicos de Kubernetes. La exclusión de una carga de trabajo tiene prioridad cuando la misma carga de trabajo también está dentro del alcance de `monitorAllServices` o `customSelector`.
  + *java*: especifique las cargas de trabajo que desea evitar que se instrumenten automáticamente con Java.
  + *python*: especifique las cargas de trabajo que desea evitar que se instrumenten automáticamente con Python.
  + *nodejs*: especifique las cargas de trabajo que desea evitar que se instrumenten automáticamente con Node.js.
  + *dotnet*: especifique las cargas de trabajo que desea evitar que se instrumenten automáticamente con .NET.

  Para cada uno de los idiomas anteriores, se pueden configurar los siguientes campos.
  + *namespaces*: lista de cadenas que especifican los espacios de nombres que se excluirán. El valor predeterminado es una lista vacía, es decir, [].
  + *deployments*: lista de cadenas que especifican las implementaciones que se excluirán. Especifique en formato `namespace/deployment`. El valor predeterminado es una lista vacía, es decir, [].
  + *daemonsets*: lista de cadenas que especifican los daemonsets que se excluirán. Especifique en formato `namespace/daemonset`. El valor predeterminado es una lista vacía, es decir, [].
  + *statefulsets*: lista de cadenas que especifican los statefulsets que se excluirán. Especifique en formato `namespace/statefulset`. El valor predeterminado es una lista vacía, es decir, [].

El siguiente es un ejemplo de configuración que habilita automáticamente Application Signals para todas las cargas de trabajo de servicio nuevas y existentes en el clúster.

```
manager:
  applicationSignals:
    autoMonitor:
      monitorAllServices: true
      restartPods: true
```

El siguiente es un ejemplo de configuración que habilita automáticamente Application Signals para cualquier carga de trabajo de servicio nueva que se inicie y para cualquier carga de trabajo de servicio existente que se reinicie explícitamente en el clúster.

```
manager:
  applicationSignals:
    autoMonitor:
      monitorAllServices: true
```

El siguiente es un ejemplo de configuración que habilita automáticamente Application Signals con Java para todos los pods nuevos y existentes correspondientes a una carga de trabajo en el espacio de nombres `pet-warehouse`.

```
manager:
  applicationSignals:
    autoMonitor:
      restartPods: true
      customSelector:
        java:
          namespaces: ["pet-warehouse"]
```

El siguiente es un ejemplo de configuración que habilita automáticamente Application Signals con Python para todas las cargas de trabajo de servicio nuevas y existentes en el clúster, excluyendo la implementación de `pet-clinic`.

```
manager:
  applicationSignals:
    autoMonitor:
      monitorAllServices: true
      languages: ["python"]
      restartPods: true
      exclude:
        python:
          deployments: ["pet-warehouse/pet-clinic"]
```

El siguiente es un ejemplo de configuración que habilita automáticamente Application Signals con Java para todas las cargas de trabajo de servicio del clúster, excepto las del espacio de nombres `python-apps`, y además habilita Application Signals con Python específicamente para la implementación de `sample-python-app` en el espacio de nombres `python-apps`.

```
manager:
  applicationSignals:
    autoMonitor:
      monitorAllServices: true
      languages: ["java"]
      restartPods: true
      customSelector:
        python:
          deployments: ["python-apps/sample-python-app"]
      exclude:
        java:
          namespaces: ["python-apps"]
```

## Solución de problemas del complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm
<a name="Container-Insights-setup-EKS-addon-troubleshoot"></a>

Utilice la siguiente información para solucionar problemas con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm

**Topics**
+ [Actualización y eliminación del complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](#EKS-addon-troubleshoot-update)
+ [Verifique la versión del agente de CloudWatch que utiliza el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm](#EKS-addon-troubleshoot-version)
+ [Control de un error de configuración al administrar el complemento o el gráfico de Helm](#EKS-addon-troubleshoot-conflict)

### Actualización y eliminación del complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm
<a name="EKS-addon-troubleshoot-update"></a>

Para obtener instrucciones sobre cómo actualizar o eliminar el complemento de observabilidad de EKS de Amazon CloudWatch, consulte [Administración de complementos de Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/managing-add-ons.html). Utilice `amazon-cloudwatch-observability` como nombre del complemento. 

Para eliminar gráfico de Helm en un clúster, escriba siguiente comando.

```
helm delete amazon-cloudwatch-observability -n amazon-cloudwatch --wait
```

### Verifique la versión del agente de CloudWatch que utiliza el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm
<a name="EKS-addon-troubleshoot-version"></a>

El complemento de observabilidad de EKS de Amazon CloudWatch y el gráfico de Helm instalan un recurso personalizado del tipo `AmazonCloudWatchAgent`, el cual controla el comportamiento del daemonset del agente de CloudWatch en el clúster, incluida la versión del agente de CloudWatch que se utiliza. Puede obtener una lista de todos los recursos personalizados del `AmazonCloudWatchAgent` instalados en su clúster al ingresar el siguiente comando:

```
kubectl get amazoncloudwatchagent -A
```

En la salida de este comando, se puede comprobar la versión del agente de CloudWatch. Como alternativa, también puede describir el recurso del `amazoncloudwatchagent` o uno de los pods del `cloudwatch-agent-*` que se ejecutan en el clúster para inspeccionar la imagen que se utiliza.

### Control de un error de configuración al administrar el complemento o el gráfico de Helm
<a name="EKS-addon-troubleshoot-conflict"></a>

Al instalar o actualizar el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm, si observa un error provocado por un recurso existente, probablemente se deba a que ya tiene el agente de CloudWatch y sus componentes asociados, como ServiceAccount, ClusterRole y ClusterRoleBinding instalados en el clúster.

El error que muestra el complemento incluirá `Conflicts found when trying to apply. Will not continue due to resolve conflicts mode`, 

El error que muestra el gráfico de Helm será similar a `Error: INSTALLATION FAILED: Unable to continue with install and invalid ownership metadata.`.

Cuando el complemento o el gráfico de Helm intenta instalar el agente de CloudWatch y sus componentes asociados, si detecta algún cambio en el contenido, por defecto no se realiza la instalación o la actualización para evitar sobrescribir el estado de los recursos del clúster.

Si intenta incorporar al complemento de observabilidad de EKS de Amazon CloudWatch y observa este error, le recomendamos que elimine la configuración de agente de CloudWatch existente que haya instalado anteriormente en el clúster y, a continuación, instale el complemento de EKS o el gráfico de Helm. Asegúrese de hacer una copia de seguridad de las personalizaciones que haya realizado en la configuración original del agente de CloudWatch, como una configuración de agente personalizada, y envíelas al complemento o al gráfico de Helm la próxima vez que lo instale o actualice. Si ya había instalado el agente de CloudWatch para incorporar Información de contenedores, consulte [Eliminación del agente de CloudWatch y Fluen Bit para Información de contenedores](ContainerInsights-delete-agent.md) para obtener más información.

Como alternativa, el complemento admite una opción de configuración de resolución de conflictos que puede especificar `OVERWRITE`. Puede usar esta opción para continuar con la instalación o actualización del complemento sobrescribiendo los errores en el clúster. Si utiliza la consola de Amazon EKS, encontrará el **método de resolución de errores** al elegir los **ajustes de configuración opcionales** al crear o actualizar el complemento. Si está utilizando la AWS CLI, puede proporcionar `--resolve-conflicts OVERWRITE` al comando para crear o actualizar el complemento. 

## Exclusión de Application Signals
<a name="Opting-out-App-Signals"></a>

Refine las preferencias de supervisión de servicios en la consola de CloudWatch o con el SDK.

Para las versiones anteriores a la 5.0.0, para desactivar la supervisión automática de Application Signals, siga este procedimiento:

**Uso de la CLI o el SDK**

La siguiente configuración se puede aplicar como configuración avanzada al complemento de EKS o como anulación de valores cuando se utiliza el gráfico de Helm.

```
{
  "manager": {
    "applicationSignals": {
      "autoMonitor": {
        "monitorAllServices": false
      }
    }
  }
}
```

Reinicie los servicios para que los cambios surtan efecto.

**Uso de la consola**

Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, en **Application Signals (APM)**, elija **Servicios**.

1.  Elija **Activar Señales de aplicaciones** para ver la página de activación.

1. Desactive la casilla de verificación **Supervisar automáticamente** para cada servicio que no desee supervisar.

1. Reinicie los servicios para que los cambios surtan efecto.