

# Recopile las métricas, registros y seguimientos con el agente de CloudWatch
<a name="Install-CloudWatch-Agent"></a>

El agente de CloudWatch es un componente de software que recopila métricas, registros y seguimientos de instancias de Amazon EC2, servidores en las instalaciones y aplicaciones en contenedores. Le permite monitorear la infraestructura y las aplicaciones de manera más exhaustiva que el monitoreo básico que se proporciona de forma predeterminada. 

**Ventajas principales**
+ Recopile métricas del sistema (CPU, memoria, disco, red) 
+ Recopile métricas personalizadas de las aplicaciones
+ Recopile y centralice los registros de diversos orígenes
+ Monitoree los entornos de AWS y en las instalaciones con una sola herramienta 
+ Configure alarmas y notificaciones en función de los datos recopilados 

El agente de CloudWatch le permite hacer lo siguiente:
+ Recopile métricas internas de nivel de sistema de instancias de Amazon EC2 en distintos sistemas operativos. Las métricas pueden incluir métricas de invitados, además de las métricas de instancias EC2. Las métricas adicionales que se pueden recopilar se indican en [Métricas que el agente de CloudWatch ha recopilado](metrics-collected-by-CloudWatch-agent.md).
+ Recopilar métricas de nivel de sistema de servidores locales. Pueden incluir servidores en un entorno híbrido, así como servidores no administrados por AWS.
+ Recupere métricas personalizadas de sus aplicaciones o servicios mediante los protocolos `StatsD` y `collectd`. `StatsD` se admite tanto en los servidores Linux como en los servidores Windows Server. `collectd` solo se admite en servidores Linux.
+ Recopile registros de instancias Amazon EC2 y servidores en las instalaciones con Linux o Windows Server.
**nota**  
El agente de CloudWatch no admite la recopilación de registros de canales FIFO.
+ Envíe las métricas a CloudWatch o Amazon Managed Service para Prometheus, o a ambos. El archivo de configuración del agente de CloudWatch contiene un parámetro `metrics_destinations` en la sección `metrics`. Puede especificar `cloudwatch`, `amp` o ambos en este parámetro.
+ Se puede usar la versión 1.300031.0 y las versiones posteriores para habilitar CloudWatch Application Signals. Para obtener más información, consulte [Application Signals](CloudWatch-Application-Monitoring-Sections.md).
+ Las versiones 1.300025.0 y posteriores pueden recopilar registros de seguimiento de SDK de cliente de [OpenTelemetry](https://docs.aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html#xray-instrumenting-opentel) o de [X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html#xray-instrumenting-xray-sdk) y enviarlos a X-Ray.

  El uso del agente de CloudWatch le permite recopilar seguimientos sin necesidad de ejecutar un daemon de recopilación de seguimientos independiente, lo que ayuda a reducir la cantidad de agentes que ejecuta y administra.

Las métricas enviadas a CloudWatch se pueden ver en CloudWatch al igual que cualquier otra métrica de CloudWatch. El espacio de nombres de CloudWatch predeterminado para las métricas que el agente de CloudWatch ha recolectado es `CWAgent`, aunque se puede especificar otro espacio de nombres al configurar el agente.

Los registros que ha recopilado el agente de CloudWatch se procesan y almacenan en Registros de Amazon CloudWatch, de la misma manera que los registros que el antiguo agente de CloudWatch Logs ha recopilado. Para obtener más información sobre los precios de CloudWatch Logs, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing).

Las métricas que el agente de CloudWatch ha recopilado 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).

El agente de CloudWatch es de código abierto bajo la licencia MIT y se [hosted on GitHub](https://github.com/aws/amazon-cloudwatch-agent/) (aloja en GitHub). Si desea crear, personalizar el agente de CloudWatch o contribuir con él, consulte el repositorio de GitHub para obtener las instrucciones más recientes. Si cree que ha encontrado un problema de seguridad potencial, no lo publique en GitHub ni en ningún foro público. En su lugar, siga las instrucciones de [Vulnerability Reporting](https://aws.amazon.com/security/vulnerability-reporting/) (Informes de vulnerabilidad) o [envíele un correo electrónico a seguridad de AWS directamente](mailto:aws-security@amazon.com).

Puede descargar e instalar el agente de CloudWatch manualmente con la línea de comandos o puede integrarlo con AWS Systems Manager. El flujo general de la instalación del agente de CloudWatch es el siguiente:

1. Cree roles o usuarios de IAM que permitan que el agente recopile métricas del servidor y, de manera opcional, integre con AWS Systems Manager.

1. Descargue del paquete del agente.

1. Modifique el archivo de configuración del agente de CloudWatch y especifique las métricas que desea recopilar.

1. Instale e inicie el agente en sus servidores.

**Topics**
+ [Sistemas operativos compatibles](supported-operating-systems.md)
+ [Requisitos previos](prerequisites.md)
+ [Descargue del paquete de del agente de CloudWatch](download-CloudWatch-Agent-on-EC2-Instance-commandline-first.md)
+ [Verificación de la firma del paquete del agente de CloudWatch](verify-CloudWatch-Agent-Package-Signature.md)
+ [Instalación del agente de CloudWatch](install-CloudWatch-Agent-on-EC2-Instance.md)
+ [Configuración del agente de CloudWatch con Linux con seguridad mejorada (SELinux)](CloudWatch-Agent-SELinux.md)
+ [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md)
+ [Inicio del agente de CloudWatch](start-CloudWatch-Agent-on-premise-SSM-onprem.md)
+ [Métricas que el agente de CloudWatch ha recopilado](metrics-collected-by-CloudWatch-agent.md)
+ [Uso del agente de CloudWatch con la telemetría relacionada](CloudWatch-Agent-RelatedEntities.md)
+ [Escenarios comunes con el agente de CloudWatch](CloudWatch-Agent-common-scenarios.md)
+ [Preferencia de credenciales del agente de CloudWatch](CloudWatch-Agent-Credentials-Preference.md)
+ [Solución de problemas del agente de CloudWatch](troubleshooting-CloudWatch-Agent.md)

# Sistemas operativos compatibles
<a name="supported-operating-systems"></a>

El agente de CloudWatch es compatible con los siguientes sistemas operativos:

## arquitectura x86-64
<a name="x86-64-support"></a>
+ Amazon Linux 2023
+ Amazon Linux 2
+ Ubuntu Server versiones 25.04, 24.04 y 22.04
+ Red Hat Enterprise Linux (RHEL) versiones 10, 9 y 8
+ Debian versión 12
+ SUSE Linux Enterprise Server (SLES), versión 15
+ Oracle versiones 9 y 8
+ AlmaLinux, versiones 10, 9 y 8
+ Rocky Linux, versiones 10, 9 y 8
+ Equipos macOS: instancias de EC2 M1 Mac1 y equipos con macOS 14 (Sonoma), macOS 13 (Ventura) y macOS 12 (Monterey)
+ Windows Server 2025, Windows Server 2022, Windows Server 2019 y Windows Server 2016
+ Windows 11
+ Windows 10 de 64 bits

## Arquitectura ARM64
<a name="arm64-support"></a>
+ Amazon Linux 2023
+ Amazon Linux 2
+ Servidor Ubuntu versión 22.04
+ Red Hat Enterprise Linux (RHEL), versiones 9 y 8
+ Debian versión 12
+ SUSE Linux Enterprise Server 15
+ Equipos macOS: macOS 14 (Sonoma), macOS 13 (Ventura) y macOS 12 (Monterey)

# Requisitos previos
<a name="prerequisites"></a>

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

## Roles y usuarios de IAM para el agente de CloudWatch
<a name="iam-setup"></a>

Para obtener acceso a los recursos de AWS se necesitan permisos. Puede crear un rol de IAM, un usuario de IAM o ambos para conceder permisos que el agente de CloudWatch necesita para registrar métricas en CloudWatch.

### Crear un rol de IAM para las instancias de Amazon EC2
<a name="iam-role-ec2"></a>

Si va a ejecutar el agente de CloudWatch en instancias de Amazon EC2, cree un rol de IAM con los permisos necesarios.

1. Inicie sesión en AWS Management Console y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, elija **Roles** y, a continuación, **Crear rol**.

1. Asegúrese de que el **servicio de AWS** esté seleccionado en **Trusted entity type** (Tipo de entidad de confianza).

1. En **Caso de uso**, elija **EC2** bajo **Casos de uso comunes**.

1. Elija **Siguiente**.

1. En la lista de políticas, seleccione la casilla junto a **CloudWatchAgentServerPolicy**. Si es necesario, utilice el cuadro de búsqueda para encontrar la política.

1. Elija **Siguiente**.

1. En **Nombre del rol**, ingrese un nombre para su rol, por ejemplo, `CloudWatchAgentServerRole`. Si lo desea, proporcione una descripción. A continuación, elija **Crear rol**.

(Opcional) Si el agente va a enviar registros a CloudWatch Logs y desea que el agente pueda establecer políticas de retención para estos grupos de registros, debe agregar el permiso `logs:PutRetentionPolicy` al rol.

### Crear un usuario de IAM para los servidores en las instalaciones
<a name="iam-user-onprem"></a>

Si va a ejecutar el agente de CloudWatch en servidores en las instalaciones, cree un usuario de IAM con los permisos necesarios.

**nota**  
En este escenario, se requieren usuarios de IAM con acceso programático y credenciales de larga duración, lo que supone un riesgo de seguridad. Para ayudar a mitigar este riesgo, le recomendamos que brinde a estos usuarios únicamente los permisos que necesitan para realizar la tarea y que los elimine cuando ya no los necesiten.

1. Inicie sesión en AWS Management Console y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, elija **Usuarios** y, a continuación, **Agregar usuarios**.

1. Escriba el nombre de usuario del nuevo usuario.

1. Seleccione **Answer key - Programmatic access** (Clave de acceso: acceso mediante programación) y elija **Next: Permissions** (Siguiente: permisos).

1. Elija **Asociar políticas existentes directamente**.

1. En la lista de políticas, seleccione la casilla junto a **CloudWatchAgentServerPolicy**. Si es necesario, utilice el cuadro de búsqueda para encontrar la política.

1. Elija **Siguiente: etiquetas**.

1. Si así lo desea, cree etiquetas para el nuevo IAM y, a continuación, elija **Siguiente: revisar**.

1. Confirme que se muestra la política correcta y elija **Create user** (Crear usuario).

1. Junto al nombre del usuario nuevo, elija **Show**. Copie la clave de acceso y la clave secreta en un archivo para que pueda usarlas al instalar el agente. Seleccione **Cerrar**.

### Adjuntar un rol de IAM a una instancia de Amazon EC2
<a name="attach-iam-role"></a>

Para que el agente de CloudWatch pueda enviar datos desde una instancia de Amazon EC2, debe adjuntar un rol de IAM que haya creado a la instancia.

Para obtener más información sobre cómo adjuntar un rol de IAM a una instancia, consulte [Adjuntar un rol de IAM a una instancia](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 Elastic Compute Cloud.

### Permitir que el agente de CloudWatch establezca la política de retención de registros
<a name="CloudWatch-Agent-PutLogRetention"></a>

Puede configurar el agente de CloudWatch de manera que establezca la política de retención de los grupos de registros a los cuales envía eventos de registro. Si hace esto, debe conceder la `logs:PutRetentionPolicy` al rol o el usuario de IAM que utiliza el agente. El agente utiliza un rol de IAM para ejecutarlo en las instancias de Amazon EC2 y un usuario de IAM para los servidores en las instalaciones.

**Para conceder al rol de IAM del agente de CloudWatch permiso para establecer políticas de retención de registros**

1. Inicie sesión en Consola de administración de AWS y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación izquierdo, elija **Roles**.

1. En el cuadro de búsqueda, escriba el principio del nombre del rol de IAM del agente de CloudWatch. Eligió este nombre cuando creó el rol. Podría llamarse `CloudWatchAgentServerRole`.

   Cuando vea el rol, elija su nombre.

1. En la pestaña **Permissions** (Permisos), elija **Add permissions** (Agregar permisos) y, luego, **Create inline policy** (Crear política insertada).

1. Elija la pestaña **JSON** y copie la siguiente política en el cuadro, de manera que se reemplaza el JSON predeterminado del cuadro:

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

****  

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

------

1. Elija **Revisar política**.

1. Para **Name** (Nombre), ingrese **CloudWatchAgentPutLogsRetention** o algo similar, y elija **Create policy** (Crear política).

**Para conceder al usuario de IAM del agente de CloudWatch permiso para establecer políticas de retención de registros**

1. Inicie sesión en Consola de administración de AWS y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación izquierdo, elija **Usuarios**.

1. En el cuadro de búsqueda, escriba el principio del nombre del usuario de IAM del agente de CloudWatch. Eligió este nombre cuando creó el usuario.

   Cuando vea al usuario, elija su nombre.

1. En la pestaña **Permissions** (Permisos), elija **Add inline policy** (Añadir política insertada).

1. Elija la pestaña **JSON** y copie la siguiente política en el cuadro, de manera que se reemplaza el JSON predeterminado del cuadro:

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

****  

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

------

1. Elija **Revisar política**.

1. Para **Name** (Nombre), ingrese **CloudWatchAgentPutLogsRetention** o algo similar, y elija **Create policy** (Crear política).

## Requisitos de red
<a name="network-requirements"></a>

**nota**  
Cuando el servidor esté en una subred pública, asegúrese de que haya acceso a una puerta de enlace de Internet. Cuando el servidor se encuentra en una subred privada, se accede a través de las puertas de enlace de NAT o del punto de conexión de VPC. Para más información sobre las puertas de enlace de NAT, consulte [https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).

Las instancias de Amazon EC2 deben tener acceso a Internet de subida para poder enviar datos a CloudWatch o a CloudWatch Logs. 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.

### Uso de puntos de conexión de VPC
<a name="vpc-endpoints"></a>

Si utiliza una VPC y quiere utilizar el agente de CloudWatch sin acceso público a Internet, puede configurar los puntos de conexión de VPC para CloudWatch y CloudWatch Logs.

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 añadir a la lista de permitidos los puntos de enlace de CloudWatch para las regiones apropiadas. Estos puntos de conexión se enumeran en los [puntos de conexión y las cuotas de Amazon CloudWatch.](https://docs.aws.amazon.com/general/latest/gr/cw_region.html)
+ Si va a utilizar el agente para recopilar registros, debe añadir a la lista de permitidos los puntos de enlace de CloudWatch para las regiones apropiadas. Estos puntos de conexión se enumeran en los [puntos de conexión y las cuotas de Registros de Amazon CloudWatch](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html).
+ Si va a utilizar el Systems Manager para instalar el agente o el almacén de parámetros para almacenar el archivo de configuración, debe añadir a la lista de permitidos los puntos de enlace del Systems Manager para las regiones apropiadas. Estos puntos de conexión se muestran en [Puntos de conexión de AWS Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html).

# Descargue del paquete de del agente de CloudWatch
<a name="download-CloudWatch-Agent-on-EC2-Instance-commandline-first"></a>

**nota**  
Para descargar el agente de CloudWatch, la conexión debe usar la TLS 1.2 o una versión posterior.

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. Asimismo, debe asegurarse de que el rol de IAM asociado a la instancia tenga adjunto **CloudWatchAgentServerPolicy**. 

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

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

Para cada enlace de descarga, hay un enlace general y enlaces para cada región de AWS.

Si utiliza los enlaces específicos de la región, sustituya la región predeterminada (*us-east-1*) por la región correspondiente a la cuenta. Por ejemplo, para Amazon Linux 2023, Amazon Linux 2 y la arquitectura x86-64, tres de los enlaces de descarga válidos son:
+ `https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm`
+ `https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm`
+ `https://amazoncloudwatch-agent-eu-central-1.s3.eu-central-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm`

También puede descargar un archivo README sobre los últimos cambios realizados en el agente y un archivo que indique el número de versión que está disponible para su descarga. Estos archivos se encuentran en las siguientes ubicaciones:

**nota**  
Si utiliza los enlaces específicos de la región, sustituya la región predeterminada (*us-east-1*) por la región correspondiente a la cuenta.
+ `https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/RELEASE_NOTES` o `https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/info/latest/RELEASE_NOTES`
+ `https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/CWAGENT_VERSION` o `https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/info/latest/CWAGENT_VERSION`


| Arquitectura | Plataforma | Enlace de descarga | Enlace de archivo de firma | 
| --- | --- | --- | --- | 
|  x86-64 |  Amazon Linux 2023 y Amazon Linux 2  |  https://amazoncloudwatch-agent.s3.amazonaws.com/amazon\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/amazon\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/amazon\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/amazon\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  Centos  |  https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  Redhat  |  https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  SUSE  |  https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  Debian  |  https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb  |  https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig  | 
|  x86-64 |  Ubuntu  |  https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb  |  https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig  | 
|  x86-64 |  Oracle  |  https://amazoncloudwatch-agent.s3.amazonaws.com/oracle\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/oracle\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/oracle\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/oracle\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  macOS  |  https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg  |  https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig  | 
|  x86-64 |  Windows  |  https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi  |   https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig  https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig  | 
|  ARM64 |  Amazon Linux 2023 y Amazon Linux 2  |  https://amazoncloudwatch-agent.s3.amazonaws.com/amazon\$1linux/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/amazon\$1linux/arm64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/amazon\$1linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/amazon\$1linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  ARM64 |  Redhat  |  https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  ARM64 |  Ubuntu  |  https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb  |  https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig  | 
|  ARM64 |  Debian  |  https://amazoncloudwatch-agent.s3.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb  |  https://amazoncloudwatch-agent.s3.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb.sig  | 
|  ARM64 |  SUSE  |  https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  ARM64 |  MacOS  |  https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/arm64/latest/amazon-cloudwatch-agent.pkg https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/darwin/arm64/latest/amazon-cloudwatch-agent.pkg  |  https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/arm64/latest/amazon-cloudwatch-agent.pkg.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/darwin/arm64/latest/amazon-cloudwatch-agent.pkg.sig  | 

# Verificación de la firma del paquete del agente de CloudWatch
<a name="verify-CloudWatch-Agent-Package-Signature"></a>

 Se incluyen archivos de firma GPG para los paquetes de agente de CloudWatch en servidores Linux. Puede utilizar la clave pública para verificar que el archivo de descarga del agente sea original y no se haya modificado. 

 Para Windows Server, puede utilizar MSI para verificar la firma. En el caso de los equipos macOS, la firma se incluye en el paquete de descarga del agente. 

 Para buscar el archivo de firma correcto, consulte la siguiente tabla. Para cada arquitectura y sistema operativo, puede consultar el enlace general y los enlaces para cada región. 

Si utiliza los enlaces específicos de la región, sustituya la región predeterminada (*us-east-1*) por la región correspondiente a la cuenta. Por ejemplo, para Amazon Linux 2023, Amazon Linux 2 y la arquitectura x86-64, tres de los enlaces válidos son:
+ `https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig`
+ `https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm`
+ `https://amazoncloudwatch-agent-eu-central-1.s3.eu-central-1.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm`

**nota**  
Para descargar el agente de CloudWatch, la conexión deben usar la TLS 1.2 o una versión posterior.


| Arquitectura | Plataforma | Enlace de descarga | Enlace de archivo de firma | 
| --- | --- | --- | --- | 
|  x86-64 |  Amazon Linux 2023 y Amazon Linux 2  |  https://amazoncloudwatch-agent.s3.amazonaws.com/amazon\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/amazon\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/amazon\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/amazon\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  Centos  |  https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  Redhat  |  https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  SUSE  |  https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  Debian  |  https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb  |  https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig  | 
|  x86-64 |  Ubuntu  |  https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb  |  https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig  | 
|  x86-64 |  Oracle  |  https://amazoncloudwatch-agent.s3.amazonaws.com/oracle\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/oracle\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/oracle\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/oracle\$1linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  x86-64 |  macOS  |  https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg  |  https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig  | 
|  x86-64 |  Windows  |  https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi  |   https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig  https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig  | 
|  ARM64 |  Amazon Linux 2023 y Amazon Linux 2  |  https://amazoncloudwatch-agent.s3.amazonaws.com/amazon\$1linux/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/amazon\$1linux/arm64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/amazon\$1linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/amazon\$1linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  ARM64 |  Redhat  |  https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig  | 
|  ARM64 |  Ubuntu  |  https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb  |  https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig  | 
|  ARM64 |  Debian  |  https://amazoncloudwatch-agent.s3.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb  |  https://amazoncloudwatch-agent.s3.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/debian/arm64/latest/amazon-cloudwatch-agent.deb.sig  | 
|  ARM64 |  SUSE  |  https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm  |  https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig https://amazoncloudwatch-agent-*us-east-1*.s3.*us-east-1*.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig  | 

**Para verificar el paquete de agente de CloudWatch en un servidor Linux**

1. Descargue la clave pública.

   ```
   shell$ wget https://amazoncloudwatch-agent.s3.amazonaws.com/assets/amazon-cloudwatch-agent.gpg
   ```

1. Importe la clave pública en su llavero.

   ```
   shell$  gpg --import amazon-cloudwatch-agent.gpg
   gpg: key 3B789C72: public key "Amazon CloudWatch Agent" imported
   gpg: Total number processed: 1
   gpg: imported: 1 (RSA: 1)
   ```

   Anote el valor de clave, ya que lo necesitará en el siguiente paso. En el ejemplo anterior, el valor de la clave es `3B789C72`.

1. Verifique la huella digital ejecutando el siguiente comando, sustituyendo el *valor de la clave* por el valor del paso anterior:

   ```
   shell$  gpg --fingerprint key-value
   pub   2048R/3B789C72 2017-11-14
         Key fingerprint = 9376 16F3 450B 7D80 6CBD  9725 D581 6730 3B78 9C72
   uid                  Amazon CloudWatch Agent
   ```

   La cadena de huella debería ser igual a la siguiente:

   `9376 16F3 450B 7D80 6CBD 9725 D581 6730 3B78 9C72`

   Si la cadena de huellas digitales no coincide, no instale el agente. Contáctese con Amazon Web Services.

   Después de haber verificado la huella, puede utilizarla para verificar la firma del paquete de agente de CloudWatch.

1. Descargue el archivo de firma del paquete mediante **wget**. Para determinar el archivo de firma correcto, consulte la tabla anterior:

   ```
   wget Signature File Link
   ```

1. Para verificar la firma, ejecute **gpg --verify**.

   ```
   shell$ gpg --verify signature-filename agent-download-filename
   gpg: Signature made Wed 29 Nov 2017 03:00:59 PM PST using RSA key ID 3B789C72
   gpg: Good signature from "Amazon CloudWatch Agent"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: 9376 16F3 450B 7D80 6CBD  9725 D581 6730 3B78 9C72
   ```

   Si el resultado incluye la expresión `BAD signature`, compruebe si ha realizado el procedimiento correctamente. Si sigue recibiendo esta respuesta, contáctese con Amazon Web Services y evite usar el archivo descargado.

   Tenga en cuenta la advertencia sobre confianza. Una clave solo es de confianza si la ha firmado usted o alguien en quien confíe. Esto no significa que la firma no sea válida, solo que no ha verificado la clave pública.

**Para verificar el paquete de agente de CloudWatch en un servidor con Windows Server**

1. Descargue e instale GnuPG para Windows desde [https://gnupg.org/download/](https://gnupg.org/download/). Al realizar la instalación, incluya la opción **Shell Extension (GpgEx)**.

   Puede realizar los pasos restantes en Windows PowerShell.

1. Descargue la clave pública.

   ```
   PS> wget https://amazoncloudwatch-agent.s3.amazonaws.com/assets/amazon-cloudwatch-agent.gpg -OutFile amazon-cloudwatch-agent.gpg
   ```

1. Importe la clave pública en su llavero.

   ```
   PS>  gpg --import amazon-cloudwatch-agent.gpg
   gpg: key 3B789C72: public key "Amazon CloudWatch Agent" imported
   gpg: Total number processed: 1
   gpg: imported: 1 (RSA: 1)
   ```

   Anote el valor de clave, ya que lo necesitará en el siguiente paso. En el ejemplo anterior, el valor de la clave es `3B789C72`.

1. Verifique la huella digital ejecutando el siguiente comando, sustituyendo el *valor de la clave* por el valor del paso anterior:

   ```
   PS>  gpg --fingerprint key-value
   pub   rsa2048 2017-11-14 [SC]
         9376 16F3 450B 7D80 6CBD  9725 D581 6730 3B78 9C72
   uid           [ unknown] Amazon CloudWatch Agent
   ```

   La cadena de huella debería ser igual a la siguiente:

   `9376 16F3 450B 7D80 6CBD 9725 D581 6730 3B78 9C72`

   Si la cadena de huellas digitales no coincide, no instale el agente. Contáctese con Amazon Web Services.

   Después de haber verificado la huella, puede utilizarla para verificar la firma del paquete de agente de CloudWatch.

1. Descargue el archivo de firma del paquete mediante wget. Para determinar cuál es el archivo de firma correcto, consulte [Enlaces de descarga del agente de CloudWatch](download-CloudWatch-Agent-on-EC2-Instance-commandline-first.md#agent-download-link-table).

1. Para verificar la firma, ejecute **gpg --verify**.

   ```
   PS> gpg --verify sig-filename agent-download-filename
   gpg: Signature made 11/29/17 23:00:45 Coordinated Universal Time
   gpg:                using RSA key D58167303B789C72
   gpg: Good signature from "Amazon CloudWatch Agent" [unknown]
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: 9376 16F3 450B 7D80 6CBD  9725 D581 6730 3B78 9C72
   ```

   Si el resultado incluye la expresión `BAD signature`, compruebe si ha realizado el procedimiento correctamente. Si sigue recibiendo esta respuesta, contáctese con Amazon Web Services y evite usar el archivo descargado.

   Tenga en cuenta la advertencia sobre confianza. Una clave solo es de confianza si la ha firmado usted o alguien en quien confíe. Esto no significa que la firma no sea válida, solo que no ha verificado la clave pública.

**Para verificar el paquete del agente de CloudWatch en un equipo con macOS**
+ Existen dos métodos para la verificación de firma en macOS.
  + Verifique la huella mediante la ejecución del siguiente comando:

    ```
    pkgutil --check-signature amazon-cloudwatch-agent.pkg
    ```

    Se debería ver un resultado similar al siguiente:

    ```
    Package "amazon-cloudwatch-agent.pkg":
            Status: signed by a developer certificate issued by Apple for distribution
            Signed with a trusted timestamp on: 2020-10-02 18:13:24 +0000
            Certificate Chain:
            1. Developer ID Installer: AMZN Mobile LLC (94KV3E626L)
            Expires: 2024-10-18 22:31:30 +0000
            SHA256 Fingerprint:
            81 B4 6F AF 1C CA E1 E8 3C 6F FB 9E 52 5E 84 02 6E 7F 17 21 8E FB
            0C 40 79 13 66 8D 9F 1F 10 1C
            ------------------------------------------------------------------------
            2. Developer ID Certification Authority
            Expires: 2027-02-01 22:12:15 +0000
            SHA256 Fingerprint:
            7A FC 9D 01 A6 2F 03 A2 DE 96 37 93 6D 4A FE 68 09 0D 2D E1 8D 03
            F2 9C 88 CF B0 B1 BA 63 58 7F
            ------------------------------------------------------------------------
            3. Apple Root CA
            Expires: 2035-02-09 21:40:36 +0000
            SHA256 Fingerprint:
            B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C
            68 C5 BE 91 B5 A1 10 01 F0 24
    ```
  + O bien, descargue y use el archivo .sig; para utilizar este método, siga estos pasos.

    1. Instale la aplicación GPG en el host de macOS al ingresar el siguiente comando.

      ```
      brew install GnuPG
      ```
  + Descargue el archivo SIGNATURE del paquete mediante curl. Para determinar cuál es el archivo de firma correcto, consulte [Enlaces de descarga del agente de CloudWatch](download-CloudWatch-Agent-on-EC2-Instance-commandline-first.md#agent-download-link-table).
  + Para verificar la firma, ejecute **gpg --verify**.

    ```
    PS> gpg --verify sig-filename agent-download-filename
    gpg: Signature made 11/29/17 23:00:45 Coordinated Universal Time
    gpg:                using RSA key D58167303B789C72
    gpg: Good signature from "Amazon CloudWatch Agent" [unknown]
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: 9376 16F3 450B 7D80 6CBD  9725 D581 6730 3B78 9C72
    ```

    Si el resultado incluye la expresión `BAD signature`, compruebe si ha realizado el procedimiento correctamente. Si sigue recibiendo esta respuesta, contáctese con Amazon Web Services y evite usar el archivo descargado.

    Tenga en cuenta la advertencia sobre confianza. Una clave solo es de confianza si la ha firmado usted o alguien en quien confíe. Esto no significa que la firma no sea válida, solo que no ha verificado la clave pública.

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

# Configuración del agente de CloudWatch con Linux con seguridad mejorada (SELinux)
<a name="CloudWatch-Agent-SELinux"></a>

Si su sistema tiene habilitado Linux con seguridad mejorada (SELinux), debe aplicar las políticas de seguridad adecuadas para garantizar que el agente de CloudWatch se ejecute en un dominio confinado. 

## Requisitos previos
<a name="CloudWatch-Agent-SELinux-prerequisites"></a>

Antes de poder configurar SELinux para el agente, compruebe los siguientes **requisitos previos:**

**Cómo completar los requisitos previos para usar el agente de CloudWatch con SELinux**

1. Si aún no lo ha hecho, instale los siguientes paquetes de desarrollo de políticas de SELinux:

   ```
   sudo yum update
   sudo yum install -y selinux-policy-devel policycoreutils-devel rpm-build git
   ```

1. Ejecute el siguiente comando para comprobar el estado de SELinux de su sistema:

   ```
   sestatus
   ```

   Ejemplo de código de salida:

   ```
   SELinux status:                 enabled
   SELinuxfs mount:                /sys/fs/selinux
   SELinux root directory:         /etc/selinux
   Loaded policy name:             targeted
   Current mode:                   permissive
   Mode from config file:          permissive
   Policy MLS status:              enabled
   Policy deny_unknown status:     allowed
   Memory protection checking:     actual (secure)
   Max kernel policy version:      33
   ```

   Si encuentra que SELinux está actualmente deshabilitado, haga lo siguiente:

   1. Abra el archivo SELinux introduciendo el siguiente comando:

      ```
      sudo vi /etc/selinux/config
      ```

   1. Establezca el parámetro `SELINUX` en `permissive` o `enforcing`. Por ejemplo:

      ```
      SELINUX=enforcing
      ```

   1. Guarde el archivo y reinicie el sistema para aplicar los cambios.

      ```
      sudo reboot
      ```

1. Asegúrese de que el agente de CloudWatch se esté ejecutando como un servicio de `systemd`. Esto es necesario para usarlo dentro de un dominio SELinux confinado.

   ```
   sudo systemctl status amazon-cloudwatch-agent
   ```

   Si el agente está configurado correctamente, la salida debería indicar que está `active (running)` y `enabled` al iniciarse.

## Configuración de SELinux para el agente
<a name="CloudWatch-Agent-SELinux-configure"></a>

Después de completar los requisitos previos, puede configurar SELinux.

**Configuración de SELinux para el agente de CloudWatch**

1. Clone la política de SELinux para el agente de CloudWatch introduciendo el siguiente comando:

   ```
   git clone https://github.com/aws/amazon-cloudwatch-agent-selinux.git
   ```

1. Navegue hasta el repositorio clonado y, a continuación, actualice los permisos del script introduciendo los siguientes comandos:

   ```
   cd amazon-cloudwatch-agent-selinux  
   chmod +x amazon_cloudwatch_agent.sh
   ```

1. Utilice `sudo` para ejecutar el script de instalación de la política de SELinux introduciendo el siguiente comando. Durante la ejecución, el script le pide que introduzca `y` o `n` para permitir el reinicio automático. Este reinicio garantiza que el agente pase al dominio SELinux correcto.

   ```
   sudo ./amazon_cloudwatch_agent.sh
   ```

1. Si el agente de CloudWatch aún no se ha reiniciado, reinícielo para asegurarse de que pasa al dominio SELinux correcto:

   ```
   sudo systemctl restart amazon-cloudwatch-agent
   ```

1. Verifique que el agente de CloudWatch se está ejecutando en el dominio confinado el ingresar el siguiente comando:

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

   Si el agente está confinado correctamente, la salida debería indicar un dominio confinado a SELinux en lugar de `unconfined_service_t`.

   A continuación se muestra un ejemplo de salida cuando el agente está confinado correctamente.

   ```
   system_u:system_r:confined_t:s0 root 1234 1 0 12:00 ? 00:00:10 /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent
   ```

Una vez configurado SELinux, puede continuar con la configuración del agente para recopilar métricas, registros y seguimientos. 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).

# Cree el archivo de configuración del agente de CloudWatch
<a name="create-cloudwatch-agent-configuration-file"></a>

Antes de ejecutar el agente de CloudWatch en un servidor, debe crear uno o más archivos de configuración del agente de CloudWatch. 

El archivo de configuración del agente es un archivo JSON que especifica las métricas, registros y seguimientos que debe recopilar el agente, incluidas las métricas personalizadas. Puede crearlo mediante el asistente o desde cero. También puede utilizar el asistente para crear inicialmente el archivo de configuración y, a continuación, modificarlo manualmente. Si lo crea o lo modifica manualmente, el proceso es más complejo, pero dispone de más control sobre las métricas recopiladas y puede especificar métricas no disponibles en el asistente.

Cada vez que cambie el archivo de configuración del agente, debe reiniciar el agente para que los cambios surtan efecto. Para reiniciar el agente, siga las instrucciones que se describen en [(Opcional) Modifique la configuración común y el perfil con nombre para el agente de CloudWatch](installing-cloudwatch-agent-ssm.md#CloudWatch-Agent-profile-instance-fleet).

Una vez que haya creado un archivo de configuración, puede guardarlo manualmente como un archivo JSON y, a continuación, utilizar este archivo al instalar el agente en sus servidores. Si lo prefiere, se puede almacenar en el almacén de parámetros de Systems Manager si va a utilizar Systems Manager al instalar el agente en los servidores.

El agente de CloudWatch admite el uso de varios archivos de configuración. Para obtener más información, consulte [Creación de varios archivos de configuración del agente de CloudWatch](#CloudWatch-Agent-multiple-config-files).

Las métricas, los registros y los seguimientos recopilados por el agente de CloudWatch conllevan cargos. Para obtener más información sobre precios, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing).

**Topics**
+ [Cree el archivo de configuración del agente de CloudWatch con el asistente](create-cloudwatch-agent-configuration-file-wizard.md)
+ [Creación de varios archivos de configuración del agente de CloudWatch](#CloudWatch-Agent-multiple-config-files)
+ [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md)

# Cree el archivo de configuración del agente de CloudWatch con el asistente
<a name="create-cloudwatch-agent-configuration-file-wizard"></a>

 El asistente de archivos de configuración del agente, `amazon-cloudwatch-agent-config-wizard`, hace una serie de preguntas para ayudarle a configurar el agente de CloudWatch según sus necesidades. En esta sección se describen las credenciales necesarias para el archivo de configuración. Describe cómo se ejecuta el asistente de configuración del agente de CloudWatch. También describe las métricas predefinidas en el asistente. 

## Credenciales obligatorias
<a name="create-cloudwatch-agent-wizard-credentials"></a>

El asistente puede detectar automáticamente las credenciales y la región de AWS que debe usar si dispone de los archivos de credenciales y de configuración de AWS antes de iniciar el asistente. Para obtener más información acerca de estos archivos, consulte [Configuration and Credential Files](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html) (Archivos de configuración y credenciales) en la *Guía del usuario de AWS Systems Manager*.

En el archivo de credenciales de AWS, el asistente comprueba las credenciales predeterminadas y también busca una sección `AmazonCloudWatchAgent` como la siguiente:

```
[AmazonCloudWatchAgent]
aws_access_key_id = my_access_key
aws_secret_access_key = my_secret_key
```

El asistente muestra las credenciales predeterminadas, las credenciales de `AmazonCloudWatchAgent` y una opción `Others`. Puede seleccionar las credenciales que desea utilizar. Si elige `Others`, puede especificar las credenciales.

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

En el archivo de configuración de AWS, puede especificar la región a la que el agente envía métricas, si es diferente de la sección `[default]`. El valor predeterminado es publicar las métricas en la región donde se encuentra la instancia de Amazon EC2. Si las métricas se deben publicar en otra región, puede especificar dicha región aquí. En el siguiente ejemplo, las métricas se publican en la región `us-west-1`.

```
[AmazonCloudWatchAgent]
region = us-west-1
```

## Ejecute el asistente de configuración del agente de CloudWatch
<a name="cloudwatch-agent-running-wizard"></a>

**Para crear el archivo de configuración del agente de CloudWatch**

1. Inicie el asistente de configuración del agente de CloudWatch al ingresar lo siguiente:

   ```
   sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
   ```

   En un servidor que ejecute Windows Server, ejecute los siguientes comandos para que puedan iniciar el asistente:

   ```
   cd "C:\Program Files\Amazon\AmazonCloudWatchAgent"
   ```

   ```
   .\amazon-cloudwatch-agent-config-wizard.exe
   ```

1. Responda a las preguntas para personalizar el archivo de configuración de su servidor.

1. Si almacena el archivo de configuración localmente, el archivo de configuración `config.json` se almacena en `/opt/aws/amazon-cloudwatch-agent/bin/` en servidores Linux y se almacena en `C:\Program Files\Amazon\AmazonCloudWatchAgent` en Windows Server. A continuación, puede copiar este archivo en otros servidores en los que desee instalar el agente.

   Si va a utilizar Systems Manager para instalar y configurar el agente, asegúrese de responder **Yes** (Sí) cuando se le pregunte si desea almacenar el archivo en el almacén de parámetros de Systems Manager. También puede optar por almacenar el archivo en el almacén de parámetros aunque no utilice SSM Agent para instalar el agente de CloudWatch. Para poder almacenar el archivo en el almacén de parámetros, debe utilizar un rol de IAM con los permisos suficientes. 

## Conjuntos predefinidos de métricas del agente de CloudWatch
<a name="cloudwatch-agent-preset-metrics"></a>

El asistente está configurado con conjuntos predefinidos de métricas, con diferentes niveles de detalle. Estos conjuntos de métricas se muestran en las siguientes tablas. Para obtener más información acerca de estas métricas, consulte [Métricas que el agente de CloudWatch ha recopilado](metrics-collected-by-CloudWatch-agent.md). 

**nota**  
El almacén de parámetros admite parámetros en los niveles estándar y avanzado. Estos niveles de parámetros no están relacionados con los niveles de detalles de métricas Basic, Estándar y Avanzado que se describen en estas tablas.

**Instancias de Amazon EC2 con Linux**


| Nivel de detalle | Métricas incluidas | 
| --- | --- | 
|  **Basic** |  **Memoria:** mem\$1used\$1percent **Disco:** disk\$1used\$1percent Las métricas de `disk` como `disk_used_percent` tienen una dimensión para `Partition`, lo que significa que el número de métricas personalizadas generadas depende del número de particiones asociadas a la instancia. El número de particiones de disco depende de la AMI que esté utilizando y del número de volúmenes de Amazon EBS que adjunte al servidor.  | 
|  **Standard** |  **CPU:** `cpu_usage_idle`, `cpu_usage_iowait`, `cpu_usage_user`, `cpu_usage_system` **Disco:** `disk_used_percent`, `disk_inodes_free` **E/S de disco:** `diskio_io_time` **Memoria:** `mem_used_percent` **Intercambio:** `swap_used_percent`  | 
|  **Avanzado** |  **CPU:** `cpu_usage_idle`, `cpu_usage_iowait`, `cpu_usage_user`, `cpu_usage_system` **Disco:** `disk_used_percent`, `disk_inodes_free` **E/S de disco:** `diskio_io_time`, `diskio_write_bytes`, `diskio_read_bytes`, `diskio_writes`, `diskio_reads` **Memoria:** `mem_used_percent` **Estado de red:** `netstat_tcp_established`, `netstat_tcp_time_wait` **Intercambio:** `swap_used_percent`  | 

**Servidores locales con Linux**


| Nivel de detalle | Métricas incluidas | 
| --- | --- | 
|  **Basic** |  **Disco:** `disk_used_percent` **E/S de disco:** `diskio_write_bytes`, `diskio_read_bytes`, `diskio_writes`, `diskio_reads` **Memoria:** `mem_used_percent` **Red:** `net_bytes_sent`, `net_bytes_recv`, `net_packets_sent`, `net_packets_recv` **Intercambio:** `swap_used_percent`  | 
|  **Standard** |  **CPU:** `cpu_usage_idle`, `cpu_usage_iowait` **Disco:** `disk_used_percent`, `disk_inodes_free` **E/S de disco:** `diskio_io_time`, `diskio_write_bytes`, `diskio_read_bytes`, `diskio_writes`, `diskio_reads` **Memoria:** `mem_used_percent` **Red:** `net_bytes_sent`, `net_bytes_recv`, `net_packets_sent`, `net_packets_recv` **Intercambio:** `swap_used_percent`  | 
|  **Avanzado** |  **CPU:** `cpu_usage_guest`, `cpu_usage_idle`, `cpu_usage_iowait`, `cpu_usage_steal`, `cpu_usage_user`, `cpu_usage_system` **Disco:** `disk_used_percent`, `disk_inodes_free` **E/S de disco:** `diskio_io_time`, `diskio_write_bytes`, `diskio_read_bytes`, `diskio_writes`, `diskio_reads`  **Memoria:** `mem_used_percent`  **Red:** `net_bytes_sent`, `net_bytes_recv`, `net_packets_sent`, `net_packets_recv` **Estado de red:** `netstat_tcp_established`, `netstat_tcp_time_wait` **Intercambio:** `swap_used_percent`  | 

**Instancias de Amazon EC2 con Windows Server**

**nota**  
Los nombres de las métricas que aparecen en esta tabla muestran el aspecto que tienen las métricas cuando se visualizan en la consola. Es posible que el nombre real de la métrica no incluya la primera palabra. Por ejemplo, el nombre real de la métrica `LogicalDisk % Free Space` es simplemente `% Free Space`.


| Nivel de detalle | Métricas incluidas | 
| --- | --- | 
|  **Basic** |  **Memoria:** `Memory % Committed Bytes In Use` **Disco lógico:** `LogicalDisk % Free Space`  | 
|  **Standard** |  **Memoria:** `Memory % Committed Bytes In Use` **Paginación:** `Paging File % Usage` **Procesador:** `Processor % Idle Time`, `Processor % Interrupt Time`, `Processor % User Time` **Disco físico:** `PhysicalDisk % Disk Time` **Disco lógico:** `LogicalDisk % Free Space`  | 
|  **Avanzado** |  **Memoria:** `Memory % Committed Bytes In Use` **Paginación:** `Paging File % Usage` **Procesador:** `Processor % Idle Time`, `Processor % Interrupt Time`, `Processor % User Time` **Disco lógico:** `LogicalDisk % Free Space` **Disco físico:** `PhysicalDisk % Disk Time`, `PhysicalDisk Disk Write Bytes/sec`, `PhysicalDisk Disk Read Bytes/sec`, `PhysicalDisk Disk Writes/sec`, `PhysicalDisk Disk Reads/sec` **TCP:** `TCPv4 Connections Established`, `TCPv6 Connections Established`  | 

**Servidor local con Windows Server**

**nota**  
Los nombres de las métricas que aparecen en esta tabla muestran el aspecto que tienen las métricas cuando se visualizan en la consola. Es posible que el nombre real de la métrica no incluya la primera palabra. Por ejemplo, el nombre real de la métrica `LogicalDisk % Free Space` es simplemente `% Free Space`.


| Nivel de detalle | Métricas incluidas | 
| --- | --- | 
|  **Basic** |  **Paginación: **`Paging File % Usage` **Procesador:** `Processor % Processor Time` **Disco lógico:**`LogicalDisk % Free Space`  **Disco físico:** `PhysicalDisk Disk Write Bytes/sec`, `PhysicalDisk Disk Read Bytes/sec`, `PhysicalDisk Disk Writes/sec`, `PhysicalDisk Disk Reads/sec` **Memoria:** `Memory % Committed Bytes In Use` **Interfaz de red:** `Network Interface Bytes Sent/sec`, `Network Interface Bytes Received/sec`, `Network Interface Packets Sent/sec`, `Network Interface Packets Received/sec`  | 
|  **Standard** |  **Paginación:** `Paging File % Usage` **Procesador:** `Processor % Processor Time`, `Processor % Idle Time`, `Processor % Interrupt Time` **Disco lógico:** `LogicalDisk % Free Space` **Disco físico:** `PhysicalDisk % Disk Time`, `PhysicalDisk Disk Write Bytes/sec`, `PhysicalDisk Disk Read Bytes/sec`, `PhysicalDisk Disk Writes/sec`, `PhysicalDisk Disk Reads/sec` **Memoria:** `Memory % Committed Bytes In Use` **Interfaz de red:** `Network Interface Bytes Sent/sec`, `Network Interface Bytes Received/sec`, `Network Interface Packets Sent/sec`, `Network Interface Packets Received/sec`  | 
|  **Avanzado** |  **Paginación:**`Paging File % Usage` **Procesador:** `Processor % Processor Time`, `Processor % Idle Time`, `Processor % Interrupt Time`, `Processor % User Time` **Disco lógico:** `LogicalDisk % Free Space` **Disco físico:** `PhysicalDisk % Disk Time`, `PhysicalDisk Disk Write Bytes/sec`, `PhysicalDisk Disk Read Bytes/sec`, `PhysicalDisk Disk Writes/sec`, `PhysicalDisk Disk Reads/sec` **Memoria:** `Memory % Committed Bytes In Use` **Interfaz de red:** `Network Interface Bytes Sent/sec`, `Network Interface Bytes Received/sec`, `Network Interface Packets Sent/sec`, `Network Interface Packets Received/sec` **TCP:** `TCPv4 Connections Established`, `TCPv6 Connections Established`  | 

# Ejemplos de archivos de configuración
<a name="create-cloudwatch-agent-configuration-file-examples"></a>

**Configuración básica de métricas de sistema** 

```
{
  "agent": {
    "metrics_collection_interval": 60,
    "region": "us-east-1"
  },
  "metrics": {
    "namespace": "MySystem",
    "metrics_collected": {
      "cpu": {
        "resources": ["*"],
        "measurement": ["usage_active", "usage_system", "usage_user"]
      },
      "mem": {
        "measurement": ["used_percent"]
      },
      "disk": {
        "resources": ["/"],
        "measurement": ["used_percent"]
      }
    },
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    }
  }
}
```

**Configuración de monitoreo del servidor web ** 

```
{
  "agent": {
    "metrics_collection_interval": 60,
    "region": "us-east-1"
  },
  "metrics": {
    "namespace": "WebServer",
    "metrics_collected": {
      "cpu": {
        "resources": ["*"],
        "measurement": ["usage_active"]
      },
      "mem": {
        "measurement": ["used_percent"]
      },
      "net": {
        "resources": ["eth0"],
        "measurement": ["bytes_sent", "bytes_recv"]
      }
    }
  },
  "logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/var/log/apache2/access.log",
            "log_group_name": "apache-access-logs",
            "log_stream_name": "{instance_id}-access"
          },
          {
            "file_path": "/var/log/apache2/error.log",
            "log_group_name": "apache-error-logs",
            "log_stream_name": "{instance_id}-error"
          }
        ]
      }
    }
  }
}
```

**Configuración del servidor de base de datos **

```
{
  "agent": {
    "metrics_collection_interval": 30,
    "region": "us-east-1"
  },
  "metrics": {
    "namespace": "DatabaseServer",
    "metrics_collected": {
      "cpu": {
        "resources": ["*"],
        "measurement": ["usage_active", "usage_iowait"]
      },
      "mem": {
        "measurement": ["used_percent", "available_percent"]
      },
      "disk": {
        "resources": ["/", "/data"],
        "measurement": ["used_percent", "inodes_free"]
      },
      "diskio": {
        "resources": ["*"],
        "measurement": ["read_bytes", "write_bytes", "io_time"]
      }
    },
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}",
      "InstanceType": "${aws:InstanceType}",
      "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
    }
  }
}
```

## Creación de varios archivos de configuración del agente de CloudWatch
<a name="CloudWatch-Agent-multiple-config-files"></a>

En los servidores Linux y Windows, puede configurar el agente de CloudWatch para que utilice varios archivos de configuración. Por ejemplo, puede utilizar un archivo de configuración común que recopile un conjunto de métricas, registros y seguimientos que siempre desea recopilar de todos los servidores de la infraestructura. Y también puede utilizar archivos de configuración adicionales que recopilen métricas de determinadas aplicaciones o en situaciones concretas.

Para realizar esta configuración, primero debe crear los archivos de configuración que desea utilizar. Los archivos de configuración que se vayan a utilizar conjuntamente en el mismo servidor deben tener nombres diferentes. Puede almacenar los archivos de configuración en los servidores o en el almacén de parámetros.

Inicie el agente de CloudWatch mediante la opción `fetch-config` y especifique el primer archivo de configuración. Para añadir el segundo archivo de configuración al agente en ejecución, utilice el mismo comando pero con la opción `append-config`. Se recopilan todas las métricas, registros y seguimientos indicados en los dos archivos de configuración. Los siguientes comandos de ejemplo ilustran este escenario mediante almacenes de configuración como archivos. La primera línea inicia el agente mediante el archivo de configuración `infrastructure.json` y la segunda añade el archivo de configuración `app.json`.

Los siguientes comandos de ejemplo son para Linux.

```
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/tmp/infrastructure.json
```

```
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/tmp/app.json
```

Los siguientes comandos de ejemplo son para Windows Server.

```
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\infrastructure.json"
```

```
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a append-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\app.json"
```

Los siguientes archivos de configuración de ejemplo ilustran un uso de esta característica. El primer archivo de configuración se utiliza para todos los servidores de la infraestructura y el segundo solo recopila los registros de una determinada aplicación y se asocia a los servidores que ejecutan dicha aplicación.

**infrastructure.json**

```
{
  "metrics": {
    "metrics_collected": {
      "cpu": {
        "resources": [
          "*"
        ],
        "measurement": [
          "usage_active"
        ],
        "totalcpu": true
      },
      "mem": {
         "measurement": [
           "used_percent"
        ]
      }
    }
  },
  "logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
            "log_group_name": "amazon-cloudwatch-agent.log"
          },
          {
            "file_path": "/var/log/messages",
            "log_group_name": "/var/log/messages"
          }
        ]
      }
    }
  }
}
```

**app.json**

```
{
    "logs": {
        "logs_collected": {
            "files": {
                "collect_list": [
                    {
                        "file_path": "/app/app.log*",
                        "log_group_name": "/app/app.log"
                    }
                ]
            }
        }
    }
}
```

Los archivos de configuración que se añadan a la configuración deben tener nombres diferentes y distintos del archivo de configuración inicial. Si utiliza `append-config` con un archivo de configuración que tiene el mismo nombre que otro que ya está utilizando el agente, el comando append sobrescribe la información del primer archivo de configuración en lugar de añadirle nuevo contenido. Esto es válido incluso si los dos archivos de configuración con el mismo nombre se encuentran en diferentes rutas de archivo.

El ejemplo anterior muestra el uso de dos archivos de configuración, pero no existe ningún límite respecto al número de archivos de configuración que se pueden añadir a la configuración del agente. También puede combinar el uso de archivos de configuración ubicados en servidores con las configuraciones ubicadas en el almacén de parámetros.

# Cree o edite de forma manual el archivo de configuración del agente de CloudWatch
<a name="CloudWatch-Agent-Configuration-File-Details"></a>

 El archivo de configuración del agente de CloudWatch es un archivo JSON con tres secciones: `agent`, `metrics`, `logs` y `traces`. 
+ La sección `agent` incluye los campos de la configuración general del agente. 
+ La sección `metrics` especifica las métricas personalizadas para la recopilación y publicación en CloudWatch. Si utiliza el agente únicamente para recopilar registros, puede omitir la sección `metrics` del archivo.
+ La sección `logs` especifica qué archivos de registro se publican en CloudWatch Logs. Se pueden incluir los eventos del registro de eventos de Windows, si el servidor ejecuta Windows Server.
+ La sección `traces` especifica las fuentes de los seguimientos que se recopilan y a las que se envían a AWS X-Ray. 

 En esta sección se explica la estructura y los campos del archivo de configuración del agente de CloudWatch. Puede ver la definición de esquema de este archivo de configuración. La definición de esquema se encuentra en `installation-directory/doc/amazon-cloudwatch-agent-schema.json` en los servidores Linux y en `installation-directory/amazon-cloudwatch-agent-schema.json` en los servidores con Windows Server. 

Si crea o edita el archivo de configuración del agente manualmente, puede asignarle cualquier nombre. Para simplificar la solución de problemas, le recomendamos que asigne el nombre `/opt/aws/amazon-cloudwatch-agent/etc/cloudwatch-agent.json` en un servidor Linux y `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json` en los servidores con Windows Server. Después de crear el archivo, puede copiarlo en otros servidores en los que desee instalar el agente.

Cuando se inicia el agente, crea una copia de cada archivo de configuración en el directorio `/opt/aws/amazon-cloudwatch/etc/amazon-cloudwatch-agent.d`, con el nombre del archivo precedido por `file_` (en el caso de orígenes de archivos locales) o `ssm_` (en el caso de orígenes del almacén de parámetros de Systems Manager) para indicar el origen de la configuración.

**nota**  
Las métricas, los registros y los seguimientos recopilados por el agente de CloudWatch conllevan cargos. Para obtener más información sobre precios, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing).

## Archivo de configuración del agente de CloudWatch: sección del agente
<a name="CloudWatch-Agent-Configuration-File-Agentsection"></a>

La sección `agent` puede incluir los siguientes campos. El asistente no crea una sección `agent`. En su lugar, el asistente la omite y usa los valores predeterminados de todos los campos de esta sección.
+ `metrics_collection_interval`: opcional. Especifica la frecuencia con que se deben recopilar todas las métricas especificadas en este archivo de configuración. Puede invalidar este valor para determinados tipos de métricas.

  Este valor se especifica en segundos. Por ejemplo, indicar 10 hace que las métricas se deben recopilar cada 10 segundos y establecerlo en 300 especifica que las métricas se deben recopilar cada 5 minutos.

  Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 

  El valor predeterminado es 60. 
+ `region`: especifica la región que se va a utilizar para el punto de enlace de CloudWatch cuando se supervisa una instancia de Amazon EC2. Las métricas recopiladas se envían a esta región, como `us-west-1`. Si omite este campo, el agente envía métricas a la región donde se encuentra la instancia de Amazon EC2.

  Si está supervisando un servidor en las instalaciones, este campo no se utiliza y el agente lee la región del perfil `AmazonCloudWatchAgent` del archivo de configuración de AWS.
+ `credentials`: especifica un rol de IAM que se usará al enviar métricas, registros y seguimientos a una cuenta de AWS diferente. Si se especifica, este campo contiene un parámetro, `role_arn`.
  + `role_arn`: especifica el nombre de recurso de Amazon (ARN) de un rol de IAM que se va a utilizar para la autenticación al enviar métricas, registros y seguimientos a una cuenta de AWS diferente. Para obtener más información, consulte [Envío de métricas, registros y seguimientos a una cuenta diferente](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account).
+ `debug`: opcional. Especifica la ejecución del agente de CloudWatch con mensajes de registro de depuración. El valor predeterminado es `false`. 
+ `aws_sdk_log_level`: opcional. Se admite en la versión 1.247350.0 y versiones posteriores del agente de CloudWatch.

  Puede especificar este campo para que el agente realice el registro para puntos de conexión SDK AWS. El valor de este campo puede incluir una o más de las siguientes opciones. Separe varias opciones con el character `|`.
  + `LogDebug`
  + `LogDebugWithSigning`
  + `LogDebugWithHTTPBody`
  + `LogDebugRequestRetries`
  + `LogDebugWithEventStreamBody`

  Para obtener más información sobre estas opciones, consulte [LogLevelType](https://docs.aws.amazon.com/sdk-for-go/api/aws/#LogLevelType).
+ `logfile`: especifica la ubicación en la que el agente de CloudWatch ingresa los mensajes de registro. Si especifica una cadena vacía, el registro se envía a stderr. Si no especifica esta opción, las ubicaciones predeterminadas son las siguientes:
  + Linux: `/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log`
  + Windows Server: `c:\\ProgramData\\Amazon\\CloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log` 

  El agente de CloudWatch rota automáticamente el archivo de registro que crea. Un archivo de registro rota cuando su tamaño alcanza los 100 MB. El agente conserva los archivos de registro rotados durante un máximo de siete días y mantiene cinco archivos de registro de copia de seguridad que se han rotado. Los archivos de registro de copia de seguridad tienen una marca temporal añadida al nombre de archivo. La marca de tiempo muestra la fecha y la hora en que se rotó el archivo (por ejemplo, )., `amazon-cloudwatch-agent-2018-06-08T21-01-50.247.log.gz`.
+ `omit_hostname`: opcional. De forma predeterminada, el nombre del host se publica como una dimensión de métricas que el agente recopila.`append_dimensions``metrics` Establezca `omit_hostname ` a `true` para evitar que el nombre de host se publique como una dimensión incluso si usted no está utilizando `append_dimensions`. El valor predeterminado es `false`. 
+ `run_as_user`: opcional. Especifica el usuario que se va a utilizar para ejecutar el agente de CloudWatch. Si no especifica este parámetro, se utiliza el usuario raíz. Esta opción solo es válida en los servidores Linux.

  Si especifica esta opción, el usuario debe haber sido creado antes de iniciar el agente de CloudWatch. Para obtener más información, consulte [Ejecución del agente de CloudWatch como otro usuario](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-run-as-user).
+ `user_agent`: opcional. Especifique la secuencia `user-agent` que utiliza el agente de CloudWatch cuando realiza llamadas a la API al backend de CloudWatch. El valor predeterminado es una cadena que consta de la versión del agente, la versión del lenguaje de programación Go que se ha utilizado para compilar el agente, el tiempo de ejecución del sistema operativo y de la arquitectura, el tiempo de compilación y los complementos habilitados.
+ `usage_data`: opcional. De forma predeterminada, el agente de CloudWatch envía datos de estado y rendimiento sobre sí mismo a CloudWatch cada vez que publica métricas o registros en CloudWatch. Estos datos no suponen ningún coste para usted. Puede impedir que el agente envíe estos datos especificando `false` para `usage_data`. Si omite este parámetro, `true` se utiliza el valor por defecto y el agente envían datos de mantenimiento y rendimiento.

  Si establece este valor en `false`, debe detener y reiniciar el agente para que surta efecto.
+ `service.name`: opcional. Especifica el nombre del servicio que se utilizará para rellenar la entidad y [buscar la telemetría relacionada](ExploreRelated.md).
+ `deployment.environment`: opcional. Especifica el nombre del entorno que se utilizará para rellenar la entidad y [buscar la telemetría relacionada](ExploreRelated.md).
+ `use_dualstack_endpoint`: opcional. Si es `true`, el agente de CloudWatch utilizará [puntos de enlace de doble pila](https://docs.aws.amazon.com/general/latest/gr/rande.html#dual-stack-endpoints) para todas las llamadas a la API.

A continuación se muestra un ejemplo de una sección `agent`.

```
"agent": {
   "metrics_collection_interval": 60,
   "region": "us-west-1",
   "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
   "debug": false,
   "run_as_user": "cwagent"
  }
```

## Archivo de configuración del agente de CloudWatch: sección de métricas
<a name="CloudWatch-Agent-Configuration-File-Metricssection"></a>

### Campos comunes para Linux y Windows
<a name="CloudWatch-Agent-Common"></a>

En los servidores con Linux o Windows Server, la sección `metrics` incluye los siguientes campos:
+ `namespace`: opcional. El espacio de nombres que se usará para las métricas recopiladas por el agente. El valor predeterminado es `CWAgent`. La longitud máxima es de 255 caracteres. A continuación, se muestra un ejemplo:

  ```
  {
    "metrics": {
      "namespace": "Development/Product1Metrics",
     ......
     },
  }
  ```
+ `append_dimensions`: opcional. Agrega las dimensiones de métricas de Amazon EC2 a todas las métricas que el agente recopila. Esto también hace que el agente no publique el nombre del host como una dimensión.

  Los únicos pares clave-valor admitidos se muestran en la siguiente lista.`append_dimensions` Cualquier otro par clave-valor se omite. El agente admite estos pares de clave-valor tal y como se muestran en la siguiente lista. No puede cambiar los valores clave para publicar nombres de dimensiones diferentes para ellos.
  + `"ImageId":"${aws:ImageId}"` establece el ID de AMI de la instancia como el valor de la dimensión `ImageId`.
  + `"InstanceId":"${aws:InstanceId}"` establece el ID de instancia de la instancia como el valor de la dimensión `InstanceId`.
  + `"InstanceType":"${aws:InstanceType}"` establece el tipo de instancia de la instancia como el valor de la dimensión `InstanceType`.
  + `"AutoScalingGroupName":"${aws:AutoScalingGroupName}"` establece el nombre del grupo de Auto Scaling de la instancia como el valor de la dimensión `AutoScalingGroupName`.

  Si desea añadir dimensiones a las métricas con pares de clave-valor arbitrarios, utilice el parámetro `append_dimensions` en el campo para ese tipo concreto de métrica.

  Si especifica un valor que depende de metadatos de Amazon EC2 y utiliza proxies, debe asegurarse de que el servidor puede obtener acceso al punto de enlace de Amazon EC2. Para obtener más información sobre estos puntos de conexión, consulte [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region) en *Referencia general de Amazon Web Services*.
+ `aggregation_dimensions`: opcional. Especifica las dimensiones que se agregarán a las métricas recopiladas. Por ejemplo, si acumula métricas en la dimensión `AutoScalingGroupName`, se agregan las métricas de todas las instancias de cada grupo de Auto Scaling y se pueden ver como un conjunto.

  Puede acumular las métricas en una o varias dimensiones. Por ejemplo, si se especifica `[["InstanceId"], ["InstanceType"], ["InstanceId","InstanceType"]]`, se agrupan las métricas por ID de instancia individualmente, por tipo de instancia individualmente y por la combinación de las dos dimensiones.

  También puede especificar `[]` para acumular todas las métricas en una sola colección y descartar todas las dimensiones.
+ `endpoint_override`: especifica un punto de enlace FIPS o un vínculo privado que se va a utilizar como punto final donde el agente envía métricas. Si lo especifica y establece un enlace privado, podrá enviar las métricas a un punto de enlace de la Amazon VPC. Para obtener más información, consulte [¿Qué es Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). 

  El valor de `endpoint_override` debe ser una cadena que sea una URL.

  Por ejemplo, la siguiente parte de la sección de métricas del archivo de configuración establece que el agente utilizará un punto de enlace de la VPC al enviar métricas. 

  ```
  {
    "metrics": {
      "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.monitoring.us-east-1.vpce.amazonaws.com",
     ......
     },
  }
  ```
+ `metrics_collected`: obligatorio. Especifica qué métricas se van a recopilar, incluidas las métricas personalizadas recopiladas a través de `StatsD` o `collectd`. Esta sección incluye varias subsecciones. 

  El contenido de la sección `metrics_collected` dependerá de si este archivo de configuración es para un servidor con Linux o Windows Server.
+ `metrics_destinations`: opcional. Especifica uno o más destinos para todas las métricas que se definen en `metrics_collected`. Si se especifica aquí, invalida el destino predeterminado de `cloudwatch`. 
  + `cloudwatch`: Amazon CloudWatch.
  + `amp`: Amazon Managed Service para Prometheus.
    + `workspace_id`: el ID correspondiente al espacio de trabajo de Amazon Managed Service para Prometheus.

  ```
  {
    "metrics": {
      "metrics_destinations": {
        "cloudwatch": {},
        "amp": {
          "workspace_id": "ws-abcd1234-ef56-7890-ab12-example"
        }
      }
    }
  }
  ```
+ `force_flush_interval`: especifica en segundos la cantidad máxima de tiempo que las métricas permanecen en el búfer de memoria antes de enviarse al servidor. Independientemente del valor de esta opción, si el tamaño de las métricas en el búfer alcanza 1 MB o 1000 métricas diferentes, las métricas se envían inmediatamente al servidor.

  El valor predeterminado es 60.
+ `credentials`: especifica un rol de IAM que se usará al enviar métricas a una cuenta diferente. Si se especifica, este campo contiene un parámetro, `role_arn`.
  + `role_arn`: especifica el ARN de un rol de IAM que se utilizará para la autenticación al enviar métricas a una cuenta diferente. Para obtener más información, consulte [Envío de métricas, registros y seguimientos a una cuenta diferente](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account). Si se especifica aquí, este valor sobrescribe el valor de `role_arn` especificado en la sección `agent` del archivo de configuración, si existe.
  + `service.name`: opcional. Especifica el nombre del servicio que se utilizará para rellenar la entidad y [buscar la telemetría relacionada](ExploreRelated.md).
  + `deployment.environment`: opcional. Especifica el nombre del entorno que se utilizará para rellenar la entidad y [buscar la telemetría relacionada](ExploreRelated.md).

### Sección de Linux
<a name="CloudWatch-Agent-Linux-section"></a>

En los servidores que ejecutan Linux, la sección `metrics_collected` del archivo de configuración también puede contener los siguientes campos.

Muchos de estos campos pueden incluir una sección `measurement` donde se muestran las métricas que se deben recopilar para ese recurso. Estas secciones `measurement` pueden especificar el nombre completo de la métrica, por ejemplo, `swap_used`, o simplemente la parte del nombre de la métrica que se añadirá al tipo de recurso. Por ejemplo, si se especifica `reads` en la sección `measurement` de la sección `diskio`, se recopilará la métrica `diskio_reads`.
+ `collectd`: opcional. Indica que desea recuperar métricas personalizadas mediante el protocolo `collectd`. El software `collectd` se utiliza para enviar las métricas al agente de CloudWatch. Para obtener más información sobre las opciones de configuración disponibles para collectd, consulte [Recuperación de las métricas personalizadas con collectd](CloudWatch-Agent-custom-metrics-collectd.md). 
+ `cpu`: opcional. Especifica qué métricas de CPU se van a recopilar. Esta sección solo es válida para las instancias de Linux. Debe incluir al menos uno de los campos `resources` y `totalcpu` para todas las métricas de CPU que se recopilen. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `resources`: opcional. Especifique este campo con un valor de `*` para provocar que se recopilen métricas por CPU. El único valor permitido es `*`. 
  + `totalcpu`: opcional. Especifica si se registrarán las métricas de cpu agregadas en todos los núcleos de cpu. El valor predeterminado es true.
  + `measurement`: especifica la matriz de métricas de la cpu que se recopilarán. Los posibles valores son `time_active`, `time_guest`, `time_guest_nice`, `time_idle`, `time_iowait`, `time_irq`, `time_nice`, `time_softirq`, `time_steal`, `time_system`, `time_user`, `usage_active`, `usage_guest`, `usage_guest_nice`, `usage_idle`, `usage_iowait`, `usage_irq`, `usage_nice`, `usage_softirq`, `usage_steal`, `usage_system` y `usage_user`. Este campo es obligatorio si incluye `cpu`.

    De forma predeterminada, la unidad de las métricas de `cpu_usage_*` es `Percent`, y las métricas de `cpu_time_*` no tienen una unidad.

    En la entrada de cada métrica individual, puede especificar, si lo desea, uno o los dos valores siguientes:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de cpu, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

    Este valor se especifica en segundos. Por ejemplo, indicar 10 hace que las métricas se deben recopilar cada 10 segundos y establecerlo en 300 especifica que las métricas se deben recopilar cada 5 minutos.

    Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions`: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de cpu. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` global que se utiliza para todos los tipos de métricas recopiladas por el agente.
+ `disk`: opcional. Especifica qué métricas de disk se recopilarán. Recopila métricas solo para los volúmenes montados. Esta sección solo es válida para las instancias de Linux. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `resources`: opcional. Especifica una matriz de puntos de montaje de disco. Este campo limita a CloudWatch para recopilar métricas únicamente de los puntos de montaje en la lista. Puede especificar `*` como el valor para recopilar métricas de todos los puntos de montaje. El valor predeterminado es recopilar métricas de todos los puntos de montaje. 
  + `measurement`: especifica la matriz de métricas de disco que se recopilarán. Los posibles valores son `free`, `total`, `used`, `used_percent`, `inodes_free`, `inodes_used` y `inodes_total`. Este campo es obligatorio si incluye `disk`.
**nota**  
Las métricas de `disk` tienen una dimensión para `Partition`, lo que significa que el número de métricas personalizadas generadas depende del número de particiones asociadas a la instancia. El número de particiones de disco depende de la AMI que esté utilizando y del número de volúmenes de Amazon EBS que adjunte al servidor.

    Para ver las unidades predeterminadas de cada métrica de `disk`, consulte [Métricas que el agente de CloudWatch recopila en instancias de Linux y de macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    En la entrada de cada métrica individual, puede especificar, si lo desea, uno o los dos valores siguientes:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + `ignore_file_system_types`: especifica los tipos de sistema de archivos que se excluirán al recopilar métricas de disco. Los valores válidos incluyen `sysfs`, `devtmpfs`, etc.
  + `drop_device`: cambiarlo a `true` hace que el `Device` no se incluya como una dimensión para las métricas de disco.

    Evitar que el `Device` se utilice como dimensión puede resultar útil en las instancias que utilizan el sistema Nitro, ya que en dichas instancias los nombres de dispositivo cambian para cada montaje de disco cuando se reinicia la instancia. Esto puede provocar que los datos de las métricas sean incoherentes y que las alarmas basadas en estas métricas pasen al estado `INSUFFICIENT DATA`.

    El valor predeterminado es `false`.
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de disco, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

    Este valor se especifica en segundos.

    Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions`: opcional. Especifique los pares de clave-valor que utilizará como dimensiones adicionales únicamente para las métricas de disco. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` que se usa para todos los tipos de métricas recopiladas por el agente.

    Un par clave-valor que puede utilizar es el siguiente. También puede especificar otros pares de clave-valor personalizados.
    + `"VolumeId":"${aws:VolumeId}"` agrega una dimensión `VolumeId` a las métricas de disco de su dispositivo de bloques. En el caso de los volúmenes de Amazon EBS, será el ID del volumen de Amazon EBS. En el caso del almacén de instancias de EC2, será el número de serie del dispositivo. Para usarlo, es necesario establecer el parámetro `drop_device` en `false`.
+ `diskio`: opcional. Especifica qué métricas de entrada/salida de disco se van a recopilar. Esta sección solo es válida para las instancias de Linux. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `resources`: opcional. Si especifica una matriz de dispositivos, CloudWatch recopila métricas solo de esos dispositivos. De lo contrario, se recopilan las métricas de todos los dispositivos. También puede especificar \$1 como el valor para recopilar métricas de todos los dispositivos.
  + `measurement`: especifica la matriz de las métricas de diskio y del controlador NVMe de AWS que se recopilarán para los volúmenes de Amazon EBS y los volúmenes del almacén de instancias de las instancias de Amazon EC2. Los posibles valores de diskio son: `reads`, `writes`, `read_bytes`, `write_bytes`, `read_time`, `write_time`, `io_time` y `iops_in_progress`. Para obtener una lista de las métricas del controlador NVMe para los volúmenes de Amazon EBS y los volúmenes de almacén de instancias de Amazon EC2, consulte [Recopilar métricas del controlador NVMe de Amazon EBS](Container-Insights-metrics-EBS-Collect.md) y [Recopilación de métricas del controlador NVMe para volúmenes del almacén de instancias de Amazon EC2](Container-Insights-metrics-instance-store-Collect.md). Este campo es obligatorio si incluye `diskio`.

    En la entrada de cada métrica individual, puede especificar, si lo desea, uno o los dos valores siguientes:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).

    Para obtener información sobre las unidades predeterminadas y la descripción de las métricas, consulte [Recopilar métricas del controlador NVMe de Amazon EBS](Container-Insights-metrics-EBS-Collect.md).
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de entrada/salida de disco, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

    Este valor se especifica en segundos.

    Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions`: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de entrada/salida de disco. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` que se usa para todos los tipos de métricas recopiladas por el agente.
+ `swap`: opcional. Especifica qué métricas de memoria de intercambio se recopilarán. Esta sección solo es válida para las instancias de Linux. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `measurement`: especifica la matriz de métricas de intercambio que se recopilarán. Los posibles valores son `free`, `used` y `used_percent`. Este campo es obligatorio si incluye `swap`.

    Para ver las unidades predeterminadas de cada métrica de `swap`, consulte [Métricas que el agente de CloudWatch recopila en instancias de Linux y de macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    En la entrada de cada métrica individual, puede especificar, si lo desea, uno o los dos valores siguientes:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de intercambio, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

    Este valor se especifica en segundos. 

    Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions`: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de intercambio. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` global que se usa para todos los tipos de métricas recopiladas por el agente. Se recopila como una métrica de alta resolución. 
+ `mem`: opcional. Especifica qué métricas de memoria se recopilarán. Esta sección solo es válida para las instancias de Linux. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `measurement`: especifica qué métricas de memoria se recopilarán. Los posibles valores son `active`, `available`, `available_percent`, `buffered`, `cached`, `free`, `inactive`, `shared`, `total`, `used` y `used_percent`. Este campo es obligatorio si incluye `mem`.

    Para ver las unidades predeterminadas de cada métrica de `mem`, consulte [Métricas que el agente de CloudWatch recopila en instancias de Linux y de macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    En la entrada de cada métrica individual, puede especificar, si lo desea, uno o los dos valores siguientes:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de memoria, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

    Este valor se especifica en segundos.

    Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions`: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de memoria. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` que se utiliza para todos los tipos de métricas recopiladas por el agente.
+ `net`: opcional. Especifica qué métricas de red se recopilarán. Esta sección solo es válida para las instancias de Linux. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `resources`: opcional. Si especifica una matriz de interfaces de red, CloudWatch recopila métricas solo de esas interfaces. De lo contrario, se recopilan las métricas de todos los dispositivos. También puede especificar `*` como el valor para recopilar métricas de todas las interfaces.
  + `measurement`: especifica la matriz de métricas de red que se recopilarán. Los valores posibles son `bytes_sent`, `bytes_recv`, `drop_in`, `drop_out`, `err_in`, `err_out`, `packets_sent` e `packets_recv`. Este campo es obligatorio si incluye `net`.

    Para ver las unidades predeterminadas de cada métrica de `net`, consulte [Métricas que el agente de CloudWatch recopila en instancias de Linux y de macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    En la entrada de cada métrica individual, puede especificar, si lo desea, uno o los dos valores siguientes:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de red, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

    Este valor se especifica en segundos. Por ejemplo, indicar 10 hace que las métricas se deben recopilar cada 10 segundos y establecerlo en 300 especifica que las métricas se deben recopilar cada 5 minutos.

    Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions`: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de red. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` que se utiliza para todos los tipos de métricas recopiladas por el agente.
+ `netstat`: opcional. Especifica que se recopilen las métricas de estado de conexión TCP y de contraseñas UDP. Esta sección solo es válida para las instancias de Linux. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `measurement`: especifica la matriz de métricas de netstat que se recopilarán. Los posibles valores son `tcp_close`, `tcp_close_wait`, `tcp_closing`, `tcp_established`, `tcp_fin_wait1`, `tcp_fin_wait2`, `tcp_last_ack`, `tcp_listen`, `tcp_none`, `tcp_syn_sent`, `tcp_syn_recv`, `tcp_time_wait` y `udp_socket`. Este campo es obligatorio si incluye `netstat`.

    Para ver las unidades predeterminadas de cada métrica de `netstat`, consulte [Métricas que el agente de CloudWatch recopila en instancias de Linux y de macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    En la entrada de cada métrica individual, puede especificar, si lo desea, uno o los dos valores siguientes:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de estado de red, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

    Este valor se especifica en segundos.

    Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics).
  + `append_dimensions`: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de estado de red. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` que se utiliza para todos los tipos de métricas recopiladas por el agente.
+ `processes`: opcional. Especifica qué métricas de proceso se recopilarán. Esta sección solo es válida para las instancias de Linux. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `measurement`: especifica la matriz de métricas de procesos que se recopilarán. Los posibles valores son `blocked`, `dead`, `idle`, `paging`, `running`, `sleeping`, `stopped`, `total`, `total_threads`, `wait` y `zombies`. Este campo es obligatorio si incluye `processes`.

    Para todas las métricas de `processes`, la unidad predeterminada es `None`.

    En la entrada de cada métrica individual, puede especificar, si lo desea, uno o los dos valores siguientes:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de proceso, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

    Este valor se especifica en segundos. Por ejemplo, indicar 10 hace que las métricas se deben recopilar cada 10 segundos y establecerlo en 300 especifica que las métricas se deben recopilar cada 5 minutos.

    Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions`: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de proceso. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` que se utiliza para todos los tipos de métricas recopiladas por el agente.
+ `nvidia_gpu`: opcional. Especifica que se recopilarán las métricas de GPU NVIDIA. Esta sección es válida solo para instancias Linux en hosts configurados con un acelerador de GPU NVIDIA y que tienen instalada la interfaz de administración del sistema NVIDIA (nvidia-smi).

  Las métricas de GPU NVIDIA que se recopilan llevan como prefijo la cadena `nvidia_smi_` para distinguirlas de las métricas recopiladas para otros tipos de aceleradores. Esta sección puede incluir los siguientes campos.
  + `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.
  + `measurement`: especifica la matriz de métricas de GPU NVIDIA que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna **Metric** (Métrica) de la tabla de [Recopilación de métricas de GPU NVIDIA](CloudWatch-Agent-NVIDIA-GPU.md).

    En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de `None` para la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de GPU NVIDIA, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.
+ `jmx`: opcional. Indica que desea recuperar métricas de Java Management Extensions (JMX) de la instancia. Para obtener más información acerca de los parámetros que puede utilizar en esta sección y las métricas que puede recopilar, consulte [Recopilación de las métricas de Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md). 
+  `otlp`: opcional. Especifica que desea recopilar métricas del SDK de OpenTelemetry. Para obtener más información sobre los campos que puede utilizar en esta sección, consulte [Recopilación de métricas y seguimientos con OpenTelemetry](CloudWatch-Agent-OpenTelemetry-metrics.md). 
+ `procstat`: opcional. Especifica que desea recuperar las métricas de procesos individuales. Para obtener más información sobre las opciones de configuración disponibles para procstat, consulte [Recopilación de las métricas de procesos con el complemento procstat](CloudWatch-Agent-procstat-process-metrics.md). 
+ `statsd`: opcional. Indica que desea recuperar métricas personalizadas mediante el protocolo `StatsD`. El agente de CloudWatch actúa como un daemon para el protocolo. Puede usar cualquier cliente `StatsD` estándar para enviar las métricas al agente de CloudWatch. Para obtener más información sobre las opciones de configuración disponibles para StatsD, consulte [Recuperación de las métricas personalizadas con StatsD](CloudWatch-Agent-custom-metrics-statsd.md). 
+ `ethtool`: opcional. Indica que desea recuperar métricas personalizadas de red mediante el complemento `ethtool`. Este complemento puede importar tanto las métricas que recopila la herramienta estándar ethtool, como también las métricas de rendimiento de red de instancias de Amazon EC2. Para obtener más información sobre las opciones de configuración disponibles para ethtool, consulte [Recopilación de las métricas de rendimiento de la red](CloudWatch-Agent-network-performance.md). 

A continuación, se ofrece un ejemplo de una sección `metrics` de un servidor Linux. En este ejemplo, se recopilan tres métricas de CPU, tres métricas de estado de red, tres métricas de proceso y una métrica de disco, y se configura el agente para recibir métricas adicionales desde un cliente de `collectd`.

```
"metrics": {
    "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"],[]],
    "metrics_collected": {
      "collectd": {},
      "cpu": {
        "resources": [
          "*"
        ],
        "measurement": [
          {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"},
          {"name": "cpu_usage_nice", "unit": "Percent"},
          "cpu_usage_guest"
        ],
        "totalcpu": false,
        "drop_original_metrics": [ "cpu_usage_guest" ],
        "metrics_collection_interval": 10,
        "append_dimensions": {
          "test": "test1",
          "date": "2017-10-01"
        }
      },
      "netstat": {
        "measurement": [
          "tcp_established",
          "tcp_syn_sent",
          "tcp_close"
        ],
        "metrics_collection_interval": 60
      },
       "disk": {
        "measurement": [
          "used_percent"
        ],
        "resources": [
          "*"
        ],
        "drop_device": true
      },  
      "processes": {
        "measurement": [
          "running",
          "sleeping",
          "dead"
        ]
      }
    },
    "append_dimensions": {
      "ImageId": "${aws:ImageId}",
      "InstanceId": "${aws:InstanceId}",
      "InstanceType": "${aws:InstanceType}",
      "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
    }
  }
```

### Windows Server
<a name="CloudWatch-Agent-Windows-section"></a>

En la sección `metrics_collected` de Windows Server, puede tener subsecciones para cada objeto de rendimiento de Windows, como `Memory`, `Processor` y `LogicalDisk`. Para obtener información sobre qué objetos y contadores están disponibles, consulte [Contadores de rendimiento](https://learn.microsoft.com/en-us/windows/win32/perfctrs/performance-counters-portal) en la documentación de Microsoft Windows.

En la subsección de cada uno de los objetos, especifique una matriz `measurement` de los contadores que se recopilarán. La matriz `measurement` es obligatoria para cada objeto que especifique en el archivo de configuración. También puede especificar un campo `resources` para asignar un nombre a las instancias de las que se recopilarán métricas. También puede especificar `*` para `resources` para recopilar métricas independientes de cada instancia. Si omite `resources` para los contadores que tienen instancias, los datos de todas las instancias se agregan en un conjunto. Si omite `resources` para los contadores que no tienen instancias, el agente de CloudWatch no recopila los contadores. Para determinar si los contadores tienen instancias, pueden usar uno de los siguientes comandos.

Powershell:

```
Get-Counter -ListSet *
```

Línea de comandos (no Powershell):

```
TypePerf.exe –q
```

En cada sección de objetos, también puede especificar los siguientes campos opcionales:
+ `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de este objeto, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

  Este valor se especifica en segundos. Por ejemplo, indicar 10 hace que las métricas se deben recopilar cada 10 segundos y establecerlo en 300 especifica que las métricas se deben recopilar cada 5 minutos.

  Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 
+ `append_dimensions`: opcional. Especifica las dimensiones adicionales que se van a utilizar únicamente para las métricas de este objeto. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` global que se utiliza para todos los tipos de métricas recopiladas por el agente. 
+ `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.

En cada sección de contadores, también puede especificar los siguientes campos opcionales:
+ `rename`: especifica un nombre diferente que se usará en CloudWatch para esta métrica.
+ `unit`: especifica la unidad que se usará para esta métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).

Existen otras secciones opcionales que puede incluir en `metrics_collected`:
+ `statsd`: permite recuperar las métricas personalizadas mediante el protocolo `StatsD`. El agente de CloudWatch actúa como un daemon para el protocolo. Puede usar cualquier cliente `StatsD` estándar para enviar las métricas al agente de CloudWatch. Para obtener más información, consulte [Recuperación de las métricas personalizadas con StatsD](CloudWatch-Agent-custom-metrics-statsd.md).
+ `procstat`: permite recuperar métricas de procesos individuales. Para obtener más información, consulte [Recopilación de las métricas de procesos con el complemento procstat](CloudWatch-Agent-procstat-process-metrics.md).
+  `jmx`: opcional. Indica que desea recuperar métricas de Java Management Extensions (JMX) de la instancia. Para obtener más información acerca de los campos que puede utilizar en esta sección y las métricas que puede recopilar, consulte [Recopilación de las métricas de Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md). 
+  `otlp`: opcional. Especifica que desea recopilar métricas del SDK de OpenTelemetry. Para obtener más información sobre los campos que puede utilizar en esta sección, consulte [Recopilación de métricas y seguimientos con OpenTelemetry](CloudWatch-Agent-OpenTelemetry-metrics.md). 

A continuación, se muestra una sección `metrics` de ejemplo para usarla en Windows Server. En este ejemplo, se recopilan muchas métricas de Windows y además se configura el equipo para que reciba métricas adicionales de un cliente de `StatsD`.

```
"metrics": {
    "metrics_collected": {
      "statsd": {},
      "Processor": {
        "measurement": [
          {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"},
          "% Interrupt Time",
          "% User Time",
          "% Processor Time"
        ],
        "resources": [
          "*"
        ],
        "append_dimensions": {
          "d1": "win_foo",
          "d2": "win_bar"
        }
      },
      "LogicalDisk": {
        "measurement": [
          {"name": "% Idle Time", "unit": "Percent"},
          {"name": "% Disk Read Time", "rename": "DISK_READ"},
          "% Disk Write Time"
        ],
        "resources": [
          "*"
        ]
      },
      "Memory": {
        "metrics_collection_interval": 5,
        "measurement": [
          "Available Bytes",
          "Cache Faults/sec",
          "Page Faults/sec",
          "Pages/sec"
        ],
        "append_dimensions": {
          "d3": "win_bo"
        }
      },
      "Network Interface": {
        "metrics_collection_interval": 5,
        "measurement": [
          "Bytes Received/sec",
          "Bytes Sent/sec",
          "Packets Received/sec",
          "Packets Sent/sec"
        ],
        "resources": [
          "*"
        ],
        "append_dimensions": {
          "d3": "win_bo"
        }
      },
      "System": {
        "measurement": [
          "Context Switches/sec",
          "System Calls/sec",
          "Processor Queue Length"
        ],
        "append_dimensions": {
          "d1": "win_foo",
          "d2": "win_bar"
        }
      }
    },
    "append_dimensions": {
      "ImageId": "${aws:ImageId}",
      "InstanceId": "${aws:InstanceId}",
      "InstanceType": "${aws:InstanceType}",
      "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
    },
    "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]]
    }
  }
```

## Archivo de configuración del agente de CloudWatch: sección de registros
<a name="CloudWatch-Agent-Configuration-File-Logssection"></a>

La sección `logs` incluye los siguientes campos:
+ `service.name`: opcional. Especifica el nombre del servicio que se utilizará para rellenar la entidad y [buscar la telemetría relacionada](ExploreRelated.md).
+ `deployment.environment`: opcional. Especifica el nombre del entorno que se utilizará para rellenar la entidad y [buscar la telemetría relacionada](ExploreRelated.md).
+ `backpressure_mode`: opcional. Especifica el comportamiento cuando el agente de CloudWatch ingiere los registros más rápido de lo que puede enviarlos a Registros de CloudWatch, lo que genera una contrapresión. La contrapresión puede deberse a problemas de red, la limitación de la API o un volumen elevado de registros.

  El agente es compatible con los siguientes valores:
  + `fd_release`: lanza descriptores de archivos para archivos eliminados en condiciones de contrapresión. Esta opción puede ayudar a evitar que se agote el espacio en disco cuando los procesos externos de rotación o limpieza de registros eliminan archivos mientras el agente mantiene abiertos los descriptores de archivos. La opción `auto_removal` tiene prioridad sobre la opción `backpressure_mode` que se está configurando en `fd_release`. Cuando `auto_removal` está activado, el agente de CloudWatch procesa el archivo hasta su finalización sin lanzar el descriptor del archivo.
**importante**  
El uso de `fd_release` puede hacer que el agente de CloudWatch no pueda leer los archivos de registro hasta su finalización y provocar la pérdida del registro.
+ `concurrency`: opcional. Especifica el número de publicadores de registros compartidos que se utilizan para publicar simultáneamente archivos de registro en Registros de CloudWatch.

  Si omite este campo, cada destino de los archivos de registro (combinación de flujos y grupos de registro) tiene un solo publicador de registros compartido, lo que puede provocar cuellos de botella en el caso de archivos de gran tamaño o al escribir varios archivos en el mismo destino. Activar la simultaneidad puede mejorar el rendimiento.
+ `logs_collected`: obligatorio si la sección `logs` está incluida. Especifica qué archivos de registros y registros de eventos de Windows se recopilarán del servidor. Puede incluir dos campos: `files` y `windows_events`.
  + `files`: especifica qué archivos de registro regulares va a recopilar el agente de CloudWatch. Contiene un campo, `collect_list`, que define estos archivos.
    + `collect_list`: obligatorio si `files` se incluye. Contiene una matriz de entradas, cada una de las cuales especifica un archivo de registro para recopilar. Cada una de estas entradas puede incluir los siguientes campos:
      + `file_path`: especifica la ruta del archivo de registro que se cargará en CloudWatch Logs. Se aceptan las reglas de concordancia glob de Unix estándar, como la adición de `**` como un *superasterisco*. Por ejemplo, especificar `/var/log/**.log` provoca que se recopilen todos los archivos `.log` del árbol de directorio `/var/log`. Para obtener más ejemplos, consulte la [biblioteca Glob](https://github.com/gobwas/glob).

        También puede usar el asterisco estándar como comodín estándar. Por ejemplo, `/var/log/system.log*` busca archivos coincidentes, como `system.log_1111`, `system.log_2222`, etc., en `/var/log`.

        Solo se envía el último archivo a CloudWatch Logs en función de la hora de modificación del archivo. Le recomendamos utilizar comodines para especificar una serie de archivos del mismo tipo, como `access_log.2018-06-01-01` y `access_log.2018-06-01-02`, pero no varios tipos de archivos, como, por ejemplo, `access_log_80` y `access_log_443`. Para especificar varios tipos de archivos, agregue otra entrada de flujo de registros al archivo de configuración del agente para que cada tipo de archivo de registro vaya a un flujo de registros distinto.
      + `auto_removal`: opcional. Si es `true`, el agente de CloudWatch elimina automáticamente este archivo de registro tras leerlo y lo ha rotado. Por lo general, los archivos de registro se eliminan después de cargar todo su contenido en Registros de CloudWatch, pero si el agente llega al EOF (final del archivo) y también detecta otro archivo de registro más reciente que coincide con la misma `file_path`, el archivo de registro se elimina aunque el agente no haya podido enviar todos los registros del archivo de registro anterior. Por lo tanto, debe asegurarse de haber terminado de escribir en el archivo ANTIGUO antes de crear el archivo NUEVO. La [biblioteca de rastreo RUST](https://docs.rs/tracing/latest/tracing/) tiene una incompatibilidad conocida porque podría crear un nuevo archivo de registro y, a continuación, seguir intentando escribir en el archivo de registro ANTIGUO.

        El agente solo quita archivos completos de los registros que crean varios archivos, como los registros que crean archivos distintos para cada fecha. Si un registro escribe continuamente en un solo archivo, no se elimina.

        Si ya dispone de un método de rotación o eliminación de archivos de registro, le recomendamos que omita este campo o que lo establezca en `false`.

        Si omite este campo, se usa el valor predeterminado de `false`.
      + `log_group_name`: opcional. Especifica qué se usará como nombre de grupo de registros en CloudWatch Logs.

        Le recomendamos que use este campo para especificar un nombre de grupo de registro para evitar confusiones. Si omite `log_group_name`, el valor de `file_path` hasta el punto final se usa como el nombre del grupo de registro. Por ejemplo, si la ruta de archivo es `/tmp/TestLogFile.log.2017-07-11-14`, el nombre de grupo de registros es `/tmp/TestLogFile.log`. 

        Si especifica un nombre del grupo de registro, puede usar `{instance_id}`, `{hostname}`, `{local_hostname}` y `{ip_address}` como variables en el nombre. `{hostname}` recupera el nombre de host de los metadatos de EC2, mientras que `{local_hostname}` usa el nombre de host del archivo de configuración de red.

        Si usa estas variables para crear muchos grupos de registro diferentes, tenga en cuenta el límite de 1 000 000 grupos de registro por cuenta y región.

        Entre los caracteres permitidos se incluyen a-z, A-Z, 0-9, “\$1” (guion bajo), “-” (guion medio), “/” (barra diagonal) y “.” (punto).
      + `log_group_class`: opcional. Especifica qué clase de grupo de registros usar para el nuevo grupo de registros. Para obtener más información sobre las clases de grupos de registros, consulte [Clases de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html).

        Los valores válidos son `STANDARD` y `INFREQUENT_ACCESS`. Si omite este campo, se usa el valor predeterminado de `STANDARD`.
**importante**  
Después de crear un grupo de registro, la clase no se puede cambiar.
      + `log_stream_name`: opcional. Especifica qué se usará como nombre de flujo de registro en CloudWatch Logs. Como parte del nombre, puede usar `{instance_id}`, `{hostname}` `{local_hostname}` y `{ip_address}` como variables en el nombre. `{hostname}` recupera el nombre de host de los metadatos de EC2, mientras que `{local_hostname}` usa el nombre de host del archivo de configuración de red.

        Si omite este campo, se utilizará el valor del parámetro `log_stream_name` en la sección global `logs`. Si esto también se omite, se utiliza el valor predeterminado de `{instance_id}`.

        Si un flujo de registros no existe todavía, se crea automáticamente.
      + `retention_in_days`: opcional. Especifica la cantidad de días que se conservan los eventos de registro en el grupo de registros especificado.
        + Si el agente está creando este grupo de registros y especifica u omite este campo, la retención del nuevo grupo de registro se establecerá de manera que nunca venza.
        + Si este grupo de registros ya existe y especifica este campo, se utiliza la nueva retención que especifique. Si omite este campo para un grupo de registros que ya existe, no se modifica la retención del grupo de registros.

          El asistente del agente de CloudWatch utiliza `-1` como valor predeterminado para este campo cuando se utiliza para crear el archivo de configuración del agente y no se especifica un valor para la retención de registros. Este valor de `-1` establecido por el asistente especifica que los eventos del grupo de registro no caducarán. Sin embargo, editar manualmente este valor a `-1` no tiene ningún efecto.

        Los valores válidos son 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288 y 3653.

        Si configura el agente para que escriba varios flujos de registro en el mismo grupo de registros, especificar la `retention_in_days` en un solo lugar establecerá la retención de registros para todo el grupo de registros. Si especifica la `retention_in_days` para el mismo grupo de registros en varios lugares, la retención se establece si todos esos valores son iguales. Sin embargo, si se especifican diferentes valores de `retention_in_days` para el mismo grupo de registros en varios lugares, no se establecerá la retención de registros y el agente se detendrá, lo que devolverá un error.
**nota**  
El rol o el usuario de IAM del agente deben tener la `logs:PutRetentionPolicy` para que puedan establecer políticas de retención. 
**aviso**  
Si establece la `retention_in_days` para un grupo de registros que ya existe, se eliminarán todos los registros de ese grupo de registros que se hayan publicado antes del número de días que especificó. Por ejemplo, si se configurara en 3, se eliminarían todos los registros de hace 3 días y más tiempo. 
      + `filters`: opcional. Puede contener una matriz de entradas. Cada una de estas entradas especifica una expresión regular y un tipo de filtro para determinar si se van a publicar o dejar de lado entradas de registro que coincidan con el filtro. Si omite este campo, todos los registros del archivo de registro se publican en CloudWatch Logs. Si incluye este campo, el agente procesa cada mensaje de registro con todos los filtros que especifique y solo los eventos de registro que pasen todos los filtros se publicarán en CloudWatch Logs. Las entradas de registro que no pasen todos los filtros se mantendrán en el archivo de registro del host igualmente, pero no se enviarán a CloudWatch Logs.

        Cada entrada de la matriz de filtros puede incluir los siguientes campos:
        + `type`: indica el tipo de filtro. Los valores válidos son `include` y `exclude`. Con `include`, la entrada de registro debe coincidir con la expresión que se publicará en CloudWatch Logs. Con `exclude`, cada entrada de registro que coincida con el filtro no se enviará a CloudWatch Logs.
        + `expression`: se trata de una cadena de expresión regular que sigue la [Sintaxis de RE2](https://github.com/google/re2/wiki/Syntax).
**nota**  
El agente de CloudWatch no revisa el rendimiento de ninguna expresión regular que proporcione ni restringe el tiempo de ejecución de la evaluación de las expresiones regulares. Le recomendamos que tenga cuidado de no escribir una expresión que resulte costosa de evaluar. Para obtener más información acerca de los posibles problemas, consulte [Regular expression Denial of Service - ReDoS](https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS) (Denegación de servicio de expresión regular: ReDoS)

        Por ejemplo, el siguiente extracto del archivo de configuración del agente de CloudWatch publica registros que son solicitudes PUT y POST en CloudWatch Logs, pero excluye los registros procedentes de Firefox.

        ```
        "collect_list": [ 
          {
            "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", 
            "log_group_name": "test.log", 
            "log_stream_name": "test.log",
            "filters": [
              {
                "type": "exclude",
                "expression": "Firefox"
              },
              {
                "type": "include",
                "expression": "P(UT|OST)"
              }
            ]
          },
          .....
        ]
        ```
**nota**  
El orden de los filtros en el archivo de configuración es importante en cuanto al rendimiento. En el ejemplo anterior, el agente deja de lado todos los registros que pasen el filtro de `Firefox` antes de empezar a evaluar el segundo filtro. Para que más de un filtro evalúe menos entradas de registro, aplique primero el filtro que espera que descarte más registros al archivo de configuración.
      + `timezone`: opcional. Especifica la zona horaria que se debe utilizar a la hora de poner marcas temporales en eventos de registro. Los valores válidos son `UTC` y `Local`. El valor predeterminado es `Local`.

        Este parámetro se ignora si no especifica un valor para `timestamp_format`.
      + `timestamp_format`: opcional. Especifica el formato de marca temporal, con texto sin formato y símbolos especiales que empiezan por %. Si omite este campo, se usa la hora actual. Si utiliza este campo, puede utilizar los símbolos de la lista siguiente como parte del formato.
**nota**  
Este parámetro no se tiene en cuenta si `file_path` está establecido como `amazon-cloudwatch-agent.log` 

        Si una única entrada de registro contiene dos marcas temporales que coinciden con el formato, se utiliza la primera marca temporal.

        Esta lista de símbolos es diferente de la lista que utiliza el agente anterior de CloudWatch Logs. Para ver un resumen de estas diferencias, consulte . [Diferencias de marcas de tiempo entre el agente de CloudWatch y el agente de CloudWatch Logs anterior](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-logs-timestamp-differences)  
`%y`  
Año sin siglo como un número decimal rellenado con ceros. Por ejemplo, `19` para representar 2019.  
`%Y`  
Año con siglo como número decimal. Por ejemplo, `2019`.  
`%b`  
Mes como el nombre abreviado de la configuración regional  
`%B`  
Mes como el nombre completo de la configuración regional  
`%m`  
mes como número decimal relleno con ceros  
`%-m`  
Mes como número decimal (sin rellenar con ceros)  
`%d`  
día del mes como número decimal relleno con ceros  
`%-d`  
Día del mes como número decimal (sin rellenar con ceros)  
`%A`  
Nombre completo de semana como, por ejemplo, `Monday`  
`%a`  
Abreviatura de día de la semana como, por ejemplo, `Mon`  
`%H`  
Hora (en un formato de 24 horas) como número decimal rellenado con ceros  
`%I`  
Hora (en un formato de 12 horas) como número decimal rellenado con ceros  
`%-I`  
Hora (en un formato de 12 horas) como número decimal (sin rellenar con ceros)  
`%p`  
AM o PM  
`%M`  
Minutos como número decimal rellenado con ceros  
`%-M`  
Minutos como número decimal (sin rellenar con ceros)  
`%S`  
Segundos como número decimal rellenado con ceros  
`%-S`  
Segundos como número decimal (sin rellenar con ceros)  
`%f`  
Segundos fraccionarios como un número decimal (1-9 dígitos), rellenado con ceros a la izquierda.  
`%Z`  
Zona horaria, por ejemplo `PST`  
`%z`  
Zona horaria, expresada como la diferencia entre la zona horaria local y UTC. Por ejemplo, `-0700`. Solo se admite este formato. Por ejemplo, `-07:00` no es un formato válido.  

      + `multi_line_start_pattern`: especifica el patrón para identificar el inicio de un mensaje de registro. Un mensaje de registro consta de una línea que coincide con el patrón y de líneas siguientes que no coinciden con el patrón.

        Si omite este campo, se deshabilita el modo multilínea y cualquier línea que comience con un carácter sin espacios en blanco cierra el mensaje de log anterior y comienza un nuevo mensaje de log.

        Si incluye este campo, puede especificar `{timestamp_format}` para usar la misma expresión regular que el formato de marca temporal. De lo contrario, se puede especificar otra expresión regular para que CloudWatch Logs la utilice para determinar las líneas iniciales de las entradas de líneas múltiples.
      + `encoding`: especifica la codificación del archivo de registro, de modo que se pueda leer correctamente. Si especifica una codificación incorrecta, podría haber pérdida de datos porque los caracteres que no se puedan descodificar se sustituirán por otros.

        El valor predeterminado es `utf-8`. Los valores posibles son los siguientes:

         `ascii, big5, euc-jp, euc-kr, gbk, gb18030, ibm866, iso2022-jp, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-8-i, iso8859-10, iso8859-13, iso8859-14, iso8859-15, iso8859-16, koi8-r, koi8-u, macintosh, shift_jis, utf-8, utf-16, utf-16le, UTF-16, UTF-16LE, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic` 
      + `service.name`: opcional. Especifica el nombre del servicio que se utilizará para rellenar la entidad y [buscar la telemetría relacionada](ExploreRelated.md).
      + `deployment.environment`: opcional. Especifica el nombre del entorno que se utilizará para rellenar la entidad y [buscar la telemetría relacionada](ExploreRelated.md).
      + `trim_timestamp`: opcional. Si es true, el agente de CloudWatch eliminará la marca de tiempo que coincide con `timestamp_format` en la línea antes de enviarla a Registros de CloudWatch. LogEvent continuará conteniendo el campo `timestamp`.

        Si omite este campo, se usa el valor predeterminado de `false`.
  + La sección `windows_events` especifica el tipo de eventos de Windows que se recopilan de los servidores con Windows Server. Contiene los campos siguientes:
    + `collect_list`: es obligatorio si `windows_events` está incluido. Especifica los tipos y niveles de eventos de Windows que se recopilarán. Cada log que se recopilará tiene una entrada en esta sección, que puede incluir los siguientes campos:
      + `event_name`: especifica el tipo de eventos de Windows que se van a registrar. Esto equivale al nombre del canal del registro de eventos de Windows (como `System`, `Security`, `Application`, etc.). Este campo es obligatorio para cada tipo de evento de Windows que se registrará.
**nota**  
Cuando CloudWatch recupera mensajes de un canal de registro de Windows, busca el canal de registro en función de la propiedad `Full Name`. Mientras tanto, el panel de navegación del visor de eventos de Windows muestra la propiedad `Log Name` de los canales de registro. `Full Name` y `Log Name` no siempre coinciden. Para confirmar el `Full Name` de un canal, haga clic derecho en él en el visor de eventos de Windows y abra **Properties** (Propiedades).
      + `event_levels`: opcional. Especifica los niveles de evento que se registrarán. Debe especificar cada nivel que se registrará. Entre los valores posibles se incluyen `INFORMATION`, `WARNING`, `ERROR`, `CRITICAL` y `VERBOSE`. Este campo es opcional para cada tipo de evento de Windows que se registre y se puede usar con otras opciones de filtrado, como `event_ids` y `filters`.
      + `event_ids`: opcional. Contiene una matriz de identificadores de eventos de Windows para especificar qué eventos recopilar del Registro de eventos de Windows. Si se excluye este campo, se recopilan todos los eventos del registro de eventos especificado. Cuando se incluye este campo, el agente solo recopila los eventos que coinciden con los identificadores de evento especificados.

        Cada entrada en la matriz `event_ids` debe ser un valor numérico de identificador de evento y se puede usar con otras opciones de filtrado. Consulte la tercera entrada del ejemplo de configuración que aparece a continuación.
**nota**  
Se recomienda usar `event_ids` en lugar de las expresiones regulares cuando tenga que filtrar por identificador de evento, ya que ofrece un mejor rendimiento.
      + `filters`: opcional. Contiene una matriz de entradas. Cada entrada especifica una expresión regular y un tipo de filtro para determinar si se van a publicar o dejar de lado entradas de registro que coincidan con el filtro. Cuando se incluye este campo, el agente procesa cada mensaje de registro con todos los filtros que especifique, y solo los eventos de registro que superen todos los filtros se publicarán en Registros de CloudWatch. Los registros de eventos de Windows que no superen todos los filtros se eliminarán y no se enviarán a Registros de CloudWatch. La sección de filtros también se puede utilizar con otros mecanismos de filtrado, como los identificadores de eventos [4624, 4625] y los niveles del sistema (Información, Error o Crítico) para filtrar los registros de forma eficaz y enviarlos a CloudWatch.

        Cada entrada de la matriz de filtros puede incluir los siguientes campos:
        + `type`: especifica el tipo de filtro. Los valores válidos son `include` y `exclude`. Con include, la entrada de eventos de Windows debe coincidir con la expresión que se publicará en Registros de CloudWatch. Con exclude, cada registro de eventos de Windows que coincida con el filtro no se enviará a Registros de CloudWatch.
        + `expression`: se trata de una cadena de expresión regular que sigue la sintaxis de RE2.
**nota**  
El agente de CloudWatch no validará las expresiones regulares que proporcione. Tampoco limitará el tiempo para la evaluación. Escriba las expresiones con cuidado para evitar problemas de rendimiento. Para obtener más información sobre los riesgos de seguridad, consulte [Regular expression Denial of Service - ReDoS](https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS).

        En el ejemplo de configuración del agente que aparece a continuación:

        Para la primera entrada, el agente envía a CloudWatch los registros que contienen mensajes de error de las bases de datos, las actividades relacionadas con la autenticación y todos los eventos de inicio de sesión (tanto los intentos correctos como los fallidos). Los registros que no coincidan con este patrón se descartan.

        En la segunda entrada, el filtrado inicial se realiza en función de los identificadores de eventos de la suscripción a eventos de Windows. El agente recopila todos los registros que contienen la cadena user y descarta los registros que no coinciden con estos patrones. A continuación, el agente descarta los registros que contienen `successful` antes de enviar los registros restantes a Registros de CloudWatch. Cada tipo de filtro se aplica a cada registro de eventos de Windows antes de enviarlo a CloudWatch.

        ```
        "collect_list": [ 
          {
                "event_name": "Application",
                "log_group_name": "ApplicationEvents",
                "log_stream_name": "ApplicationEvents", 
                "filters": [
                    {
                        "type": "include",
                        "expression": "Database.*failed|Authentication.*|login.*"
                    }
                ]
            },
            {
                "event_name": "System", 
                "log_group_name": "SystemEvents",
                "log_stream_name": "Logon-events",
                "event_ids": [
                    4624,
                    4625
                 ],
                "filters": [
                    {
                        "type": "include",
                        "expression": ".*user.*"
                    },
                    {
                        "type": "exclude",
                        "expression": ".*successful.*"
                    }
                 ]
             }
          .....
        ]
        ```
**nota**  
El orden de los filtros en la configuración afectará al rendimiento. En la segunda entrada, el agente descarta todos los registros que no coinciden con el usuario antes de empezar a evaluar la expresión del segundo filtro. Para obtener un rendimiento óptimo, ordene los filtros de la tasa de exclusión más alta a la más baja.

        Para obtener un mejor rendimiento, si bien puede filtrar los registros según los identificadores de eventos y los niveles del sistema en la expresión de filtro, se recomienda utilizar `event_ids` y `log_level` tal como se muestra en la segunda entrada.
**aviso**  
Aunque todos los mecanismos de filtrado (event\$1levels, event\$1ids, filtros) son opcionales, se requiere al menos uno durante la configuración del agente para filtrar los registros.
      + `log_group_name`: obligatorio. Especifica qué se usará como nombre de grupo de registros en CloudWatch Logs. 
      + `log_stream_name`: opcional. Especifica qué se usará como nombre de flujo de registro en CloudWatch Logs. Como parte del nombre, puede usar `{instance_id}`, `{hostname}` `{local_hostname}` y `{ip_address}` como variables en el nombre. `{hostname}` recupera el nombre de host de los metadatos de EC2, mientras que `{local_hostname}` usa el nombre de host del archivo de configuración de red.

        Si omite este campo, se utilizará el valor del parámetro `log_stream_name` en la sección global `logs`. Si esto también se omite, se utiliza el valor predeterminado de `{instance_id}`.

        Si un flujo de registros no existe todavía, se crea automáticamente.
      + `event_format`: opcional. Especifica el formato que se debe utilizar al almacenar eventos de Windows en CloudWatch Logs. `xml` utiliza el formato XML como en el visor de eventos de Windows. `text` utiliza el formato de agente de CloudWatch Logs heredado.
      + `retention_in_days`: opcional. Especifica la cantidad de días que se conservan los eventos de Windows en el grupo de registro especificado.
        + Si el agente está creando este grupo de registros y especifica u omite este campo, la retención del nuevo grupo de registro se establecerá de manera que nunca venza.
        + Si este grupo de registros ya existe y especifica este campo, se utiliza la nueva retención que especifique. Si omite este campo para un grupo de registros que ya existe, no se modifica la retención del grupo de registros.

          El asistente del agente de CloudWatch utiliza `-1` como valor predeterminado para este campo cuando se utiliza para crear el archivo de configuración del agente y no se especifica un valor para la retención de registros. Esta valor de `-1` especificado por el asistente especifica que los eventos del grupo de registro no caducan. Sin embargo, editar manualmente este valor a `-1` no tiene ningún efecto.

        Los valores válidos son 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288 y 3653.

        Si configura el agente para que escriba varios flujos de registro en el mismo grupo de registros, especificar la `retention_in_days` en un solo lugar establecerá la retención de registros para todo el grupo de registros. Si especifica la `retention_in_days` para el mismo grupo de registros en varios lugares, la retención se establece si todos esos valores son iguales. Sin embargo, si se especifican diferentes valores de `retention_in_days` para el mismo grupo de registros en varios lugares, no se establecerá la retención de registros y el agente se detendrá, lo que devolverá un error.
**nota**  
El rol o el usuario de IAM del agente deben tener la `logs:PutRetentionPolicy` para que puedan establecer políticas de retención. 
**aviso**  
Si establece la `retention_in_days` para un grupo de registros que ya existe, se eliminarán todos los registros de ese grupo de registros que se hayan publicado antes del número de días que especificó. Por ejemplo, si se configurara en 3, se eliminarían todos los registros de hace 3 días y más tiempo. 
+ `log_stream_name`: opcional. Especifica el nombre de secuencia de registros predeterminado que se usará para los registros o los eventos de Windows que no tengan nombres de secuencia de registros individuales definidos en el parámetro `log_stream_name` dentro de su entrada en `collect_list`.
+ `endpoint_override`: especifica un punto de enlace de FIPS o un enlace privado que se va a utilizar como punto de enlace donde el agente envía los registros. Al especificar este campo y establecer un enlace privado podrá enviar los registros a un punto de enlace de la Amazon VPC. Para obtener más información, consulte [¿Qué es Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). 

  El valor de `endpoint_override` debe ser una cadena que sea una URL.

  Por ejemplo, la siguiente parte de la sección de registros del archivo de configuración establece que el agente utilizará un punto de enlace de la VPC al enviar registros. 

  ```
  {
    "logs": {
      "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.logs.us-east-1.vpce.amazonaws.com",
     ......
     },
  }
  ```
+ `force_flush_interval`: especifica en segundos la cantidad máxima de tiempo que los registros permanecen en el búfer de memoria antes de enviarse al servidor. Independientemente del valor de este campo, si el tamaño de los registros en el búfer alcanza 1 MB, los registros se envían inmediatamente al servidor. El valor predeterminado es 5.

  Si utiliza el agente para generar informes de métricas de alta resolución en un formato de métrica integrado y está configurando alarmas en esas métricas, mantenga este parámetro establecido en el valor predeterminado de 5. De lo contrario, las métricas se notifican con un retraso que puede provocar alarmas en los datos parciales o incompletos.
+ `credentials`: especifica un rol de IAM que se va a utilizar cuando se envían registros a una cuenta de AWS. Si se especifica, este campo contiene un parámetro, `role_arn`.
  + `role_arn`: especifica el ARN de un rol de IAM que se va a utilizar para la autenticación cuando se envían registros a una cuenta de AWS. Para obtener más información, consulte [Envío de métricas, registros y seguimientos a una cuenta diferente](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account). Si se especifica aquí, se sobrescribe el valor de `role_arn` especificado en la sección `agent` del archivo de configuración, si existe.
+ `metrics_collected`: este campo puede contener secciones para especificar que el agente debe recopilar los registros para habilitar casos de uso como CloudWatch Application Signals e Información de contenedores con una observabilidad mejorada en Amazon EKS.
  + `application_signals`: (opcional) especifica que desea habilitar [CloudWatch Application Signals](CloudWatch-Application-Monitoring-Sections.md). Para obtener más información sobre esta configuración, consulte [Habilitación de CloudWatch Application Signals](CloudWatch-Agent-Application_Signals.md).
  + `kubernetes`: este campo puede contener un parámetro `enhanced_container_insights` que puede utilizar para habilitar Información de contenedores con una observabilidad mejorada en Amazon EKS.
    + `enhanced_container_insights`: establézcalo en `true` para habilitar Información de contenedores con una observabilidad mejorada en Amazon EKS. Para obtener más información, consulte [Información de contenedores con observabilidad mejorada para Amazon EKS](container-insights-detailed-metrics.md).
    + `accelerated_compute_metrics`: establezca el valor como `false` para dejar de recopilar métricas de GPU de Nvidia en los clústeres de Amazon EKS. Para obtener más información, consulte [Métricas de GPU de NVIDIA](Container-Insights-metrics-enhanced-EKS.md#Container-Insights-metrics-EKS-GPU).
  + `emf`: para recopilar las métricas integradas en los registros, ya no es necesario añadir este campo `emf`. Este es un campo legal que especifica que el agente debe recopilar los registros que están en formato de métrica integradas. Puede generar datos de métricas a partir de estos registros. Para obtener más información, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md).
  + `otlp`: opcional. Especifica que desea recopilar métricas del SDK de OpenTelemetry. Para obtener más información sobre los campos que puede utilizar en esta sección, consulte [Recopilación de métricas y seguimientos con OpenTelemetry](CloudWatch-Agent-OpenTelemetry-metrics.md).

A continuación se muestra un ejemplo de una sección `logs`.

```
"logs":{
    "logs_collected": {
    "files": {
            "collect_list": [
                   {
                        "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log",
                       "log_group_name": "amazon-cloudwatch-agent.log",
                       "log_stream_name": "my_log_stream_name_1"
                   },
                   {
                       "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log",
                       "log_group_name": "test.log",
                       "log_stream_name": "my_log_stream_name_2"
                   }
               ]
           },
      "windows_events": {
                "collect_list": [
                                {
                       "event_name": "System",
                       "event_ids": [
                           1001,
                           1008
                       ],
                       "log_group_name": "System",
                       "log_stream_name": "System"
                   },
                   {
                       "event_name": "CustomizedName",
                       "event_levels": [
                           "INFORMATION",
                           "ERROR"
                       ],
                       "log_group_name": "CustomizedLogGroup",
                       "log_stream_name": "CustomizedLogStream"
                   },
                   {
                       "event_name": "Application",
                       "event_levels": [
                           "INFORMATION",
                           "ERROR"
                       ],
                       "event_ids":[
                            7369,
                            5624
                       ],
                       "log_group_name": "CustomizedLogGroup",
                       "log_stream_name": "CustomizedLogStream"
                   }
               ]
           }
       },
       "log_stream_name": "my_log_stream_name",
       "metrics_collected": {
        "kubernetes": {
        "enhanced_container_insights": true
      }
    }
  }
```

## Archivo de configuración del agente de CloudWatch: sección de seguimientos
<a name="CloudWatch-Agent-Configuration-File-Tracessection"></a>

Al añadir una sección `traces` al archivo de configuración del agente de CloudWatch, se puede utilizar CloudWatch Application Signals o recopilar seguimientos desde X-Ray y el SDK de instrumentación de OpenTelemetry y se envían a X-Ray.

**importante**  
El rol de IAM o usuario de IAM del agente debe tener la política **AWSXrayWriteOnlyAccess** para enviar datos de seguimiento a X-Ray. 

Para empezar rápidamente a recopilar seguimientos, puede añadir lo siguiente al archivo de configuración del agente de CloudWatch.

```
"traces_collected": {
        "xray": {
        },
        "otlp": {
        }
      }
```

Si añade la sección anterior al archivo de configuración del agente de CloudWatch y reinicia el agente, el agente empezará a recopilar seguimientos con las siguientes opciones y valores predeterminados. Para obtener más información sobre estos parámetros, consulte las definiciones de los parámetros más adelante en esta sección.

```
"traces_collected": {
        "xray": {
            "bind_address": "127.0.0.1:2000",
            "tcp_proxy": {
              "bind_address": "127.0.0.1:2000"
            }
        },
        "otlp": {
            "grpc_endpoint": "127.0.0.1:4317",
            "http_endpoint": "127.0.0.1:4318"
        }
      }
```

La sección `traces` puede incluir los siguientes campos:
+ `traces_collected`: obligatorio si la sección `traces` está incluida. Especifica los SDK de los que se recopilarán los seguimientos. Puede incluir los siguientes campos:
  + `application_signals`: opcional. Especifica que desea habilitar [CloudWatch Application Signals](CloudWatch-Application-Monitoring-Sections.md). Para obtener más información sobre esta configuración, consulte [Habilitación de CloudWatch Application Signals](CloudWatch-Agent-Application_Signals.md).
  + `xray`: opcional. Especifica que desea recopilar seguimientos del SDK de X-Ray. Esta sección puede incluir los siguientes campos.
    + `bind_address`: opcional. Especifica la dirección UDP que el agente de CloudWatch debe usar para escuchar los seguimientos de X-Ray. El formato es `ip:port`. Esta dirección debe coincidir con la que se establece en el X-Ray.

      Si omite este campo, se usa el valor predeterminado de `127.0.0.1:2000`.
    + `tcp_proxy`: opcional. Configura la dirección de un proxy que se utiliza para admitir el muestreo remoto de X-Ray. Para obtener más información, consulte [Configuración de reglas de muestreo](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html) en la documentación de X-Ray.

      Esta sección puede contener el siguiente campo.
      + `bind_address`: opcional. Especifica la dirección TCP en la que el agente de CloudWatch debe establecer el proxy. El formato es `ip:port`. Esta dirección debe coincidir con la que se establece en el X-Ray.

        Si omite este campo, se usa el valor predeterminado de `127.0.0.1:2000`.
  + `otlp`: opcional. Especifica que desea recopilar seguimientos del SDK de OpenTelemetry. Para obtener más información sobre los campos que puede utilizar en esta sección, consulte [Recopilación de métricas y seguimientos con OpenTelemetry](CloudWatch-Agent-OpenTelemetry-metrics.md). Para obtener más información acerca de AWS Distro para OpenTelemetry, consulte [AWS Distro for OpenTelemetry](https://aws.amazon.com/otel/). [Para obtener más información sobre los SDK de AWS Distro para OpenTelemetry, consulte la Introducción](https://aws-otel.github.io/docs/introduction).

    Esta sección puede incluir los siguientes campos.
    + `grpc_endpoint`: opcional. Especifica la dirección que debe utilizar el agente de CloudWatch para escuchar los seguimientos de OpenTelemetry enviados mediante llamadas a procedimientos remotos de gRPC. El formato es `ip:port`. Esta dirección debe coincidir con la dirección establecida para el exportador de gRPC en el SDK de OpenTelemetry.

      Si omite este campo, se usa el valor predeterminado de `127.0.0.1:4317`.
    + `http_endpoint`: opcional. Especifica la dirección que el agente CloudWatch debe utilizar para escuchar los seguimientos de OTLP enviadas a través de HTTP. El formato es `ip:port`. Esta dirección debe coincidir con la dirección establecida para el exportador HTTP en el SDK de OpenTelemetry.

      Si omite este campo, se usa el valor predeterminado de `127.0.0.1:4318`.
+ `concurrency`: opcional. Especifica el número máximo de llamadas simultáneas a X-Ray que se pueden utilizar para cargar seguimientos. El valor predeterminado es `8`
+ `local_mode`: opcional. Si `true`, el agente no recopila los metadatos de la instancia de Amazon EC2. El valor predeterminado es `false`
+ `endpoint_override`: opcional. Especifica un punto de conexión FIPS o un vínculo privado que se va a utilizar como punto de conexión donde el agente envía seguimientos. Al especificar este campo y establecer un enlace privado podrá enviar los registros a un punto de conexión de VPC de Amazon. Para obtener más información, consulte [¿Qué es Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)

  El valor de `endpoint_override` debe ser una cadena que sea una URL.
+ `region_override`: opcional. Especifica la región que se debe utilizar para el punto de conexión de X-Ray. El agente de CloudWatch envía los seguimientos a X-Ray en la región especificada. Si omite este campo, el agente envía los seguimientos a la región donde se encuentra la instancia de Amazon EC2.

  Si especifica una región aquí, esta tendrá prioridad sobre la configuración del parámetro `region` en la sección `agent` del archivo de configuración.
+ `proxy_override`: opcional. Especifica la dirección del servidor proxy que utilizará el agente de CloudWatch al enviar solicitudes a X-Ray. El protocolo del servidor proxy debe especificarse como parte de esta dirección.
+ `credentials`: especifica un rol de IAM que se va a utilizar cuando se envían seguimientos a una cuenta de AWS. Si se especifica, este campo contiene un parámetro, `role_arn`.
  + `role_arn`: especifica el ARN de un rol de IAM que se va a utilizar para la autenticación cuando se envían seguimientos a una cuenta de AWS. Para obtener más información, consulte [Envío de métricas, registros y seguimientos a una cuenta diferente](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account). Si se especifica aquí, se sobrescribe el valor de `role_arn` especificado en la sección `agent` del archivo de configuración, si existe.
+ `transit_spans_in_otlp_format`: opcional. Si es `true`, envía los seguimientos a X-Ray en el formato de protocolo de OpenTelemetry, que admite eventos de unidades de seguimiento en Transaction Search. Para obtener más información, consulte [Adición de atributos personalizados](CloudWatch-Transaction-Search-add-custom-attributes.md). El valor predeterminado es `false`. 

## Archivo de configuración del agente de CloudWatch: ejemplos completos
<a name="CloudWatch-Agent-Configuration-File-Complete-Example"></a>

A continuación se ofrece un ejemplo de un archivo de configuración completo del agente de CloudWatch de un servidor Linux.

Los elementos indicados en las secciones `measurement` para las métricas que desea recopilar pueden especificar el nombre completo de la métrica o simplemente la parte del nombre de la métrica que se añadirá al tipo de recurso. Por ejemplo, si especifica `reads` o `diskio_reads` en la sección `measurement` de la sección `diskio`, se recopilará la métrica `diskio_reads`.

En este ejemplo, se incluyen las dos formas de especificar métricas en la sección `measurement`.

```
    {
      "agent": {
        "metrics_collection_interval": 10,
        "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
      },
      "metrics": {
        "namespace": "MyCustomNamespace",
        "metrics_collected": {
          "cpu": {
            "resources": [
              "*"
            ],
            "measurement": [
              {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"},
              {"name": "cpu_usage_nice", "unit": "Percent"},
              "cpu_usage_guest"
            ],
            "totalcpu": false,
            "metrics_collection_interval": 10,
            "append_dimensions": {
              "customized_dimension_key_1": "customized_dimension_value_1",
              "customized_dimension_key_2": "customized_dimension_value_2"
            }
          },
          "disk": {
            "resources": [
              "/",
              "/tmp"
            ],
            "measurement": [
              {"name": "free", "rename": "DISK_FREE", "unit": "Gigabytes"},
              "total",
              "used"
            ],
             "ignore_file_system_types": [
              "sysfs", "devtmpfs"
            ],
            "metrics_collection_interval": 60,
            "append_dimensions": {
              "customized_dimension_key_3": "customized_dimension_value_3",
              "customized_dimension_key_4": "customized_dimension_value_4"
            }
          },
          "diskio": {
            "resources": [
              "*"
            ],
            "measurement": [
              "reads",
              "writes",
              "read_time",
              "write_time",
              "io_time"
            ],
            "metrics_collection_interval": 60
          },
          "swap": {
            "measurement": [
              "swap_used",
              "swap_free",
              "swap_used_percent"
            ]
          },
          "mem": {
            "measurement": [
              "mem_used",
              "mem_cached",
              "mem_total"
            ],
            "metrics_collection_interval": 1
          },
          "net": {
            "resources": [
              "eth0"
            ],
            "measurement": [
              "bytes_sent",
              "bytes_recv",
              "drop_in",
              "drop_out"
            ]
          },
          "netstat": {
            "measurement": [
              "tcp_established",
              "tcp_syn_sent",
              "tcp_close"
            ],
            "metrics_collection_interval": 60
          },
          "processes": {
            "measurement": [
              "running",
              "sleeping",
              "dead"
            ]
          }
        },
        "append_dimensions": {
          "ImageId": "${aws:ImageId}",
          "InstanceId": "${aws:InstanceId}",
          "InstanceType": "${aws:InstanceType}",
          "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
        },
        "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]],
        "force_flush_interval" : 30
      },
      "logs": {
        "logs_collected": {
          "files": {
            "collect_list": [
              {
                "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
                "log_group_name": "amazon-cloudwatch-agent.log",
                "log_stream_name": "amazon-cloudwatch-agent.log",
                "timezone": "UTC"
              },
              {
                "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log",
                "log_group_name": "test.log",
                "log_stream_name": "test.log",
                "timezone": "Local"
              }
            ]
          }
        },
        "log_stream_name": "my_log_stream_name",
        "force_flush_interval" : 15,
        "metrics_collected": {
           "kubernetes": {
                "enhanced_container_insights": true
      }
    }
  }
}
```

A continuación se ofrece un ejemplo de un archivo de configuración completo del agente de CloudWatch de un servidor con Windows Server.

```
{
      "agent": {
        "metrics_collection_interval": 60,
        "logfile": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log"
      },
      "metrics": {
        "namespace": "MyCustomNamespace",
        "metrics_collected": {
          "Processor": {
            "measurement": [
              {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"},
              "% Interrupt Time",
              "% User Time",
              "% Processor Time"
            ],
            "resources": [
              "*"
            ],
            "append_dimensions": {
              "customized_dimension_key_1": "customized_dimension_value_1",
              "customized_dimension_key_2": "customized_dimension_value_2"
            }
          },
          "LogicalDisk": {
            "measurement": [
              {"name": "% Idle Time", "unit": "Percent"},
              {"name": "% Disk Read Time", "rename": "DISK_READ"},
              "% Disk Write Time"
            ],
            "resources": [
              "*"
            ]
          },
          "customizedObjectName": {
            "metrics_collection_interval": 60,
            "customizedCounterName": [
              "metric1",
              "metric2"
            ],
            "resources": [
              "customizedInstances"
            ]
          },
          "Memory": {
            "metrics_collection_interval": 5,
            "measurement": [
              "Available Bytes",
              "Cache Faults/sec",
              "Page Faults/sec",
              "Pages/sec"
            ]
          },
          "Network Interface": {
            "metrics_collection_interval": 5,
            "measurement": [
              "Bytes Received/sec",
              "Bytes Sent/sec",
              "Packets Received/sec",
              "Packets Sent/sec"
            ],
            "resources": [
              "*"
            ],
            "append_dimensions": {
              "customized_dimension_key_3": "customized_dimension_value_3"
            }
          },
          "System": {
            "measurement": [
              "Context Switches/sec",
              "System Calls/sec",
              "Processor Queue Length"
            ]
          }
        },
        "append_dimensions": {
          "ImageId": "${aws:ImageId}",
          "InstanceId": "${aws:InstanceId}",
          "InstanceType": "${aws:InstanceType}",
          "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
        },
        "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]]
      },
      "logs": {
        "logs_collected": {
          "files": {
            "collect_list": [
              {
                "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log",
                "log_group_name": "amazon-cloudwatch-agent.log",
                "timezone": "UTC"
              },
              {
                "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log",
                "log_group_name": "test.log",
                "timezone": "Local"
              }
            ]
          },
          "windows_events": {
            "collect_list": [
              {
                "event_name": "System",
                "event_levels": [
                  "INFORMATION",
                  "ERROR"
                ],
                "log_group_name": "System",
                "log_stream_name": "System",
                "event_format": "xml"
              },
              {
                "event_name": "CustomizedName",
                "event_levels": [
                  "WARNING",
                  "ERROR"
                ],
                "log_group_name": "CustomizedLogGroup",
                "log_stream_name": "CustomizedLogStream",
                "event_format": "xml"
              }
            ]
          }
        },
        "log_stream_name": "example_log_stream_name"
      }
    }
```

## Guarde al archivo de configuración del agente de CloudWatch manualmente
<a name="Saving-Agent-Configuration-File"></a>

Si se crea o se edita el archivo de configuración del agente de CloudWatch manualmente, se le puede asignar cualquier nombre. Después de crear el archivo, puede copiarlo en otros servidores en los que desee ejecutar el agente.

## Carga del archivo de configuración del agente de CloudWatch al almacén de parámetros de Systems Manager
<a name="Upload-CloudWatch-Agent-Configuration-To-Parameter-Store"></a>

Si se planea utilizar SSM Agent para instalar el agente de CloudWatch en los servidores, después de editar manualmente el archivo de configuración del agente de CloudWatch, se puede cargar en el almacén de parámetros de Systems Manager. Para ello, utilice el comando `put-parameter` de Systems Manager.

Para poder almacenar el archivo en el almacén de parámetros, debe utilizar un rol de IAM con los permisos suficientes. 

Utilice el siguiente comando, donde *nombre del parámetro* es el nombre que se usará para este archivo en el almacén de parámetros y *configuration\$1file\$1pathname* es la ruta y el nombre del archivo de configuración que ha editado.

```
aws ssm put-parameter --name "parameter name" --type "String" --value file://configuration_file_pathname
```

# Habilitación de CloudWatch Application Signals
<a name="CloudWatch-Agent-Application_Signals"></a>

Utilice CloudWatch Application Signals para instrumentar de forma automática sus aplicaciones en AWS para que pueda realizar un seguimiento del rendimiento de las aplicaciones en relación con sus objetivos empresariales. Application Signals le proporciona una vista unificada y centrada en las aplicaciones de sus aplicaciones Java, sus dependencias y sus periferias. Para obtener más información, consulte [Application Signals](CloudWatch-Application-Monitoring-Sections.md).

CloudWatch Application Signals utiliza el agente de CloudWatch para recibir métricas y seguimientos de sus aplicaciones autoinstrumentadas, aplicar reglas de manera opcional para reducir la alta cardinalidad y, a continuación, publicar la telemetría procesada en CloudWatch. Puede proporcionar una configuración personalizada al agente de CloudWatch específicamente para Application Signals mediante el archivo de configuración del agente. Para empezar, la presencia de una sección `application_signals` en la sección `metrics_collected` dentro de la sección `logs` del archivo de configuración del agente especifica que el agente de CloudWatch recibirá las métricas de las aplicaciones autoinstrumentadas. Del mismo modo, la presencia de una sección `application_signals` en la sección `traces_collected` dentro de la sección `traces` del archivo de configuración del agente especifica que el agente de CloudWatch está habilitado para recibir los seguimientos de las aplicaciones autoinstrumentadas. Además, si lo desea, puede introducir reglas de configuración personalizadas para reducir la publicación de telemetría de alta cardinalidad, tal como se describe en esta sección.
+ En el caso de los clústeres de Amazon EKS, al instalar el complemento de [observabilidad de EKS de Amazon CloudWatch](install-CloudWatch-Observability-EKS-addon.md), el agente de CloudWatch está habilitado de forma predeterminada para recibir métricas y seguimientos de sus aplicaciones autoinstrumentadas. Si desea transferir de forma opcional las reglas de configuración personalizadas, puede hacerlo pasando una configuración de agente personalizada al complemento Amazon EKS al crearla o actualizarla mediante una configuración adicional, tal y como se describe en [Configuraciones adicionales (Opcional)](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration).
+ En el caso de RedHat para OpenShift en AWS (ROSA), al instalar el operador del agente de CloudWatch mediante gráficos de Helm, el agente de CloudWatch está habilitado de forma predeterminada para recibir tanto métricas como seguimientos de sus aplicaciones instrumentadas de forma automática. Si desea transferir de forma opcional reglas de configuración personalizadas, puede hacerlo pasando una configuración de agente personalizada mediante el gráfico de Helm, como se indica en [Configuraciones adicionales (Opcional)](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration).
+ Para otras plataformas compatibles, incluida Amazon EC2, debe iniciar el agente de CloudWatch con una configuración de agente que habilite Application Signals especificando las secciones `application_signals` y, opcionalmente, cualquier regla de configuración personalizada, tal como se describe más adelante en esta sección.

A continuación, se ofrece un resumen de los campos en el archivo de configuración del agente de CloudWatch que se relacionan con CloudWatch Application Signals.
+ `logs`
  + `metrics_collected`: este campo puede contener secciones para especificar que el agente debe recopilar los registros para habilitar casos de uso como CloudWatch Application Signals e Información de contenedores con una observabilidad mejorada en Amazon EKS.
**nota**  
Anteriormente, esta sección también se usaba para especificar que el agente debe recopilar registros que están en formato de métrica integradas. Estos ajustes ya no son necesarios.
    + `application_signals`: (opcional) especifica que desea habilitar CloudWatch Application Signals para recibir métricas de sus aplicaciones autoinstrumentadas para facilitar CloudWatch Application Signals.
      + `rules`: (opcional) una serie de reglas para seleccionar métricas y seguimientos de forma condicional y aplicar acciones para administrar escenarios de alta cardinalidad. Cada regla puede incluir los siguientes campos:
        + `rule_name`: (opcional) el nombre de la regla.
        + `selectors`: (opcional) un conjunto de métricas y seguimientos comparadores de dimensiones. Cada selector debe proporcionar los siguientes campos:
          + `dimension`: obligatorio si `selectors` no está vacío. Especifica la dimensión de las métricas y los seguimientos que se van a utilizar como filtro.
          + `match`: obligatorio si `selectors` no está vacío. Un patrón comodín que se utiliza para hacer coincidir valores de la dimensión especificada.
        + `action`: (opcional) la acción que se aplicará a las métricas y los seguimientos que coincidan con los selectores especificados. El valor de `action` tiene que ser una de las siguientes palabras clave:
          + `keep`: especifica que solo se envíen las métricas y los seguimientos a CloudWatch si coinciden con los `selectors`.
          + `drop`: especifica que se eliminen las métricas y los seguimientos que coincidan con los `selectors`.
          + `replace`: especifica que se sustituyan las dimensiones de las métricas y los seguimientos que coincidan con los `selectors`. Se sustituyen según la sección `replacements`.
        + `replacements` Obligatorio si `action` es `replace`. Una variedad de pares de dimensiones y valores que se aplicarán a las métricas y seguimientos que coincidan con los `selectors` especificados cuando la `action` es `replace`. Cada reemplazo, debe proporcionar los siguientes campos:
          + `target_dimension`: obligatorio si `replacements` no está vacío. Especifica la dimensión que se debe reemplazar.
          + `value`: obligatorio si `replacements` no está vacío. El valor por el que se va a reemplazar el valor original de `target_dimension`.
      + `limiter` (Opcional) Utilice esta sección para limitar el número de métricas y dimensiones que Application Signals envía a CloudWatch, a fin de optimizar sus costos.
        + `disabled` (Opcional) Si es `true`, la característica de limitación de métricas está deshabilitada. El valor predeterminado es `false`
        + `drop_threshold` (Opcional) El número máximo de métricas distintas por servicio en un intervalo de rotación que un agente de CloudWatch puede exportar. El valor predeterminado es 500.
        + `rotation_interval` (Opcional) El intervalo en el que el limitador restablece los registros de métricas para el recuento de distinciones. Se expresa como una cadena con una secuencia de números y un sufijo de unidad. Se admiten fracciones. Los sufijos de unidad admitidos son `s`, `m`, `h`, `ms`, `us` y `ns`. El valor predeterminado es `1h` por una hora.
        + `log_dropped_metrics` (Opcional) Especifica si el agente debe escribir registros en los registros del agente de CloudWatch cuando se eliminan las métricas de Application Signals. El valor predeterminado es `false`.
**nota**  
Para activar este registro, el parámetro `debug` de la sección `agent` también debe estar establecido en `true`.
+ `traces`
  + `traces_collected`
    + `application_signals`: opcional. Especifique esto para permitir que el agente de CloudWatch reciba los seguimientos de sus aplicaciones autoinstrumentadas para facilitar CloudWatch Application Signals.

**nota**  
Si bien las reglas `application_signals` personalizadas se especifican en la sección `metrics_collected`, incluida en la sección `logs`, también se aplican implícitamente a la sección `traces_collected`. Se aplicará el mismo conjunto de reglas tanto a las métricas como a los seguimientos.

Cuando hay varias reglas con acciones diferentes, se aplican en la siguiente secuencia: `keep`, luego `drop` y después `replace`.

A continuación, se muestra un ejemplo de un archivo de configuración completo del agente de CloudWatch que aplica reglas personalizadas.

```
{
  "logs": {
    "metrics_collected": {
      "application_signals": {
        "rules": [
          {
            "rule_name": "keep01",
            "selectors": [
              {
                "dimension": "Service",
                "match": "pet-clinic-frontend"
              },
              {
                "dimension": "RemoteService",
                "match": "customers-service"
              }
            ],
            "action": "keep"
          },
          {
            "rule_name": "drop01",
            "selectors": [
              {
                "dimension": "Operation",
                "match": "GET /api/customer/owners/*"
              }
            ],
            "action": "drop"
          },
          {
            "rule_name": "replace01",
            "selectors": [
              {
                "dimension": "Operation",
                "match": "PUT /api/customer/owners/*/pets/*"
              },
              {
                "dimension": "RemoteOperation",
                "match": "PUT /owners"
              }
            ],
            "replacements": [
              {
                "target_dimension": "Operation",
                "value": "PUT /api/customer/owners/{ownerId}/pets{petId}"
              }
            ],
            "action": "replace"
          }
        ]
      }
    }
  },
  "traces": {
    "traces_collected": {
      "application_signals": {}
    }
  }
}
```

En el caso del archivo de configuración del ejemplo anterior, las `rules` se procesan de la siguiente manera:

1. La regla `keep01` asegura que se mantengan todas las métricas y seguimientos con la dimensión `Service` como `pet-clinic-frontend` y la dimensión `RemoteService` como `customers-service`.

1. En el caso de las métricas y los seguimientos procesados una vez que se aplique `keep01`, la regla `drop01` asegura que se eliminen las métricas y los seguimientos con la dimensión `Operation` como `GET /api/customer/owners/*`.

1. En el caso de las métricas y los seguimientos procesados una vez que se aplique `drop01`, la regla `replace01` actualiza las métricas y los seguimientos que tienen la dimensión `Operation` como `PUT /api/customer/owners/*/pets/*` y la dimensión `RemoteOperation` como `PUT /owners`, de tal manera que la dimensión `Operation` se reemplace para ser `PUT /api/customer/owners/{ownerId}/pets{petId}`.

El siguiente es un ejemplo completo de un archivo de configuración de CloudWatch que administra la cardinalidad en Application Signals cambiando el límite de métricas a 100, habilitando el registro de las métricas descartadas y estableciendo el intervalo de rotación en dos horas.

```
{
    "logs": {
        "metrics_collected": {
            "application_signals": {
                "limiter": {
                    "disabled": false,
                    "drop_threshold": 100,
                    "rotation_interval": "2h",
                    "log_dropped_metrics": true
                }
            }
        },
        "traces": {
            "traces_collected": {
                "application_signals": {}
            }
        }
    }
}
```

# Recopilación de las métricas de rendimiento de la red
<a name="CloudWatch-Agent-network-performance"></a>

Las instancias EC2 que se ejecutan en Linux y utilizan Elastic Network Adapter (ENA) publican métricas de rendimiento de la red. La versión 1.246396.0 y las posteriores del agente de CloudWatch le permiten importar estas métricas de rendimiento de red a CloudWatch. Al importar estas métricas de rendimiento de red en CloudWatch se cargan como métricas personalizadas de CloudWatch.

Para obtener más información acerca del controlador ENA, consulte [Enabling enhanced networking with the Elastic Network Adapter (ENA) on Linux instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) (Habilitación de las redes mejoradas con Elastic Network Adapter (ENA) en las instancias Linux) y [Enabling enhanced networking with the Elastic Network Adapter (ENA) on Windows instances](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking-ena.html) (Habilitación de las redes mejoradas con Elastic Network Adapter (ENA) en las instancias de Windows).

La forma en que configura la colección de métricas de rendimiento de red difiere en los servidores Linux y Windows.

En la siguiente tabla se enumeran estas métricas de rendimiento de red que el adaptador ENA habilita. Cuando el agente de CloudWatch importa estas métricas en CloudWatch desde instancias de Linux, antepone `ethtool_` al principio de cada uno de estos nombres de métricas.


| Métrica | Descripción | 
| --- | --- | 
|  Nombre en los servidores Linux: `bw_in_allowance_exceeded` Nombre en los servidores Windows: `Aggregate inbound BW allowance exceeded`  |  El número de paquetes en cola o descartados como consecuencia de que la capacidad de subida agregada superó el máximo para esta instancia. Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](#CloudWatch-Agent-network-performance) Unidad: ninguna  | 
|   Nombre en los servidores Linux: `bw_out_allowance_exceeded` Nombre en los servidores Windows: `Aggregate outbound BW allowance exceeded` |  El número de paquetes en cola o eliminados debido a que la banda ancha de subida agregada superó el máximo de la instancia. Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](#CloudWatch-Agent-network-performance) Unidad: ninguna  | 
|  Nombre en los servidores Linux: :`conntrack_allowance_available` Nombre en los servidores Windows: `Available connection tracking allowance` |  Informa de la cantidad de conexiones rastreadas que puede establecer la instancia antes de alcanzar el límite de conexiones rastreadas de ese tipo de instancia. Esta métrica solo está disponible en las instancias de EC2 basadas en Nitro que utilizan el controlador Linux para Elastic Network Adapter (ENA) a partir de la versión 2.8.1 y en aquellas computadoras que utilizan el controlador Windows para Elastic Network Adapter (ENA) a partir de la versión 2.6.0. Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](#CloudWatch-Agent-network-performance) Unidad: ninguna  | 
|  Nombre en los servidores Linux: :`ena_srd_mode` Nombre en los servidores Windows: `ena srd mode` |  Se describen qué características de ENA Express están habilitadas. Para obtener más información sobre ENA Express, consulte [Mejorar el rendimiento de la red con ENA Express en instancias de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). Los valores son los siguientes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html)  | 
|  Nombre en los servidores Linux: :`ena_srd_eligible_tx_pkts` Nombre en los servidores Windows: `ena srd eligible tx pkts` |  La cantidad de paquetes de red enviados dentro de un periodo determinado que cumplen con los requisitos de elegibilidad de datagramas fiables escalables (SRD) de AWS, como se indica a continuación: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html)  | 
|  Nombre en los servidores Linux: :`ena_srd_tx_pkts` Nombre en los servidores Windows: `ena srd tx pkts` |  El número de paquetes SRD transmitidos en un periodo determinado.  | 
|  Nombre en los servidores Linux: :`ena_srd_rx_pkts` Nombre en los servidores Windows: `ena srd rx pkts` |  El número de paquetes SRD recibidos en un periodo determinado.  | 
|  Nombre en los servidores Linux: :`ena_srd_resource_utilization` Nombre en los servidores Windows: `ena srd resource utilization` |  El porcentaje de uso máximo de memoria permitido para conexiones SRD simultáneas que ha consumido la instancia.  | 
|  Nombre en los servidores Linux: `linklocal_allowance_exceeded` Nombre en los servidores Windows: `Link local packet rate allowance exceeded`  |  El número de paquetes eliminados porque el PPS del tráfico a los servicios proxy locales superó el máximo para la interfaz de red. Esto afecta al tráfico hacia el servicio DNS, el servicio de metadatos de instancias y el Amazon Time Sync Service, pero no afecta al tráfico de los solucionadores de DNS personalizados. Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](#CloudWatch-Agent-network-performance) Unidad: ninguna  | 
|  Nombre en los servidores Linux: `pps_allowance_exceeded` Nombre en los servidores Windows: `PPS allowance exceeded` |  El número de paquetes en cola o eliminados debido a que el PPS bidireccional superó el máximo de la instancia.  Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](#CloudWatch-Agent-network-performance) Unidad: ninguna  | 

## Configuración de Linux
<a name="CloudWatch-Agent-network-performance-Linux"></a>

En los servidores Linux, el *complemento ethtool* le permite importar las métricas de rendimiento de red en CloudWatch.

Ethtool es una herramienta estándar de Linux que es capaz de recopilar estadísticas sobre dispositivos Ethernet en servidores Linux. Las estadísticas que recopila dependen del dispositivo de red y del controlador. Entre los ejemplos de estas estadísticas se incluyen `tx_cnt`, `rx_bytes`, `tx_errors`, y `align_errors`. Cuando se utiliza el complemento ethtool con el agente de CloudWatch, también se pueden importar estas estadísticas en CloudWatch, junto con las métricas de rendimiento de red de EC2 enumeradas anteriormente en esta sección.

**sugerencia**  
Para encontrar las estadísticas disponibles en nuestro sistema operativo y dispositivo de red, utilice el comando `ethtool –S`.

Cuando el agente de CloudWatch importa métricas en CloudWatch, agrega un prefijo `ethtool_` a los nombres de todas las métricas importadas. Por lo tanto, la estadística estándar de `rx_bytes` de ethtool se denomina `ethtool_rx_bytes` en CloudWatch y la métrica de rendimiento de red de EC2 `bw_in_allowance_exceeded` se denomina `ethtool_bw_in_allowance_exceeded` en CloudWatch.

En los servidores Linux, para importar métricas de ethtool, agregue una sección `ethtool` a `metrics_collected` del archivo de configuración del agente de CloudWatch La sección `ethtool` puede incluir las siguientes subsecciones:
+ **interface\$1include**: al incluir esta sección hace que el agente recopile métricas sólo de las interfaces que tienen nombres enumerados en esta sección. Si omite esta sección, las métricas se recopilan de todas las interfaces Ethernet que no se enumeran en `interface_exclude`.

  La interfaz Ethernet predeterminada es `eth0`.
+ **interface\$1exclude**: si incluye esta sección, indique las interfaces Ethernet de las que no desea recopilar métricas.

  El complemento ethtool siempre ignora las interfaces de bucle de retorno.
+ **metrics\$1include**: en esta sección se enumeran las métricas que se van a importar en CloudWatch. Puede incluir tanto estadísticas estándar que ethtool ha recopilado como también las métricas de red de alta resolución de Amazon EC2.

En el siguiente ejemplo se muestra parte del archivo de configuración del agente de CloudWatch. Esta configuración recopila las métricas estándar de ethtool `rx_packets` y `tx_packets` y las métricas de rendimiento de red de Amazon EC2 de la interfaz `eth1`.

Para obtener más información sobre el archivo de configuración del agente de CloudWatch, 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": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "ethtool": {
        "interface_include": [
          "eth1"
        ],
        "metrics_include": [
          "bw_in_allowance_exceeded",
          "bw_out_allowance_exceeded",
          "conntrack_allowance_exceeded",
          "linklocal_allowance_exceeded",
          "pps_allowance_exceeded"
         ]
      }
   }
}
}
```

## Configuración en Windows
<a name="CloudWatch-Agent-network-performance-Windows"></a>

En los servidores de Windows, las métricas de rendimiento de la red están disponibles a través de los contadores de rendimiento de Windows, de los que el agente de CloudWatch ya recopila las métricas. Por lo tanto, no necesita un complemento para recopilar estas métricas de los servidores de Windows.

A continuación, tiene una configuración de ejemplo para recopilar las métricas de rendimiento de red de Windows. Para obtener más información sobre cómo se edita el archivo de configuración del agente de CloudWatch, 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": {
            "InstanceId": "${aws:InstanceId}"
        },
        "metrics_collected": {
            "ENA Packets Shaping": {
                "measurement": [
                    "Aggregate inbound BW allowance exceeded",
                    "Aggregate outbound BW allowance exceeded",
                    "Connection tracking allowance exceeded",
                    "Link local packet rate allowance exceeded",
                    "PPS allowance exceeded"
                ],
                "metrics_collection_interval": 60,
                "resources": [
                    "*"
                ]
            }
        }
    }
}
```

## Métricas de rendimiento de la red
<a name="CloudWatch-view-ENA-metrics"></a>

Después de importar métricas de rendimiento de red en CloudWatch, puede ver estas métricas como gráficos de series temporales y crear alarmas que puedan ver estas métricas y notificarle si interrumpen un umbral especificado. El siguiente procedimiento muestra cómo se pueden ver las métricas de ethtool como un gráfico de series temporales. Para obtener más información sobre cómo configurar una alarma, consulte [Uso de las alarmas de Amazon CloudWatch](CloudWatch_Alarms.md).

Debido a que todas estas métricas son contadores agregados, puede usar funciones matemáticas métricas de CloudWatch, como `RATE(METRICS())` para calcular la tasa de estas métricas en gráficos o usarlas para establecer alarmas. Para obtener más información acerca de las funciones de cálculo de métricas, consulte [Uso de expresiones matemáticas con métricas de CloudWatch](using-metric-math.md).

**Para ver las métricas de rendimiento de las redes en la consola de CloudWatch**

1. 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, seleccione **Métricas**.

1. Elija el espacio de nombres que se usará para las métricas que el agente ha recopilado. De forma predeterminada, este es **CWAgent**, pero es posible que haya especificado un espacio de nombres diferente en el archivo de configuración del agente de CloudWatch.

1. Elija una dimensión de métrica (por ejemplo, **Per-Instance Metrics** [Métricas por instancia]).

1. La pestaña **All metrics** muestra todas las métricas para dicha dimensión en el espacio de nombres. Se puede hacer lo siguiente:

   1. Para representar gráficamente una métrica, active la casilla de verificación situada junto a ella. Para seleccionar todas las métricas, seleccione la casilla de verificación en la fila de encabezado de la tabla.

   1. Para ordenar la tabla, utilice el encabezado de columna.

   1. Para filtrar por recurso, elija el ID de recurso y, a continuación, elija **Add to search** (Añadir a la búsqueda).

   1. Para filtrar por métrica, elija el nombre de la métrica y, a continuación, elija **Add to search** (Añadir a la búsqueda).

1. (Opcional) Para agregar el gráfico a un panel de CloudWatch, elija **Actions** (Acciones) y después **Add to dashboard** (Añadir al panel).

# Recopilar métricas del controlador NVMe de Amazon EBS
<a name="Container-Insights-metrics-EBS-Collect"></a>

Para que el agente de CloudWatch recopile métricas del controlador NVMe de AWS para los volúmenes de Amazon EBS asociados a una instancia de Amazon EC2, agregue la sección `diskio` dentro de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch.

Además, el binario del agente CloudWatch requiere permisos `ioctl` para los dispositivos con controladores NVMe para recopilar métricas de los volúmenes de Amazon EBS asociados.

Se pueden recopilar las siguientes métricas. 


| Métrica | Nombre de métrica en CloudWatch | Descripción | 
| --- | --- | --- | 
|  `ebs_total_read_ops` |  `diskio_ebs_total_read_ops`  | El número total de operaciones de lectura completadas. | 
|  `ebs_total_write_ops` |  `diskio_ebs_total_write_ops`  | El número total de operaciones de escritura completadas. | 
|  `ebs_total_read_bytes` |  `diskio_ebs_total_read_bytes`  | El número total de bytes de lectura transferidos. | 
|  `ebs_total_write_bytes` |  `diskio_ebs_total_write_bytes`  | El número total de bytes de escritura transferidos. | 
|  `ebs_total_read_time` |  `diskio_ebs_total_read_time`  | El tiempo total empleado, en microsegundos, por todas las operaciones de lectura completadas. | 
|  `ebs_total_write_time` |  `diskio_ebs_total_write_time`  | El tiempo total empleado, en microsegundos, por todas las operaciones de escritura completadas. | 
|  `ebs_volume_performance_exceeded_iops` |  `diskio_ebs_volume_performance_exceeded_iops`  | El tiempo total, en microsegundos, durante el que la demanda de IOPS superó el rendimiento de las IOPS aprovisionadas para el volumen. | 
|  `ebs_volume_performance_exceeded_tp` |  `diskio_ebs_volume_performance_exceeded_tp`  | El tiempo total, en microsegundos, durante el que la demanda de rendimiento superó el rendimiento aprovisionado para el volumen. | 
|  `ebs_ec2_instance_performance_exceeded_iops` |  `diskio_ebs_ec2_instance_performance_exceeded_iops`  | El tiempo total, en microsegundos, durante el que el volumen de EBS superó el rendimiento máximo de IOPS de la instancia de Amazon EC2 asociada. | 
|  `ebs_ec2_instance_performance_exceeded_tp` |  `diskio_ebs_ec2_instance_performance_exceeded_tp`  | El tiempo total, en microsegundos, durante el que el volumen de EBS superó el rendimiento máximo de la instancia de Amazon EC2 asociada. | 
|  `ebs_volume_queue_length` |  `diskio_ebs_volume_queue_length`  | El número de operaciones de lectura y escritura a la espera de completarse. | 

# Recopilación de métricas del controlador NVMe para volúmenes del almacén de instancias de Amazon EC2
<a name="Container-Insights-metrics-instance-store-Collect"></a>

Para que el agente de CloudWatch recopile métricas del controlador NVMe de AWS para los volúmenes del almacén de instancias asociados a una instancia de Amazon EC2, agregue la sección `diskio` dentro de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch.

Además, el binario del agente de CloudWatch requiere permisos `ioctl` para los dispositivos con controladores NVMe para recopilar métricas de los volúmenes del almacén de instancias asociados.

Se pueden recopilar las siguientes métricas. 


| Métrica | Nombre de métrica en CloudWatch | Descripción | 
| --- | --- | --- | 
|  `instance_store_total_read_ops` |  `diskio_instance_store_total_read_ops`  | El número total de operaciones de lectura completadas. | 
|  `instance_store_total_write_ops` |  `diskio_instance_store_total_write_ops`  | El número total de operaciones de escritura completadas. | 
|  `instance_store_total_read_bytes` |  `diskio_instance_store_total_read_bytes`  | El número total de bytes de lectura transferidos. | 
|  `instance_store_total_write_bytes` |  `diskio_instance_store_total_write_bytes`  | El número total de bytes de escritura transferidos. | 
|  `instance_store_total_read_time` |  `diskio_instance_store_total_read_time`  | El tiempo total empleado, en microsegundos, por todas las operaciones de lectura completadas. | 
|  `instance_store_total_write_time` |  `diskio_instance_store_total_write_time`  | El tiempo total empleado, en microsegundos, por todas las operaciones de escritura completadas. | 
|  `instance_store_performance_exceeded_iops` |  `diskio_instance_store_performance_exceeded_iops`  | El tiempo total, en microsegundos, durante el que la demanda de IOPS superó el rendimiento máximo de las IOPS del volumen. | 
|  `instance_store_performance_exceeded_tp` |  `diskio_instance_store_performance_exceeded_tp`  | El tiempo total, en microsegundos, durante el que la demanda de rendimiento superó el rendimiento máximo del volumen. | 
|  `instance_store_volume_queue_length` |  `diskio_instance_store_volume_queue_length`  | El número de operaciones de lectura y escritura a la espera de completarse. | 

# Recopilación de métricas de GPU NVIDIA
<a name="CloudWatch-Agent-NVIDIA-GPU"></a>

 Puede utilizar el agente de CloudWatch para recopilar métricas de GPU NVIDIA de los servidores Linux. Para configurar esta acción, agregue una sección de `nvidia_gpu` en la sección de `metrics_collected` del archivo de configuración del agente de CloudWatch. Para obtener más información, consulte [Sección de Linux](CloudWatch-Agent-Configuration-File-Details.md#CloudWatch-Agent-Linux-section). 

Además, la instancia debe tener instalado un controlador NVIDIA. Los controladores de NVIDIA están preinstalados en algunas Imágenes de máquina de Amazon (AMI). De lo contrario, puede instalar el controlador de forma manual. Para obtener más información, consulte [Instalar los controladores NVIDIA en instancias de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html). 

Se pueden recopilar las siguientes métricas. Todas estas métricas se recopilan sin `Unit` de CloudWatch, pero puede especificar una unidad para cada métrica agregando un parámetro al archivo de configuración del agente de CloudWatch. Para obtener más información, consulte [Sección de Linux](CloudWatch-Agent-Configuration-File-Details.md#CloudWatch-Agent-Linux-section).


| Métrica | Nombre de métrica en CloudWatch | Descripción | 
| --- | --- | --- | 
|  `utilization_gpu` |  `nvidia_smi_utilization_gpu` |  Porcentaje de tiempo del último periodo de muestra durante el cual se ejecutaban uno o más núcleos en la GPU.  | 
|  `temperature_gpu` |  `nvidia_smi_temperature_gpu` |  Temperatura del núcleo de la GPU en grados Celsius.  | 
|  `power_draw` |  `nvidia_smi_power_draw` |  Último consumo de potencia medido para toda la placa en vatios.  | 
|  `utilization_memory` |  `nvidia_smi_utilization_memory` |  Porcentaje de tiempo del último periodo de muestra durante el cual se leía o escribía la memoria global (dispositivo).  | 
|  `fan_speed` |  `nvidia_smi_fan_speed` |  Porcentaje de velocidad máxima del ventilador con la cual se espera que funcione el ventilador del dispositivo en este momento.  | 
|  `memory_total` |  `nvidia_smi_memory_total` |  Memoria total informada en MB.  | 
|  `memory_used` |  `nvidia_smi_memory_used` |  Memoria utilizada en MB.  | 
|  `memory_free` |  `nvidia_smi_memory_free` |  Memoria libre en MB.  | 
|  `pcie_link_gen_current` |  `nvidia_smi_pcie_link_gen_current` |  Generación de enlaces actual.  | 
|  `pcie_link_width_current` |  `nvidia_smi_pcie_link_width_current` |  Ancho de enlace actual.  | 
|  `encoder_stats_session_count` |  `nvidia_smi_encoder_stats_session_count` |  Número actual de sesiones de codificador.  | 
|  `encoder_stats_average_fps` |  `nvidia_smi_encoder_stats_average_fps` |  Media móvil de los fotogramas de codificación por segundo.  | 
|  `encoder_stats_average_latency` |  `nvidia_smi_encoder_stats_average_latency` |  Media móvil de la latencia de codificación en microsegundos.  | 
|  `clocks_current_graphics` |  `nvidia_smi_clocks_current_graphics` |  Frecuencia actual del reloj de gráficos (sombreador).  | 
|  `clocks_current_sm` |  `nvidia_smi_clocks_current_sm` |  Frecuencia actual del reloj del multiprocesador de streaming (SM).  | 
|  `clocks_current_memory` |  `nvidia_smi_clocks_current_memory` |  Frecuencia actual del reloj de memoria.  | 
|  `clocks_current_video` |  `nvidia_smi_clocks_current_video` |  Frecuencia actual de los relojes de video (codificador más decodificador).  | 

Todas estas métricas se recopilan con las siguientes dimensiones:


| Dimensión | Descripción | 
| --- | --- | 
|  `index` |  Un identificador único de la GPU en este servidor. Representa el índice de la Biblioteca de administración de NVIDIA (NVML) del dispositivo.  | 
|  `name` |  Tipo de GPU. Por ejemplo: ., `NVIDIA Tesla A100`  | 
|  `arch` |  La arquitectura del servidor.  | 

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

Puede utilizar el agente de CloudWatch para recopilar métricas de Java Management Extensions (JMX) de las aplicaciones en Java.

El agente de CloudWatch permite recopilar estas métricas de las siguientes versiones:
+ JVM 8 y posterior
+ Kafka 0.8.2.x y posterior
+ Tomcat 9, 10.1 y 11 (beta)

------
#### [ Amazon EC2 ]

**Habilitación de JMX en la instancia de JVM**  
Para que el agente de CloudWatch pueda recopilar métricas de JMX, la JVM de la aplicación debe enlazarse a un puerto mediante la propiedad del sistema `com.sun.management.jmxremote.port`.

```
java -Dcom.sun.management.jmxremote.port=port-number -jar example.jar
```

Para obtener más información y otras configuraciones, consulte la [documentación de JMX](https://docs.oracle.com/en/java/javase/17/management/monitoring-and-management-using-jmx-technology.html).

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

**Habilitación de JMX en los pods de aplicaciones en Java**  
Al utilizar el complemento de observabilidad de EKS de CloudWatch, puede administrar la forma en que se habilitan las métricas de JMX mediante anotaciones. Para obtener más información, consulte [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). Para habilitar la recopilación de métricas JMX de una carga de trabajo, agregue las siguientes anotaciones al archivo de manifiesto de la carga de trabajo de la sección `PodTemplate`:
+ `instrumentation.opentelemetry.io/inject-java: "true"`
+ Una o varias de las siguientes:
  + Para las métricas de JVM: `cloudwatch.aws.amazon.com/inject-jmx-jvm: "true"`
  + Para las métricas del agente de Kafka: `cloudwatch.aws.amazon.com/inject-jmx-kafka: "true"`
  + Para las métricas del consumidor de Kafka: `cloudwatch.aws.amazon.com/inject-jmx-kafka-consumer: "true"`
  + Para las métricas del productor de Kafka: `cloudwatch.aws.amazon.com/inject-jmx-kafka-producer: "true"`
  + Para las métricas de Tomcat: `cloudwatch.aws.amazon.com/inject-jmx-tomcat: "true"`

------

Para comenzar a recopilar métricas de JMX, agregue una sección `jmx` en la sección `metrics_collected` del archivo de configuración del agente de CloudWatch. La sección `jmx` puede incluir los siguientes campos.
+ `jvm`: opcional. Indica que desea recuperar métricas de Java Virtual Machine (JVM) de la instancia. Para obtener más información, consulte [Recopilación de métricas de JVM](#CloudWatch-Agent-JVM-metrics). 

  Esta sección puede incluir los siguientes campos.
  + `measurement`: especifica la matriz de métricas de la JVM que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna **Metric** (Métrica) de la tabla de [Recopilación de métricas de JVM](#CloudWatch-Agent-JVM-metrics).

    En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
+ `kafka`: opcional. Indica que desea recuperar métricas de los agentes de Apache Kafka de la instancia. Para obtener más información, consulte [Recopilación de métricas de Kafka](#CloudWatch-Agent-Kafka-metrics). 

  Esta sección puede incluir los siguientes campos.
  + `measurement`: especifica la matriz de métricas de los agentes de Kafka que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna **Métrica** de la tabla de [Recopilación de métricas de Kafka](#CloudWatch-Agent-Kafka-metrics).

    En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
+ `kafka-consumer`: opcional. Indica que desea recuperar métricas de los consumidores de Apache Kafka de la instancia. Para obtener más información, consulte [Recopilación de métricas de Kafka](#CloudWatch-Agent-Kafka-metrics). 

  Esta sección puede incluir los siguientes campos.
  + `measurement`: especifica la matriz de métricas de los agentes de Kafka que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna **Métrica** de la segunda tabla de métricas de [Recopilación de métricas de Kafka](#CloudWatch-Agent-Kafka-metrics).

    En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
+ `kafka-producer`: opcional. Indica que desea recuperar métricas de los productores de Apache Kafka de la instancia. Para obtener más información, consulte [Recopilación de métricas de Kafka](#CloudWatch-Agent-Kafka-metrics). 

  Esta sección puede incluir los siguientes campos.
  + `measurement`: especifica la matriz de métricas de los agentes de Kafka que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna **Métrica** de la tercera tabla de métricas de [Recopilación de métricas de Kafka](#CloudWatch-Agent-Kafka-metrics).

    En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
+ `tomcat`: opcional. Indica que desea recuperar métricas de Tomcat de la instancia. Para obtener más información, consulte [Recopilación de métricas de Tomcat](#CloudWatch-Agent-Tomcat-metrics). 

  Esta sección puede incluir los siguientes campos.
  + `measurement`: especifica la matriz de las métricas de Tomcat que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna **Metric** (Métrica) de la tabla de [Recopilación de métricas de Tomcat](#CloudWatch-Agent-Tomcat-metrics).

    En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
    + `rename`: especifica un nombre diferente para esta métrica.
    + `unit`: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción de `Unit` en [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).

La sección `jmx` también puede incluir el campo opcional `append_dimensions`:
+ `append_dimensions`: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de proceso. Si especifica este campo, se usa además de las dimensiones especificadas en el campo `append_dimensions` que se utiliza para todos los tipos de métricas recopiladas por el agente.

**Los siguientes campos son solo para Amazon EC2.**
+ `endpoint`: la dirección a la que se debe conectar el cliente de JMX. El formato es `ip:port`. Si el punto de conexión no es el host local, y la autenticación por contraseña y el SSL deben estar habilitados.
+ `metrics_collection_interval`: opcional. Especifica la frecuencia con la que se recopilarán las métricas de proceso, lo que anula el valor de `metrics_collection_interval` global especificado en la sección `agent` del archivo de configuración.

  Este valor se especifica en segundos. Por ejemplo, indicar 10 hace que las métricas se deben recopilar cada 10 segundos y establecerlo en 300 especifica que las métricas se deben recopilar cada 5 minutos.

  Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información, consulte [Métricas de alta resolución](publishingMetrics.md#high-resolution-metrics). 

Si JMX se habilitó con autenticación por contraseña o SSL para el acceso remoto, puede usar los siguientes campos.
+ `password_file`: opcional. Especifica un archivo de propiedades de Java con las claves de las contraseñas. El archivo debe ser de solo lectura y estar restringido al usuario que ejecute el agente de CloudWatch. Si la autenticación con contraseña está habilitada, se requiere el mismo par de nombre de usuario y contraseña que la entrada en el archivo de contraseñas de JMX que se proporciona en la propiedad `com.sun.management.jmxremote.password.file`. Si el SSL está habilitado, requiere entradas para `keystore` y `truststore`, y corresponde a `javax.net.ssl.keyStorePassword` y `javax.net.ssl.trustStorePassword`, respectivamente.
+ `username`: si la autenticación por contraseña está habilitada, especifique el nombre de usuario que coincida con el nombre de usuario del archivo de contraseñas proporcionado.
+ `keystore_path`: si el SSL está habilitado, especifique la ruta completa al almacén de claves de Java, que consta de una clave privada y un certificado de la clave pública. Corresponde a la propiedad `javax.net.ssl.keyStore`.
+ `keystore_type`: si SSL está habilitado, especifique el tipo de almacén de claves que se va a utilizar. Corresponde a la propiedad `javax.net.ssl.keyStoreType`.
+ `truststore_path`: si SSL está habilitado, especifique la ruta completa al almacén de confianza de Java, que debe contener el certificado público del servidor JMX remoto. Corresponde a la propiedad `javax.net.ssl.trustStore`.
+ `truststore_type`: si SSL está habilitado, especifique el tipo de almacén de confianza que se va a utilizar. Corresponde a la propiedad `javax.net.ssl.trustStoreType`.
+ `remote_profile`: opcional. Los perfiles remotos de JMX admitidos son TLS en combinación con los perfiles de SASL: `SASL/PLAIN`, `SASL/DIGEST-MD5` y `SASL/CRAM-MD5`. Debe ser uno de los siguientes: `SASL/PLAIN`, `SASL/DIGEST-MD5`, `SASL/CRAM-MD5`, `TLS SASL/PLAIN`, `TLS SASL/DIGEST-MD5` o `TLS SASL/CRAM-MD5`
+ `realm`: opcional. El dominio según lo requerido por el perfil remoto `SASL/DIGEST-MD5`.
+ `registry_ssl_enabled`: si la autenticación del registro RMI está habilitada. Se establece en true si la JVM se configuró con `com.sun.management.jmxremote.registry.ssl=true`.
+ `insecure`: se configura en `true` para excluir la validación necesaria si el agente está configurado para un punto de conexión que no sea de host local.

A continuación, se ofrece un ejemplo de la sección `jmx` del archivo de configuración del agente de CloudWatch.

```
{
  "metrics": {
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "remotehost:1314",
          "jvm": {
            "measurement": [
              "jvm.memory.heap.init",
              "jvm.memory.nonheap.used"
            ]
          },
          "kafka": {
            "measurement": [
              "kafka.request.count",
              {
                "name": "kafka.message.count",
                "rename": "KAFKA_MESSAGE_COUNT",
                "unit": "Count"
              }
            ]
          },
          "username": "cwagent",
          "keystore_path": "/path/to/keystore",
          "keystore_type": "PKCS12",
          "truststore_path": "/path/to/truststore",
          "truststore_type": "PKCS12"
        },
        {
          "endpoint": "localhost:1315",
          "kafka-producer": {
            "measurement": [
              "kafka.producer.request-rate"
            ]
          },
          "append_dimensions": {
            "service.name": "kafka/1"
          }
        }
      ]
    }
  }
}
```

## Recopilación de métricas de JVM
<a name="CloudWatch-Agent-JVM-metrics"></a>

Puede utilizar el agente de CloudWatch para recopilar métricas de Java Virtual Machine (JVM). Para configurar esta acción, agregue una sección de `jvm` en la sección de `jmx` del archivo de configuración del agente de CloudWatch.

Se pueden recopilar las siguientes métricas.


| Métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `jvm.classes.loaded` | [PREDETERMINADA] |  Número total de clases cargadas. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.gc.collections.count` | [PREDETERMINADO], `name` |  Número total de recopilaciones de elementos no utilizados que se han llevado a cabo. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.gc.collections.elapsed` | [PREDETERMINADO], `name` |  Tiempo acumulado transcurrido aproximado de recopilación de elementos no utilizados. **Unidad:** milisegundos **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.heap.init` | [PREDETERMINADA] |  Cantidad inicial de memoria que la JVM solicita al sistema operativo para el montón. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.heap.max` |  [PREDETERMINADA]  |  Cantidad máxima de memoria que se puede usar para el montón. **Unidad:** bytes **Estadísticas significativas:** máximo  | 
|  `jvm.memory.heap.used` | [PREDETERMINADA] |  El uso actual de memoria del montón. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.heap.committed` | [PREDETERMINADA] |  Cantidad de memoria que se garantiza que estará disponible para el montón. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.nonheap.init` | [PREDETERMINADA] |  Cantidad inicial de memoria que la JVM solicita al sistema operativo para fines distintos del montón. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.nonheap.max` | [PREDETERMINADA] |  Cantidad máxima de memoria que se puede utilizar para fines distintos del montón. **Unidad:** bytes **Estadísticas significativas:** máximo  | 
|  `jvm.memory.nonheap.used` | [PREDETERMINADA] |  Uso actual de la memoria que no es para el montón. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.nonheap.committed` | [PREDETERMINADA] |  Cantidad de memoria que se garantiza que estará disponible para fines distintos del montón. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.pool.init` |  [PREDETERMINADO], `name` |  Cantidad inicial de memoria que la JVM solicita al sistema operativo para el grupo de memoria. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.pool.max` |  [PREDETERMINADO], `name` |  Cantidad máxima de memoria que se puede usar para el grupo de memoria. **Unidad:** bytes **Estadísticas significativas:** máximo  | 
|  `jvm.memory.pool.used` |  [PREDETERMINADO], `name` |  Uso actual de la memoria del grupo de memoria. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.memory.pool.committed` |  [PREDETERMINADO], `name` |  Cantidad de memoria que se garantiza que estará disponible para el grupo de memoria. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `jvm.threads.count` | [PREDETERMINADA] |  Número actual de subprocesos. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 

Las métricas de JVM se recopilan con las siguientes dimensiones:


| Dimensión | Descripción | 
| --- | --- | 
| [PREDETERMINADA] | De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo `append_dimensions` en la sección `metrics`. Consulte `omit_hostname` en la sección del agente de [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md) para obtener más información. De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`,`k8s.node.name`, `k8s.pod.name` y `k8s.replicaset.name`). Estas se pueden filtrar mediante el campo `aggregation_dimensions`.  | 
| `name` | En el caso de las métricas `jvm.gc.collections`, el valor es el nombre del recolector de elementos no utilizados. En el caso de las métricas `jvm.memory.pool`, el valor es el nombre del grupo de memoria.  | 

## Recopilación de métricas de Kafka
<a name="CloudWatch-Agent-Kafka-metrics"></a>

Puede utilizar el agente de CloudWatch para recopilar métricas de Apache Kafka. Para configurarlo, agregue una o más de las subsección siguientes a la sección `jmx` del archivo de configuración del agente de CloudWatch.
+ Utilice una sección `kafka` para recopilar las métricas de los agentes de Kafka.
+ Utilice una sección `kafka-consumer` para recopilar las métricas de los consumidores de Kafka.
+ Utilice una sección `kafka-producer` para recopilar las métricas de los productores de Kafka.

**Métricas del agente de Kafka**

Se pueden recopilar las siguientes métricas de los agente de Kafka.


| Métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `kafka.message.count` | [PREDETERMINADA] |  Número de mensajes recibidos por el agente de Kafka. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.request.count` |  [PREDETERMINADO], `type` |  Número de solicitudes recibidas por el agente de Kafka. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.request.failed` | [PREDETERMINADO], `type` |  Número de solicitudes al agente de Kafka que provocaron un error. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.request.time.total` | [PREDETERMINADO], `type` |  Tiempo total que el agente de Kafka dedicó a atender las solicitudes. **Unidad:** milisegundos **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.request.time.50p` | [PREDETERMINADO], `type` |  Percentil 50 del tiempo que el agente de Kafka dedicó a atender las solicitudes. **Unidad:** milisegundos **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.request.time.99p` | [PREDETERMINADO], `type` |  Percentil 99 del tiempo que el agente de Kafka dedicó a atender las solicitudes. **Unidad:** milisegundos **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.request.time.avg` | [PREDETERMINADO], `type` |  Tiempo promedio que el agente de Kafka dedicó a atender las solicitudes. **Unidad:** milisegundos **Estadísticas significativas:** promedio  | 
|  `kafka.network.io` | [PREDETERMINADO], `state` |  Número de bytes recibidos o enviados por el agente de Kafka. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.purgatory.size` | [PREDETERMINADO], `type` |  Número de solicitudes en espera en el purgatorio. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.partition.count` | [PREDETERMINADA] |  Número de particiones en el agente de Kafka. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.partition.offline` | [PREDETERMINADA] |  Número de particiones que están sin conexión. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.partition.under_replicated` | [PREDETERMINADA] |  Número de particiones infrarreplicadas. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.isr.operation.count` | [PREDETERMINADO], `operation` |  Número de operaciones de reducción y expansión de réplicas sincronizadas. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.max.lag` | [PREDETERMINADA] |  Retraso máximo en los mensajes entre las réplicas de seguidores y líderes. **Unidad:** ninguna **Estadísticas significativas:** máximo  | 
|  `kafka.controller.active.count` |  [PREDETERMINADA] |  Número de controladores activos en el agente. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.leader.election.rate` |  [PREDETERMINADA] |  Tasa de elección de líderes. Si aumenta, indica que hay errores en el agente. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.unclean.election.rate` |  [PREDETERMINADA] |  Tasa de elección de líderes sin limpiar. Si aumenta, indica que hay errores en el agente. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.request.queue` |  [PREDETERMINADA] |  Tamaño de la cola de solicitudes. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.logs.flush.time.count`  |  [PREDETERMINADA] |  Recuento de vaciados de registros. **Unidad:** milisegundos **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.logs.flush.time.median` |  [PREDETERMINADA] |  Valor del percentil 50 del recuento de vaciados de registros. **Unidad:** milisegundos **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.logs.flush.time.99p` |  [PREDETERMINADA] |  Valor del percentil 99 del recuento de vaciados de registros. **Unidad:** milisegundos **Estadísticas significativas:** mínimo, máximo, promedio  | 

Las métricas de agentes de Kafka se recopilan con las siguientes dimensiones:


| Dimensión | Descripción | 
| --- | --- | 
| [PREDETERMINADA] | De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo `append_dimensions` en la sección `metrics`. Consulte `omit_hostname` en la sección del agente de [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md) para obtener más información. De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`,`k8s.node.name`, `k8s.pod.name` y `k8s.replicaset.name`). Estas se pueden filtrar mediante el campo `aggregation_dimensions`.  | 
| `type` | El tipo de la solicitud. Los valores posibles son `produce`, `fetch`, `fetchconsumer` y `fetchfollower`. | 
| `state` | La dirección del tráfico de red. Los posibles valores son `in` y `out`. | 
| `operation` | El tipo de operación de la réplica sincronizada. Los posibles valores son `shrink` y `expand`. | 

**Métricas de consumidores de Kafka**

Se pueden recopilar las siguientes métricas de los consumidores de Kafka.


| Métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `kafka.consumer.fetch-rate` | [PREDETERMINADO], `client-id` |  Número de solicitudes de recuperación de todos los temas por segundo. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.consumer.records-lag-max` |  [PREDETERMINADO], `client-id` |  Número de mensajes que el consumidor está atrasado con respecto al productor. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.consumer.total.bytes-consumed-rate` |  [PREDETERMINADO], `client-id` |  Cantidad promedio de bytes consumidos para todos los temas por segundo. **Unidad:** bytes **Estadísticas significativas:** promedio  | 
|  `kafka.consumer.total.fetch-size-avg` |  [PREDETERMINADO], `client-id` |  Número de bytes recuperados por solicitud para todos los temas. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.consumer.total.records-consumed-rate` |  [PREDETERMINADO], `client-id` |  Número promedio de registros consumidos para todos los temas por segundo. **Unidad:** ninguna **Estadísticas significativas:** promedio  | 
|  `kafka.consumer.bytes-consumed-rate` |  [PREDETERMINADO], `client-id`, `topic` |  Número promedio de bytes consumidos por segundo. **Unidad:** bytes **Estadísticas significativas:** promedio  | 
|  `kafka.consumer.fetch-size-avg` | [PREDETERMINADO], `client-id`, `topic` |  Número de bytes recuperados por solicitud. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.consumer.records-consumed-rate` | [PREDETERMINADO], `client-id`, `topic` |  Número promedio de registros consumidos por segundo. **Unidad:** ninguna **Estadísticas significativas:** promedio  | 

Las métricas de consumidores de Kafka se recopilan con las siguientes dimensiones:


| Dimensión | Descripción | 
| --- | --- | 
| [PREDETERMINADA] | De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo `append_dimensions` en la sección `metrics`. Consulte `omit_hostname` en la sección del agente de [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md) para obtener más información. De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`,`k8s.node.name`, `k8s.pod.name` y `k8s.replicaset.name`). Estas se pueden filtrar mediante el campo `aggregation_dimensions`.  | 
| `client-id` | El ID del cliente. | 
| `topic` | El tema de Kafka. | 

**Métricas de productores de Kafka**

Se pueden recopilar las siguientes métricas de los productores de Kafka.


| Métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `kafka.producer.io-wait-time-ns-avg` | [PREDETERMINADO], `client-id` |  Tiempo promedio que el subproceso de E/S pasa esperando a que un socket esté listo para lecturas o escrituras. **Unidad:** ninguna **Estadísticas significativas:** promedio  | 
|  `kafka.producer.outgoing-byte-rate` | [PREDETERMINADO], `client-id` |  Número promedio de bytes salientes enviados por segundo a todos los servidores. **Unidad:** bytes **Estadísticas significativas:** promedio  | 
|  `kafka.producer.request-latency-avg` | [PREDETERMINADO], `client-id` |  Latencia promedio de las solicitudes. **Unidad:** milisegundos **Estadísticas significativas:** promedio  | 
|  `kafka.producer.request-rate` | [PREDETERMINADO], `client-id` |  Número promedio de solicitudes enviadas por segundo. **Unidad:** ninguna **Estadísticas significativas:** promedio  | 
|  `kafka.producer.response-rate` | [PREDETERMINADO], `client-id` |  Número de respuestas recibidas por segundo. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `kafka.producer.byte-rate` | [PREDETERMINADO], `client-id`, `topic` |  Número promedio de bytes enviados por segundo para un tema. **Unidad:** bytes **Estadísticas significativas:** promedio  | 
|  `kafka.producer.compression-rate` | [PREDETERMINADO], `client-id`, `topic` |  Tasa de compresión promedio de los lotes de registros de un tema. **Unidad:** ninguna **Estadísticas significativas:** promedio  | 
|  `kafka.producer.record-error-rate` | [PREDETERMINADO], `client-id`, `topic` |  Número promedio por segundo de envíos de registros que generaron errores en un tema. **Unidad:** ninguna **Estadísticas significativas:** promedio  | 
|  `kafka.producer.record-retry-rate` | [PREDETERMINADO], `client-id`, `topic` |  Número promedio por segundo de envíos de registros reintentados para un tema. **Unidad:** ninguna **Estadísticas significativas:** promedio  | 
|  `kafka.producer.record-send-rate` | [PREDETERMINADO], `client-id`, `topic` |  Número promedio de registros enviados por segundo para un tema. **Unidad:** ninguna **Estadísticas significativas:** promedio  | 

Las métricas de productores de Kafka se recopilan con las siguientes dimensiones:


| Dimensión | Descripción | 
| --- | --- | 
| [PREDETERMINADA] | De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo `append_dimensions` en la sección `metrics`. Consulte `omit_hostname` en la sección del agente de [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md) para obtener más información. De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`,`k8s.node.name`, `k8s.pod.name` y `k8s.replicaset.name`). Estas se pueden filtrar mediante el campo `aggregation_dimensions`.  | 
| `client-id` | El ID del cliente. | 
| `topic` | El tema de Kafka. | 

## Recopilación de métricas de Tomcat
<a name="CloudWatch-Agent-Tomcat-metrics"></a>

Puede utilizar el agente de CloudWatch para recopilar métricas de Apache Tomcat. Para configurar esta acción, agregue una sección de `tomcat` en la sección de `metrics_collected` del archivo de configuración del agente de CloudWatch.

Se pueden recopilar las siguientes métricas.


| Métrica | Dimensiones | Descripción | 
| --- | --- | --- | 
|  `tomcat.sessions` | [PREDETERMINADA] |  Número de sesiones activas. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `tomcat.errors`  | [PREDETERMINADO], `proto_handler` |  Número de errores que se encontraron. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio  | 
|  `tomcat.processing_time`  | [PREDETERMINADO], `proto_handler` |  Tiempo total de procesamiento. **Unidad:** milisegundos **Estadísticas significativas:** mínimo, máximo, promedio   | 
|  `tomcat.traffic`  | [PREDETERMINADO], `proto_handler` |  Número de bytes recibidos y enviados. **Unidad:** bytes **Estadísticas significativas:** mínimo, máximo, promedio   | 
|  `tomcat.threads`  | [PREDETERMINADO], `proto_handler` |  Número de subprocesos. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio   | 
|  `tomcat.max_time`  | [PREDETERMINADO], `proto_handler`, `direction` |  Tiempo máximo para procesar una solicitud. **Unidad:** milisegundos **Estadísticas significativas:** máximo   | 
|  `tomcat.request_count`  | [PREDETERMINADO], `proto_handler` |  Total de solicitudes. **Unidad:** ninguna **Estadísticas significativas:** mínimo, máximo, promedio   | 

Las métricas de Tomcat se recopilan con las siguientes dimensiones:


| Dimensión | Descripción | 
| --- | --- | 
| [PREDETERMINADA] | De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo `append_dimensions` en la sección `metrics`. Consulte `omit_hostname` en la sección del agente de [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md) para obtener más información. De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`,`k8s.node.name`, `k8s.pod.name` y `k8s.replicaset.name`). Estas se pueden filtrar mediante el campo `aggregation_dimensions`.  | 
| `proto_handler` | `proto_handler` es un identificador de un conector, que se proporciona en el formato `<protocol>-<type>-<port>` (por ejemplo, `http-nio-8080`). | 
| `direction` | La dirección del tráfico. Los posibles valores son `received` y `sent`.  | 

# Recopilación de métricas y seguimientos con OpenTelemetry
<a name="CloudWatch-Agent-OpenTelemetry-metrics"></a>

 Puede recopilar métricas y seguimientos de las aplicaciones o servicios mediante el agente de CloudWatch con el protocolo de OpenTelemetry (OTLP), que es una popular solución de código abierto. Puede utilizar cualquier SDK de OpenTelemetry para enviar métricas y seguimientos al agente de CloudWatch. Para obtener más información sobre los SDK de OpenTelemetry disponibles, consulte [APIs y SDKs para lenguajes compatibles de OpenTelemetry](https://opentelemetry.io/docs/languages/).

Para recopilar métricas y seguimientos de OpenTelemetry, agregue una sección `otlp` al archivo de configuración del agente de CloudWatch. La sección incluye los siguientes campos:
+ `grpc_endpoint`: opcional. Especifica la dirección que debe utilizar el agente de CloudWatch para escuchar las métricas y seguimientos de OpenTelemetry enviados mediante llamadas a procedimientos remotos de gRPC. El formato es `ip:port`. Esta dirección debe coincidir con la dirección establecida para el exportador de gRPC en el SDK de OpenTelemetry. Si omite este campo, se usa el valor predeterminado de `127.0.0.1:4317`.
+ `http_endpoint`: opcional. Especifica la dirección que el agente de CloudWatch debe utilizar para escuchar las métricas y seguimientos de OpenTelemetry enviados a través de HTTP. El formato es `ip:port`. Esta dirección debe coincidir con la dirección establecida para el exportador HTTP en el SDK de OpenTelemetry. Si omite este campo, se usa el valor predeterminado de `127.0.0.1:4318`.
+ `tls`: opcional. Especifica que el servidor debe configurarse con TLS.
  + `cert_file`: ruta al certificado TLS que se utilizará en las conexiones TLS obligatorias.
  + `key_file`: ruta a la clave TLS que se utilizará en las conexiones TLS obligatorias.

La sección `otlp` se puede colocar en varias secciones dentro del archivo de configuración del agente de CloudWatch, en función de cómo y dónde quiera enviar las métricas y los seguimientos.

**importante**  
Cada sección `otlp` requiere un punto de conexión y puerto. Si desea obtener información detallada sobre cómo dividir los puntos de conexión de métricas y seguimientos, consulte la [configuración del exportador de OTLP](https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/) en la documentación del SDK de OpenTelemetry.

Para enviar métricas a CloudWatch o Amazon Managed Service para Prometheus, agregue la sección `otlp` que aparece debajo de `metrics_collected` en la sección `metrics`. Para obtener más información sobre el envío de métricas a distintos destinos, consulte [Cree o edite de forma manual el archivo de configuración del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md). En el siguiente ejemplo se muestra una configuración que envía métricas a CloudWatch:

**nota**  
 Si ejecuta el agente en entornos en contenedores y envía telemetría desde fuera de la red del contenedor del agente, asegúrese de especificar el punto de conexión como `0.0.0.0` en lugar del punto de conexión predeterminado `127.0.0.1`.

```
{
  "metrics": {
    "metrics_collected": {
      "otlp": {
        "grpc_endpoint": "127.0.0.1:4317",
        "http_endpoint": "127.0.0.1:4318"
      }
    }
  }
}
```

Para enviar métricas a Registros de Amazon CloudWatch mediante el formato de métricas integradas (EMF), agregue la sección `otlp` debajo de `metrics_collected` en la sección `logs`. Esto envía los registros de EMF de forma predeterminada al grupo de registro `/aws/cwagent` y a un flujo de registro generado. Las métricas se extraen en el espacio de nombres `CWAgent` de forma predeterminada. En el siguiente ejemplo se muestra una configuración que envía las métricas como registros de EMF a Registros de CloudWatch:

```
{
  "logs": {
    "metrics_collected": {
      "otlp": {
        "grpc_endpoint": "127.0.0.1:4317",
        "http_endpoint": "127.0.0.1:4318"
      }
    }
  }
}
```

Para enviar los seguimientos a AWS X-Ray, agregue la sección `otlp` debajo de `traces_collected` en la sección `traces`. En el siguiente ejemplo se muestra una configuración que envía seguimientos a X-Ray:

```
{
  "traces": {
    "traces_collected": {
      "otlp": {
        "grpc_endpoint": "127.0.0.1:4317",
        "http_endpoint": "127.0.0.1:4318"
      }
    }
  }
}
```

# Recopilación de las métricas de procesos con el complemento procstat
<a name="CloudWatch-Agent-procstat-process-metrics"></a>

 El complemento *procstat* permite recopilar las métricas de procesos individuales. El complemento es compatible con los servidores Linux y con servidores con versiones compatibles de Windows Server. En esta sección se describe cómo configurar el agente de CloudWatch para procstat y cómo ver las métricas que importa el agente de CloudWatch. También se enumeran las métricas que recopila procstat. 

**nota**  
El complemento `procstat` no es compatible con el tipo de lanzamiento Fargate en los entornos de Amazon ECS. 

**Topics**
+ [Configurar el agente de CloudWatch para procstat](#CloudWatch-Agent-procstat-configuration)
+ [Métricas que procstat ha recopilado](#CloudWatch-Agent-procstat-process-metrics-collected)
+ [Visualización de las métricas de proceso que el agente de CloudWatch ha importado.](#CloudWatch-view-procstat-metrics)

## Configurar el agente de CloudWatch para procstat
<a name="CloudWatch-Agent-procstat-configuration"></a>

Para utilizar el complemento procstat, agregue una sección `procstat` en la sección `metrics_collected` del archivo de configuración del agente de CloudWatch. Existen tres formas de especificar los procesos para supervisar. Puede utilizar solo uno de estos métodos, pero puede utilizar ese método para especificar uno o varios procesos para supervisar.
+ `pid_file`: selecciona los procesos por los nombres de los archivos de número de identificación de proceso (PID) que estos procesos crean. 
+ `exe`: selecciona los procesos que tienen nombres de proceso que coinciden con la cadena que especifique, utilizando reglas coincidentes con expresiones regulares. La coincidencia es una coincidencia «contains» (contiene), lo que significa que si especifica `agent` como el término con el que coincidir, procesa con nombres como `cloudwatchagent` coincidir con el término. Para obtener más información, consulte [Sintaxis](https://github.com/google/re2/wiki/Syntax).
+ `pattern`: selecciona los procesos por las líneas de comandos utilizadas para iniciar los procesos. Se seleccionan todos los procesos que tienen líneas de comandos que coinciden con la cadena especificada con reglas de coincidencia de expresiones regulares. Se comprueba toda la línea de comandos, incluidos parámetros y opciones utilizados con el comando.

   La coincidencia es una coincidencia «contains» (contiene), lo que significa que si especifica `-c` como el término para coincidir, procesa con parámetros como `-config` coincidir con el término. 

El agente CloudWatch utiliza solo uno de estos métodos, incluso si incluye más de una de las secciones anteriores. Si especifica más de una sección, el agente de CloudWatch utiliza la sección `pid_file` en caso de que esté presente. En caso contrario, utiliza la sección `exe`.

En servidores Linux las cadenas que especifique en una sección `exe` o `pattern` se evalúan como expresiones regulares. En servidores que ejecutan Windows Server, estas cadenas se evalúan como consultas de WMI. Un ejemplo sería `pattern: "%apache%"`. Para obtener más información, consulte [Operador LIKE](https://docs.microsoft.com/en-us/windows/desktop/WmiSdk/like-operator).

Independientemente del método que utilice, puede incluir un parámetro `metrics_collection_interval` opcional, que especifique la frecuencia en segundos para recopilar dichas métricas. Si omite este parámetro, se utiliza el valor predeterminado de 60 segundos.

En los ejemplos de las siguientes secciones, la sección `procstat` es la única sección incluida en la sección `metrics_collected` del archivo de configuración del agente. Los archivos de configuración reales también incluyen otras secciones en `metrics_collected`. 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).

### Configurar con pid\$1file
<a name="CloudWatch-Agent-procstat-configuration-pidfile"></a>

En el siguiente ejemplo, la sección `procstat` supervisa los procesos que crean los archivos PID `example1.pid` y `example2.pid`. De cada proceso se recopilan diferentes métricas. Las métricas recopiladas desde el proceso que crea `example2.pid` se recopilan cada 10 segundos y las métricas recopiladas desde el proceso `example1.pid` se recopilan cada 60 segundos, que es el valor predeterminado. 

```
{
    "metrics": {
        "metrics_collected": {
            "procstat": [
                {
                    "pid_file": "/var/run/example1.pid",
                    "measurement": [
                        "cpu_usage",
                        "memory_rss"
                    ]
                },
                {
                    "pid_file": "/var/run/example2.pid",
                    "measurement": [
                        "read_bytes",
                        "read_count",
                        "write_bytes"
                    ],
                    "metrics_collection_interval": 10
                }
            ]
        }
    }
}
```

### Configuración con exe
<a name="CloudWatch-Agent-procstat-configuration-exe"></a>

En el siguiente ejemplo, la sección `procstat` supervisa todos los procesos con nombres que coinciden con las cadenas `agent` o `plugin`. De cada proceso se recopilan las mismas métricas. 

```
{
    "metrics": {
        "metrics_collected": {
            "procstat": [
                {
                    "exe": "agent",
                    "measurement": [
                        "cpu_time",
                        "cpu_time_system",
                        "cpu_time_user"
                    ]
                },
                {
                    "exe": "plugin",
                    "measurement": [
                        "cpu_time",
                        "cpu_time_system",
                        "cpu_time_user"
                    ]
                }
            ]
        }
    }
}
```

### Configuración con patrón
<a name="CloudWatch-Agent-procstat-configuration-pattern"></a>

En el siguiente ejemplo, la sección `procstat` supervisa todos los procesos con líneas de comandos que coinciden con las cadenas `config` o `-c`. De cada proceso se recopilan las mismas métricas. 

```
{
    "metrics": {
        "metrics_collected": {
            "procstat": [
                {
                    "pattern": "config",
                    "measurement": [
                        "rlimit_memory_data_hard",
                        "rlimit_memory_data_soft",
                        "rlimit_memory_stack_hard",
                        "rlimit_memory_stack_soft"
                    ]
                },
                {
                    "pattern": "-c",
                    "measurement": [
                        "rlimit_memory_data_hard",
                        "rlimit_memory_data_soft",
                        "rlimit_memory_stack_hard",
                        "rlimit_memory_stack_soft"
                    ]
                }
            ]
        }
    }
}
```

## Métricas que procstat ha recopilado
<a name="CloudWatch-Agent-procstat-process-metrics-collected"></a>

En la siguiente tabla se muestran las métricas que puede recopilar con el complemento `procstat`.

El agente de CloudWatch agrega `procstat` al principio de los siguientes nombres de métricas. Existe una sintaxis diferente en función de si se ha recopilado de un servidor Linux o un servidor con Windows Server. Por ejemplo, la métrica `cpu_time` aparece como `procstat_cpu_time` cuando la recopila de Linux y como `procstat cpu_time` cuando la recopila de Windows Server.


| Nombre de métrica | Disponible en | Descripción | 
| --- | --- | --- | 
|  `cpu_time` |  Linux |  El periodo de tiempo que el proceso utiliza la CPU. Esta métrica se mide en centésimas de segundo. Unidad: recuento  | 
|  `cpu_time_guest` |  Linux |  El periodo de tiempo que el proceso está en modo invitado. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_guest_nice` |  Linux |  Cantidad de tiempo en que el proceso se ejecuta en un perfil de invitado con prioridad baja. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_idle` |  Linux |  El periodo de tiempo que el proceso está en modo inactivo. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_iowait` |  Linux |  El periodo de tiempo que el proceso está a la espera de que se completen las operaciones de entrada/salida. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_irq` |  Linux |  El periodo de tiempo que el proceso está atendiendo interrupciones. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_nice` |  Linux |  El periodo de tiempo que el proceso está en modo correcto. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_soft_irq` |  Linux |  La cantidad de tiempo que el proceso está atendiendo interrupciones de software. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_steal` |  Linux |  La cantidad de tiempo que se dedica a ejecutarse en otros sistemas operativos cuando se ejecuta en un entorno virtualizado. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_stolen` |  Linux, Windows Server |  El periodo de tiempo en que el proceso se encuentra en *tiempo descartado*, que es el tiempo empleado en otros sistemas operativos en un entorno virtualizado. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: ninguna  | 
|  `cpu_time_system` |  Linux, Windows Server y macOS |  El periodo de tiempo que el proceso está en modo de sistema. Esta métrica se mide en centésimas de segundo. Tipo: flotante Unidad: recuento  | 
|  `cpu_time_user` |  Linux, Windows Server y macOS |  El periodo de tiempo que el proceso está en modo de usuario. Esta métrica se mide en centésimas de segundo. Unidad: recuento  | 
|  `cpu_usage` |  Linux, Windows Server y macOS |  El porcentaje de tiempo que el proceso está activo en cualquier capacidad. Unidad: porcentaje  | 
|  `memory_data` |  Linux y macOS |  La cantidad de memoria que el proceso utiliza para datos. Unidades: bytes  | 
|  `memory_locked` |  Linux y macOS |  La cantidad de memoria que el proceso tiene bloqueada. Unidades: bytes  | 
|  `memory_rss` |  Linux, Windows Server y macOS |  La cantidad de memoria real (conjunto residente) que está utilizando el proceso. Unidades: bytes  | 
|  `memory_stack` |  Linux y macOS |  La cantidad de memoria de pila que el proceso está utilizando. Unidades: bytes  | 
|  `memory_swap` |  Linux y macOS |  La cantidad de memoria de intercambio que el proceso está utilizando. Unidades: bytes  | 
|  `memory_vms` |  Linux, Windows Server y macOS |  La cantidad de memoria virtual que el proceso está utilizando. Unidades: bytes  | 
|  `num_fds` |  Linux |  El número de descriptores de archivos que tiene abiertos este proceso. Unidad: ninguna  | 
|  `num_threads` |  Linux, Windows, macOS |  El número de hilos en este proceso. Unidad: ninguna  | 
|  `pid` |  Linux, Windows Server y macOS |  Identificador de proceso (ID). Unidad: ninguna  | 
|  `pid_count` |  Linux, Windows Server y macOS |  El número de ID de proceso asociado con el proceso. En los servidores Linux y en los equipos macOS, el nombre completo de esta métrica es `procstat_lookup_pid_count` y, en Windows Server, `procstat_lookup pid_count`. Unidad: ninguna  | 
|  `read_bytes` |  Linux, Windows Server |  El número de bytes que el proceso ha leído de los discos. Unidades: bytes  | 
|  `write_bytes` |  Linux, Windows Server |  El número de bytes que el proceso ha escrito en los discos. Unidades: bytes  | 
|  `read_count` |  Linux, Windows Server |  El número de operaciones de lectura en disco que el proceso ha ejecutado. Unidad: ninguna  | 
|  `rlimit_realtime_priority_hard` |  Linux |  El límite estricto de la prioridad en tiempo real que se puede establecer para este proceso. Unidad: ninguna  | 
|  `rlimit_realtime_priority_soft` |  Linux |  El límite flexible de la prioridad en tiempo real que se puede establecer para este proceso. Unidad: ninguna  | 
|  `rlimit_signals_pending_hard` |  Linux |  El límite estricto del número máximo de señales que puede poner en cola este proceso. Unidad: ninguna  | 
|  `rlimit_signals_pending_soft` |  Linux |  El límite flexible del número máximo de señales que puede poner en cola este proceso. Unidad: ninguna  | 
|  `rlimit_nice_priority_hard` |  Linux |  El límite estricto de la prioridad máxima aceptable que se puede establecer para este proceso. Unidad: ninguna  | 
|  `rlimit_nice_priority_soft` |  Linux |  El límite flexible de la prioridad máxima aceptable que se puede establecer para este proceso. Unidad: ninguna  | 
|  `rlimit_num_fds_hard` |  Linux |  El límite estricto del número máximo de descriptores de archivos que pueden tener abiertos. Unidad: ninguna  | 
|  `rlimit_num_fds_soft` |  Linux |  El límite flexible del número máximo de descriptores de archivos que pueden tener abiertos. Unidad: ninguna  | 
|  `write_count` |  Linux, Windows Server |  El número de operaciones de escritura en disco que el proceso ha ejecutado. Unidad: ninguna  | 
|  `involuntary_context_switches` |  Linux |  El número de veces que el proceso se ha cambiado de contexto involuntariamente.  Unidad: ninguna  | 
|  `voluntary_context_switches` |  Linux |  El número de veces que el proceso se ha cambiado de contexto voluntariamente.  Unidad: ninguna  | 
|  `realtime_priority` |  Linux |  El uso actual de prioridad en tiempo real para el proceso. Unidad: ninguna  | 
|  `nice_priority` |  Linux |  El uso actual de prioridad aceptable para el proceso. Unidad: ninguna  | 
|  `signals_pending` |  Linux |  El número de señales pendiente de ser gestionadas por el proceso. Unidad: ninguna  | 
|  `rlimit_cpu_time_hard` |  Linux |  El límite duro de recursos de tiempo de CPU para el proceso. Unidad: ninguna  | 
|  `rlimit_cpu_time_soft` |  Linux |  El límite flexible de recursos de tiempo de CPU para el proceso. Unidad: ninguna  | 
|  `rlimit_file_locks_hard` |  Linux |  El límite duro de bloqueos de archivos para el proceso. Unidad: ninguna  | 
|  `rlimit_file_locks_soft` |  Linux |  El límite flexible de bloqueos de archivos para el proceso. Unidad: ninguna  | 
|  `rlimit_memory_data_hard` |  Linux |  El límite duro de recursos en el proceso de memoria utilizada para los datos. Unidades: bytes  | 
|  `rlimit_memory_data_soft` |  Linux |  El límite flexible de recursos en el proceso de memoria utilizada para los datos. Unidades: bytes  | 
|  `rlimit_memory_locked_hard` |  Linux |  El límite duro de recursos en el proceso de memoria bloqueada. Unidades: bytes  | 
|  `rlimit_memory_locked_soft` |  Linux |  El límite flexible de recursos en el proceso de memoria bloqueada. Unidades: bytes  | 
|  `rlimit_memory_rss_hard` |  Linux |  El límite duro de recursos en el proceso de memoria física. Unidades: bytes  | 
|  `rlimit_memory_rss_soft` |  Linux |  El límite flexible de recursos en el proceso de memoria física. Unidades: bytes  | 
|  `rlimit_memory_stack_hard` |  Linux |  El límite duro de recursos en la pila de procesos. Unidades: bytes  | 
|  `rlimit_memory_stack_soft` |  Linux |  El límite flexible de recursos en la pila de procesos. Unidades: bytes  | 
|  `rlimit_memory_vms_hard` |  Linux |  El límite duro de recursos en el proceso de memoria virtual. Unidades: bytes  | 
|  `rlimit_memory_vms_soft` |  Linux |  El límite flexible de recursos en el proceso de memoria virtual. Unidades: bytes  | 

## Visualización de las métricas de proceso que el agente de CloudWatch ha importado.
<a name="CloudWatch-view-procstat-metrics"></a>

Después de importar métricas de proceso en CloudWatch, puede ver estas métricas como gráficos de series temporales y crear alarmas que puedan ver estas métricas y notificarle si infringen un umbral especificado. El siguiente procedimiento muestra cómo se pueden ven las métricas de proceso como un gráfico de series temporales. Para obtener más información sobre cómo configurar una alarma, consulte [Uso de las alarmas de Amazon CloudWatch](CloudWatch_Alarms.md).

**Para ver las métricas en la consola de CloudWatch**

1. 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, seleccione **Métricas**.

1. Elija el espacio de nombres que se usará para las métricas que el agente ha recopilado. De forma predeterminada, este es **CWAgent**, pero es posible que haya especificado un espacio de nombres diferente en el archivo de configuración del agente de CloudWatch.

1. Elija una dimensión de métrica (por ejemplo, **Per-Instance Metrics** [Métricas por instancia]).

1. La pestaña **All metrics** muestra todas las métricas para dicha dimensión en el espacio de nombres. Se puede hacer lo siguiente:

   1. Para representar gráficamente una métrica, active la casilla de verificación situada junto a ella. Para seleccionar todas las métricas, seleccione la casilla de verificación en la fila de encabezado de la tabla.

   1. Para ordenar la tabla, utilice el encabezado de columna.

   1. Para filtrar por recurso, seleccione el ID de recurso y, a continuación, elija **Add to search (Añadir a la búsqueda)**.

   1. Para filtrar por métrica, elija el nombre de la métrica y, a continuación, seleccione **Add to search (Añadir a búsqueda)**.

1. (Opcional) Para agregar el gráfico a un panel de CloudWatch, elija **Actions** (Acciones) y después **Add to dashboard** (Añadir al panel).

# Recuperación de las métricas personalizadas con StatsD
<a name="CloudWatch-Agent-custom-metrics-statsd"></a>

Puede recuperar métricas personalizadas adicionales de sus aplicaciones o servicios con el agente de CloudWatch con el protocolo `StatsD`. StatsD es una solución popular de código abierto que puede recopilar métricas de una amplia variedad de aplicaciones. StatsD es especialmente útil para instrumentar sus propias métricas. Para obtener un ejemplo de cómo se utilizan el agente de CloudWatch y StatsD conjuntamente, consulte [How to better monitor your custom application metrics using Amazon CloudWatch Agent](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/) (¿Cómo se supervisan de manera más efectiva las métricas de la aplicación personalizada con el agente de Amazon CloudWatch?).

`StatsD` es compatible con los servidores Linux y los servidores con Windows Server. CloudWatch admite el siguiente formato `StatsD`:

```
MetricName:value|type|@sample_rate|#tag1:
  value,tag1...
```
+ `MetricName`: una cadena sin dos puntos, barras, caracteres \$1 o @.
+ `value`: puede ser entero o flotante.
+ `type`: especifique `c` para contador, `g` para medidor, `ms` para temporizador, `h` para el histograma o `s` para conjunto.
+ `sample_rate`: (Opcional) un flotador entre 0 y 1, inclusive. Se utiliza únicamente para las métricas de contador, histograma y temporizador. El valor predeterminado es 1 (muestreo del 100% del tiempo).
+ `tags`: (Opcional) una lista de etiquetas separadas por comas. Las etiquetas `StatsD` son similares a las dimensiones de CloudWatch. Utilice el carácter de dos puntos para las etiquetas de clave/valor, como `env:prod`.

Puede utilizar cualquier cliente de `StatsD` que utilice este formato para enviar las métricas al agente de CloudWatch. Para obtener más información acerca de algunos de los clientes de `StatsD` disponibles, consulte la página de [clientes de StatsD en GitHub](https://github.com/etsy/statsd/wiki#client-implementations). 

Para recopilar estas métricas personalizadas, añada una línea `"statsd": {}` a la sección `metrics_collected` del archivo de configuración del agente. Puede añadir esta línea manualmente. Si utiliza el asistente para crear el archivo de configuración, esta línea se añade automáticamente. Para obtener más información, consulte [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md).

La configuración de `StatsD` predeterminada funciona para la mayoría de los usuarios. Hay campos opcionales que puede añadir a la sección **statsd** del archivo de configuración del agente según sea necesario:
+ `service_address`: la dirección del servicio a la que el agente de CloudWatch debe escuchar . El formato es `ip:port`. Si se omite la dirección IP, el agente escucha en todas las interfaces disponibles. Solo se admite el formato UDP, por lo que no es necesario especificar un prefijo UDP. 

  El valor predeterminado es `:8125`.
+ `metrics_collection_interval`: la frecuencia en segundos con la que se utiliza el complemento `StatsD` se ejecuta y recopila métricas. El valor de predeterminado es de 10 segundos. El rango va de 1 a 172 000.
+ `metrics_aggregation_interval`: la frecuencia en segundos con la que CloudWatch agrupa las métricas en puntos de datos únicos. El valor de predeterminado es de 60 segundos.

  Por ejemplo, si `metrics_collection_interval` es 10 y `metrics_aggregation_interval` es 60, CloudWatch recopila datos cada 10 segundos. Después de cada minuto, las seis lecturas de datos de ese minuto se agrupan en un único punto de datos, que se envía a CloudWatch.

  El rango va de 0 a 172 000. Si `metrics_aggregation_interval` se establece en 0, se deshabilita la agrupación de métricas de `StatsD`.
+ `allowed_pending_messages`: el número de mensajes UDP que se pueden poner en cola. Cuando la cola está llena, el servidor StatsD comienza a descartar paquetes. El valor predeterminado es 10 000.
+ `drop_original_metrics`: opcional. Si utiliza el campo `aggregation_dimensions` de la sección `metrics` para agrupar las métricas en resultados agregados, de forma predeterminada, el agente envía tanto las métricas agregadas como las métricas originales, separadas para cada valor de la dimensión. Si no desea que las métricas originales se envíen a CloudWatch, puede especificar este parámetro con una lista de métricas. No se notifican a CloudWatch las métricas especificadas junto con este parámetro por dimensión. En su lugar, solo se registran las métricas agregadas. Esto reduce la cantidad de métricas que recopila el agente, lo que reduce los costes.

A continuación se muestra un ejemplo de la sección **statsd** del archivo de configuración del agente, con el puerto predeterminado e intervalos de recopilación y agrupación personalizados.

```
{
   "metrics":{
      "metrics_collected":{
         "statsd":{
            "service_address":":8125",
            "metrics_collection_interval":60,
            "metrics_aggregation_interval":300
         }
      }
   }
}
```

## Visualización de métricas StatsD que el agente de CloudWatch ha importado
<a name="CloudWatch-view-statsd-metrics"></a>

Después de importar las métricas StatsD en CloudWatch, puede verlas como gráficos de series temporales y crear alarmas que puedan ver las métricas y notificarle si infringen un umbral que especifique. El siguiente procedimiento muestra cómo ver métricas de StatsD como un gráfico de series temporales. Para obtener más información sobre cómo configurar una alarma, consulte [Uso de las alarmas de Amazon CloudWatch](CloudWatch_Alarms.md).

**Para ver las métricas StatsD en la consola de CloudWatch**

1. 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, seleccione **Métricas**.

1. Elija el espacio de nombres que se usará para las métricas que el agente ha recopilado. De forma predeterminada, este es **CWAgent**, pero es posible que haya especificado un espacio de nombres diferente en el archivo de configuración del agente de CloudWatch.

1. Elija una dimensión de métrica (por ejemplo, **Per-Instance Metrics** [Métricas por instancia]).

1. La pestaña **All metrics** muestra todas las métricas para dicha dimensión en el espacio de nombres. Se puede hacer lo siguiente:

   1. Para representar gráficamente una métrica, active la casilla de verificación situada junto a ella. Para seleccionar todas las métricas, seleccione la casilla de verificación en la fila de encabezado de la tabla.

   1. Para ordenar la tabla, utilice el encabezado de columna.

   1. Para filtrar por recurso, seleccione el ID de recurso y, a continuación, elija **Add to search (Añadir a la búsqueda)**.

   1. Para filtrar por métrica, elija el nombre de la métrica y, a continuación, seleccione **Add to search (Añadir a búsqueda)**.

1. (Opcional) Para agregar el gráfico a un panel de CloudWatch, elija **Actions** (Acciones) y después **Add to dashboard** (Añadir al panel).

# Recuperación de las métricas personalizadas con collectd
<a name="CloudWatch-Agent-custom-metrics-collectd"></a>

Puede recuperar métricas adicionales de las aplicaciones o servicios con el agente de CloudWatch con el protocolo collectd, que solo es compatible con servidores Linux. Collectd es una solución popular de código abierto con complementos que pueden recopilar estadísticas del sistema para una amplia variedad de aplicaciones. Al combinar las métricas del sistema que el agente de CloudWatch ya puede recopilar con las métricas adicionales de collectd, puede supervisar, analizar y solucionar mejor los problemas de los sistemas y las aplicaciones. Para obtener más información acerca de collectd, consulte [collectd - El daemon de recopilación de estadísticas del sistema](https://collectd.org/).

El software collectd se utiliza para enviar las métricas al agente de CloudWatch. Para las métricas de collectd, el agente de CloudWatch actúa como el servidor, mientras que el complemento collectd actúa como el cliente.

El software collectd no se instala automáticamente en cada servidor. Siga estos pasos para instalar collectd en un servidor que ejecuta Amazon Linux 2.

```
sudo amazon-linux-extras install collectd
```

Para obtener más información acerca de la instalación de collectd en otros sistemas, vea la [página de descarga de collectd](https://www.collectd.org/download.html). 

Para recopilar estas métricas personalizadas, añada una línea **“collectd”: \$1\$1** a la sección **metrics\$1collected** del archivo de configuración del agente. Puede añadir esta línea manualmente. Si utiliza el asistente para crear el archivo de configuración, esta línea se añade automáticamente. Para obtener más información, consulte [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md).

También hay disponibles otros parámetros opcionales. Si utiliza collectd y no utiliza `/etc/collectd/auth_file` como su **collectd\$1auth\$1file**, debe configurar algunas de estas opciones. 
+ **service\$1address:** la dirección del servicio en la que el agente de CloudWatch debería escuchar. El formato es `"udp://ip:port`. El valor predeterminado es `udp://127.0.0.1:25826`.
+ **name\$1prefix:** un prefijo que se adjunta al principio del nombre de cada métrica de collectd. El valor predeterminado es `collectd_`. La longitud máxima es de 255 caracteres.
+ **collectd\$1security\$1level:** establece el nivel de seguridad de la comunicación de red. El valor predeterminado es **encrypt (cifrar)**.

  **encrypt (cifrar)** especifica que solo se aceptan datos cifrados. **sign (firmar)** especifica que solo se aceptan datos firmados y cifrados. **none (ninguno)** especifica que se aceptan todos los datos. Si especifica un valor para **collectd\$1auth\$1file**, se descifran los datos cifrados si es posible.

  Para obtener más información, consulte las secciones sobre [configuración de cliente](https://collectd.org/wiki/index.php/Networking_introduction#Client_setup) e [interacciones posibles](https://collectd.org/wiki/index.php/Networking_introduction#Possible_interactions) en el Wiki de collectd.
+ **collectd\$1auth\$1file** Establece un archivo en que los nombres de usuario se asignan a contraseñas. Estas contraseñas se utilizan para verificar firmas y para descifrar los paquetes de red cifrados. Si se facilita, se verifican los datos firmada y se descifran los paquetes cifrados. De lo contrario, se aceptan los datos firmados sin comprobar la firma y los datos cifrados no se pueden descifrar.

  El valor predeterminado es `/etc/collectd/auth_file`.

   Si **collectd\$1security\$1level** se establece en **none (ninguno)**, esto es opcional. Si establece **collectd\$1security\$1level** en `encrypt` o **sign (firmar)**, debe especificar **collectd\$1auth\$1file**.

  Para el formato del archivo de autenticación, cada línea es un nombre de usuario seguido de dos puntos y cualquier número de espacios seguido de la contraseña. Por ejemplo:

  `user1: user1_password`

  `user2: user2_password`
+ **collectd\$1typesdb:** una lista de uno o más archivos que contienen descripciones del conjunto de datos. La lista debe estar incluida entre corchetes, aunque solo haya una entrada en la lista. Cada entrada de la lista debe ir entre comillas dobles. Si hay varias entradas, sepárelas con comas. El valor predeterminado en servidores Linux es `["/usr/share/collectd/types.db"]`. El valor predeterminado en equipos macOS depende de la versión de collectd. Por ejemplo, `["/usr/local/Cellar/collectd/5.12.0/share/collectd/types.db"]`.

  Para obtener más información, consulte [https://www.collectd.org/documentation/manpages/types.db.html](https://www.collectd.org/documentation/manpages/types.db.html).
+ **metrics\$1aggregation\$1interval:** la frecuencia en segundos con la que CloudWatch agrupa las métricas en puntos de datos únicos. El valor predeterminado es de 60 segundos. El rango va de 0 a 172,000. Si se establece en 0, se deshabilita la agrupación de métricas de collectd.

A continuación, se ofrece un ejemplo de la sección collectd del archivo de configuración del agente.

```
{
   "metrics":{
      "metrics_collected":{
         "collectd":{
            "name_prefix":"My_collectd_metrics_",
            "metrics_aggregation_interval":120
         }
      }
   }
}
```

## Visualización de métricas recopiladas que importó el agente de CloudWatch
<a name="CloudWatch-view-collectd-metrics"></a>

Después de importar métricas collectd en CloudWatch, puede ver estas métricas como gráficos de series temporales y crear alarmas que puedan ver estas métricas y notificarle si infringen un umbral especificado. El siguiente procedimiento muestra cómo ver las métricas collectd como un gráfico de series temporales. Para obtener más información sobre cómo configurae las alarmas, consulte [Uso de las alarmas de Amazon CloudWatch](CloudWatch_Alarms.md).

**Para ver las métricas collectd en la consola de CloudWatch**

1. 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, seleccione **Métricas**.

1. Elija el espacio de nombres que se usará para las métricas que el agente ha recopilado. De forma predeterminada, este es **CWAgent**, pero es posible que haya especificado un espacio de nombres diferente en el archivo de configuración del agente de CloudWatch.

1. Elija una dimensión de métrica (por ejemplo, **Per-Instance Metrics** [Métricas por instancia]).

1. La pestaña **All metrics** muestra todas las métricas para dicha dimensión en el espacio de nombres. Se puede hacer lo siguiente:

   1. Para representar gráficamente una métrica, active la casilla de verificación situada junto a ella. Para seleccionar todas las métricas, seleccione la casilla de verificación en la fila de encabezado de la tabla.

   1. Para ordenar la tabla, utilice el encabezado de columna.

   1. Para filtrar por recurso, seleccione el ID de recurso y, a continuación, elija **Add to search (Añadir a la búsqueda)**.

   1. Para filtrar por métrica, elija el nombre de la métrica y, a continuación, seleccione **Add to search (Añadir a búsqueda)**.

1. (Opcional) Para agregar el gráfico a un panel de CloudWatch, elija **Actions** (Acciones) y después **Add to dashboard** (Añadir al panel).

# Configuración de la recopilación de métricas de Prometheus en instancias de Amazon EC2
<a name="CloudWatch-Agent-PrometheusEC2"></a>

En las siguientes secciones se explica cómo se instala el agente CloudWatch con supervisión de Prometheus en instancias EC2 y cómo se configura el agente para que elimine destinos adicionales. También proporciona tutoriales para configurar cargas de trabajo de muestra para usar pruebas con supervisión de Prometheus.

Las instancias de Windows y Linux son compatibles.

Para obtener información sobre los sistemas operativos compatibles con el agente de CloudWatch, consulte [Recopile las métricas, registros y seguimientos con el agente de CloudWatch](Install-CloudWatch-Agent.md)

**Requisitos del grupo de seguridad de la VPC**

Si utiliza una VPC, se aplican los siguientes requisitos.
+ Las reglas de entrada de los grupos de seguridad para las cargas de trabajo de Prometheus deben abrir los puertos de Prometheus al agente de CloudWatch para extraer las métricas de Prometheus por la IP privada.
+ Las reglas de salida del grupo de seguridad para el agente de CloudWatch deben permitir que el agente de CloudWatch se conecte al puerto de cargas de trabajo de Prometheus mediante una IP privada. 

**Topics**
+ [Paso 1: Instale el agente de CloudWatch](#CloudWatch-Agent-PrometheusEC2-install)
+ [Paso 2: Raspe las fuentes Prometheus e importe las métricas](#CloudWatch-Agent-PrometheusEC2-configure)
+ [Ejemplo: Configure las cargas de trabajo de ejemplo de Java/JMX para las pruebas métricas de Prometheus](#CloudWatch-Agent-Prometheus-Java)

## Paso 1: Instale el agente de CloudWatch
<a name="CloudWatch-Agent-PrometheusEC2-install"></a>

El primer paso consiste en instalar el agente de CloudWatch en la instancia EC2. Para obtener instrucciones, consulte [Instalación del agente de CloudWatch](install-CloudWatch-Agent-on-EC2-Instance.md).

## Paso 2: Raspe las fuentes Prometheus e importe las métricas
<a name="CloudWatch-Agent-PrometheusEC2-configure"></a>

El agente CloudWatch con supervisión de Prometheus necesita dos configuraciones para raspar las métricas de Prometheus. Una de ellas es para la configuración estándar de Prometheus que se describe en [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) de la documentación de Prometheus. El otro es para la configuración del agente de CloudWatch.

### Configuración de raspado de Prometheus
<a name="CloudWatch-Agent-PrometheusEC2-configure-scrape"></a>

El agente de CloudWatch es compatible con la configuración de raspado estándar de Prometheus como se describe en [ <scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) en la documentación de Prometheus. Se puede editar esta sección para actualizar las configuraciones que ya están en este archivo y agregar destinos adicionales de raspado de Prometheus. Un archivo de configuración de ejemplo contiene las siguientes líneas de configuración global:

```
PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus.yaml
global:
  scrape_interval: 1m
  scrape_timeout: 10s
scrape_configs:
- job_name: MY_JOB
  sample_limit: 10000
  file_sd_configs:
    - files: ["C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus_sd_1.yaml", "C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus_sd_2.yaml"]
```

La sección `global` especifica los parámetros que son válidos en todos los contextos de configuración. También sirven como valores predeterminados para otras secciones de configuración. Contiene los siguientes parámetros:
+ `scrape_interval`: define la frecuencia con la que se deben raspar los objetivos.
+ `scrape_timeout`: define cuánto tiempo debe esperar antes de que se agote el tiempo de espera de una solicitud de raspado.

La sección `scrape_configs` especifica un conjunto de objetivos y parámetros que definen cómo se deben raspar. Contiene los siguientes parámetros:
+ `job_name`: el nombre del trabajo que se ha asignado a las métricas raspadas de forma predeterminada.
+ `sample_limit`: límite por raspado en el número de muestras raspadas que se aceptarán.
+ `file_sd_configs`: lista de configuraciones de detección de servicios de archivos. Lee un conjunto de archivos que contienen una lista de cero o más configuraciones estáticas. La sección `file_sd_configs` contiene un parámetro `files` que define patrones para los archivos de los que se extraen los grupos de destino.

El agente de CloudWatch admite los siguientes tipos de configuración de detección de servicios.

**`static_config`** Permite especificar una lista de destinos y un conjunto de etiquetas comunes para ellos. Es la forma canónica de especificar objetivos estáticos en una configuración de raspado.

A continuación, se muestra una configuración estática de ejemplo para extraer métricas de Prometheus de un host local. Las métricas también se pueden extraer de otros servidores si el puerto Prometheus está abierto al servidor donde se ejecuta el agente.

```
PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus_sd_1.yaml
- targets:
    - 127.0.0.1:9404
  labels:
    key1: value1
    key2: value2
```

Este ejemplo contiene los siguientes parámetros:
+ `targets`: los objetivos que la configuración estática ha raspado.
+ `labels`: etiquetas asignadas a todas las métricas que se raspan de los destinos.

**`ec2_sd_config`** Permite recuperar destinos de raspado de instancias de Amazon EC2. A continuación, se muestra un ejemplo `ec2_sd_config` para raspar las métricas de Prometheus de una lista de instancias EC2. Los puertos Prometheus de estas instancias tienen que abrirse al servidor donde se ejecuta el agente de CloudWatch. El rol de IAM para la instancia EC2 en la que se ejecuta el agente de CloudWatch debe incluir el permiso `ec2:DescribeInstance`. Por ejemplo, puede adjuntar la política administrada **AmazonEC2ReadOnlyAccess** a la instancia que ejecuta el agente de CloudWatch.

```
PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus.yaml
global:
  scrape_interval: 1m
  scrape_timeout: 10s
scrape_configs:
  - job_name: MY_JOB
    sample_limit: 10000
    ec2_sd_configs:
      - region: us-east-1
        port: 9404
        filters:
          - name: instance-id
            values:
              - i-98765432109876543
              - i-12345678901234567
```

Este ejemplo contiene los siguientes parámetros:
+ `region`: la región de AWS donde se encuentra la instancia EC2 de destino. Si deja este campo en blanco, se usará la región de los metadatos de instancia.
+ `port`: el puerto desde el que se raspan las métricas.
+ `filters`: filtros opcionales que se utilizarán para filtrar la lista de instancias. Este ejemplo se filtra en función de los ID de las instancias EC2. Para obtener más criterios por los que se puede filtrar, consulte [DescribeInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html).

### Configuración del agente de CloudWatch para Prometheus
<a name="CloudWatch-Agent-PrometheusEC2-configure-agent"></a>

El archivo de configuración del agente de CloudWatch incluye secciones `prometheus` en `logs` y `metrics_collected`. Incluye los siguientes parámetros.
+ **cluster\$1name**: especifica el nombre del clúster que se va a agregar como etiqueta en el evento de registro. Este campo es opcional. 
+ **log\$1group\$1name**: especifica el nombre del grupo de registros de las métricas de Prometheus raspadas.
+ **prometheus\$1config\$1path**: especifica la ruta del archivo de configuración de descubrimiento de Prometheus.
+ **emf\$1processor**: especifica la configuración del procesador de formato de métrica integrada. Para obtener más información sobre el formato de métrica integrado, consulte [Incrustar métricas en los registros](CloudWatch_Embedded_Metric_Format.md). 

  La sección `emf_processor` contiene los siguientes parámetros:
  + **metric\$1declaration\$1dedup**: se establece en VERDADERO, la función de desduplicación para las métricas de formato de métrica incrustada está habilitada.
  + **metric\$1namespace**: especifica el espacio de nombres de la métrica para las métricas emitidas de CloudWatch.
  + **metric\$1unit**: especifica el nombre de métrica: mapa de unidades métricas. Para obtener más información acerca de las unidades métricas compatibles consulte [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
  + **metric\$1declaration**: son secciones que especifican la matriz de registros con formato de métrica integrada que se van a generar. Hay secciones `metric_declaration` para cada fuente de Prometheus desde las que el agente de CloudWatch importa de forma predeterminada. Cada una de estas secciones incluye los siguientes campos:
    + `source_labels` especifica el valor de las etiquetas que se comprueban con `label_matcher`.
    + `label_matcher` es una expresión regular que verifica el valor de las etiquetas que aparecen en `source_labels`. Las métricas que coinciden se habilitan para incorporarse al formato de métrica integrada que se envía a CloudWatch. 
    + `metric_selectors` es una expresión regular que especifica las métricas que se van a recopilar y enviar a CloudWatch.
    + `dimensions` es la lista de etiquetas que se van a utilizar como dimensiones de CloudWatch en cada métrica seleccionada.

A continuación se muestra un ejemplo de configuración del agente de CloudWatch para Prometheus.

```
{
   "logs":{
      "metrics_collected":{
         "prometheus":{
            "cluster_name":"prometheus-cluster",
            "log_group_name":"Prometheus",
            "prometheus_config_path":"C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus.yaml",
            "emf_processor":{
               "metric_declaration_dedup":true,
               "metric_namespace":"CWAgent-Prometheus",
               "metric_unit":{
                  "jvm_threads_current": "Count",
                  "jvm_gc_collection_seconds_sum": "Milliseconds"
               },
               "metric_declaration":[
                  {
                     "source_labels":[
                        "job", "key2"
                     ],
                     "label_matcher":"MY_JOB;^value2",
                     "dimensions":[
                        [
                           "key1", "key2"
                        ],
                        [
                           "key2"
                        ]
                     ],
                     "metric_selectors":[
                        "^jvm_threads_current$",
                        "^jvm_gc_collection_seconds_sum$"
                     ]
                  }
               ]
            }
         }
      }
   }
}
```

En el ejemplo anterior se configura una sección de formato de métrica integrada para que se envíe como evento de registro si se cumplen las siguientes condiciones:
+ El valor de la etiqueta `job` es `MY_JOB`
+ El valor de la etiqueta `key2` es `value2`
+ Las métricas de Prometheus `jvm_threads_current` y `jvm_gc_collection_seconds_sum` contienen las etiquetas `job` y `key2`.

El evento de registro que se envía incluye la siguiente sección resaltada:

```
{
    "CloudWatchMetrics": [
        {
            "Metrics": [
                {
                    "Unit": "Count",
                    "Name": "jvm_threads_current"
                },
                {
                    "Unit": "Milliseconds",
                    "Name": "jvm_gc_collection_seconds_sum"
                }
            ],
            "Dimensions": [
                [
                    "key1",
                    "key2"
                ],
                [
                    "key2"
                ]
            ],
            "Namespace": "CWAgent-Prometheus"
        }
    ],
    "ClusterName": "prometheus-cluster",
    "InstanceId": "i-0e45bd06f196096c8",
    "Timestamp": "1607966368109",
    "Version": "0",
    "host": "EC2AMAZ-PDDOIUM",
    "instance": "127.0.0.1:9404",
    "jvm_threads_current": 2,
    "jvm_gc_collection_seconds_sum": 0.006000000000000002,
    "prom_metric_type": "gauge",
    ...
}
```

## Ejemplo: Configure las cargas de trabajo de ejemplo de Java/JMX para las pruebas métricas de Prometheus
<a name="CloudWatch-Agent-Prometheus-Java"></a>

JMX Exporter es un exportador oficial de Prometheus que puede extraer y exponer mBeans de JMX como métricas de Prometheus. Para obtener más información, consulte [prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).

El agente de CloudWatch recolecta métricas predefinidas de Prometheus de la máquina virtual de Java (JVM), Hjava y de Tomcat (Catalina) de un JMX Exporter en instancias EC2.

### Paso 1: Instale el agente de CloudWatch
<a name="CloudWatch-Agent-PrometheusJava-install"></a>

El primer paso consiste en instalar el agente de CloudWatch en la instancia EC2. Para obtener instrucciones, consulte [Instalación del agente de CloudWatch](install-CloudWatch-Agent-on-EC2-Instance.md).

### Paso 2: Comience la carga de trabajo de Java/JMX
<a name="CloudWatch-Agent-PrometheusJava-start"></a>

El siguiente paso es comenzar la carga de trabajo de Java/JMX.

Primero, descargue el archivo jar más reciente de JMX exporter desde la siguiente ubicación: [prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).

 **Use el jar para la aplicación de muestra**

Los comandos de ejemplo de las siguientes secciones utilizan `SampleJavaApplication-1.0-SNAPSHOT.jar` como el archivo jar. Reemplace estas partes de los comandos con el jar para la aplicación.

#### Prepare la configuración de JMX exporter
<a name="CloudWatch-Agent-PrometheusJava-start-config"></a>

El archivo `config.yaml` es el archivo de configuración de JMX Exporter. Para obtener más información, consulte [Configuration](https://github.com/prometheus/jmx_exporter#Configuration) (Configuración) en la documentación de JMX exporter.

Este es un archivo de configuración de ejemplo para Java y Tomcat.

```
---
lowercaseOutputName: true
lowercaseOutputLabelNames: true

rules:
- pattern: 'java.lang<type=OperatingSystem><>(FreePhysicalMemorySize|TotalPhysicalMemorySize|FreeSwapSpaceSize|TotalSwapSpaceSize|SystemCpuLoad|ProcessCpuLoad|OpenFileDescriptorCount|AvailableProcessors)'
  name: java_lang_OperatingSystem_$1
  type: GAUGE

- pattern: 'java.lang<type=Threading><>(TotalStartedThreadCount|ThreadCount)'
  name: java_lang_threading_$1
  type: GAUGE

- pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+)'
  name: catalina_globalrequestprocessor_$3_total
  labels:
    port: "$2"
    protocol: "$1"
  help: Catalina global $3
  type: COUNTER

- pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount)'
  name: catalina_servlet_$3_total
  labels:
    module: "$1"
    servlet: "$2"
  help: Catalina servlet $3 total
  type: COUNTER

- pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount)'
  name: catalina_threadpool_$3
  labels:
    port: "$2"
    protocol: "$1"
  help: Catalina threadpool $3
  type: GAUGE

- pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions)'
  name: catalina_session_$3_total
  labels:
    context: "$2"
    host: "$1"
  help: Catalina session $3 total
  type: COUNTER

- pattern: ".*"
```

#### Inicie la aplicación Java con el exportador de Prometheus
<a name="CloudWatch-Agent-PrometheusJava-start-start"></a>

Inicie la aplicación de ejemplo Esto emitirá métricas de Prometheus al puerto 9404. Asegúrese de sustituir el punto de entrada `com.gubupt.sample.app.App` con la información correcta para la aplicación java de muestra. 

En Linux ingrese el siguiente comando:

```
$ nohup java -javaagent:./jmx_prometheus_javaagent-0.14.0.jar=9404:./config.yaml -cp  ./SampleJavaApplication-1.0-SNAPSHOT.jar com.gubupt.sample.app.App &
```

En Windows ingrese el siguiente comando:

```
PS C:\> java -javaagent:.\jmx_prometheus_javaagent-0.14.0.jar=9404:.\config.yaml -cp  .\SampleJavaApplication-1.0-SNAPSHOT.jar com.gubupt.sample.app.App
```

#### Verifique la emisión de métricas de Prometheus
<a name="CloudWatch-Agent-PrometheusJava-start-verify"></a>

Verifique que se estén emitiendo métricas de Prometheus. 

En Linux ingrese el siguiente comando:

```
$ curl localhost:9404
```

En Windows ingrese el siguiente comando:

```
PS C:\> curl  http://localhost:9404
```

Salida de ejemplo en Linux:

```
StatusCode        : 200
StatusDescription : OK
Content           : # HELP jvm_classes_loaded The number of classes that are currently loaded in the JVM
                    # TYPE jvm_classes_loaded gauge
                    jvm_classes_loaded 2526.0
                    # HELP jvm_classes_loaded_total The total number of class...
RawContent        : HTTP/1.1 200 OK
                    Content-Length: 71908
                    Content-Type: text/plain; version=0.0.4; charset=utf-8
                    Date: Fri, 18 Dec 2020 16:38:10 GMT

                    # HELP jvm_classes_loaded The number of classes that are currentl...
Forms             : {}
Headers           : {[Content-Length, 71908], [Content-Type, text/plain; version=0.0.4; charset=utf-8], [Date, Fri, 18
                    Dec 2020 16:38:10 GMT]}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : System.__ComObject
RawContentLength  : 71908
```

### Paso 3: Configure el agente de CloudWatch para raspar las métricas de Prometheus
<a name="CloudWatch-Agent-PrometheusJava-agent"></a>

A continuación, configure la configuración de raspado de Prometheus en el archivo de configuración del agente CloudWatch.

**Para establecer la configuración de raspado de Prometheus para el ejemplo de Java/JMX**

1. Establezca la configuración de `file_sd_config` y `static_config`.

   En Linux ingrese el siguiente comando:

   ```
   $ cat /opt/aws/amazon-cloudwatch-agent/var/prometheus.yaml
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       file_sd_configs:
         - files: [ "/opt/aws/amazon-cloudwatch-agent/var/prometheus_file_sd.yaml" ]
   ```

   En Windows ingrese el siguiente comando:

   ```
   PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus.yaml
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       file_sd_configs:
         - files: [ "C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus_file_sd.yaml" ]
   ```

1. Establezca la configuración de los objetivos de raspado.

   En Linux ingrese el siguiente comando:

   ```
   $ cat /opt/aws/amazon-cloudwatch-agent/var/prometheus_file_sd.yaml
   - targets:
     - 127.0.0.1:9404
     labels:
       application: sample_java_app
       os: linux
   ```

   En Windows ingrese el siguiente comando:

   ```
   PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus_file_sd.yaml
   - targets:
     - 127.0.0.1:9404
     labels:
       application: sample_java_app
       os: windows
   ```

1. Establezca la configuración de raspado de Prometheus mediante `ec2_sc_config`. Reemplace *su-ec2-instance-id* con el ID de instancia EC2 correcto.

   En Linux ingrese el siguiente comando:

   ```
   $ cat .\prometheus.yaml
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       ec2_sd_configs:
         - region: us-east-1
           port: 9404
           filters:
             - name: instance-id
               values:
                 - your-ec2-instance-id
   ```

   En Windows ingrese el siguiente comando:

   ```
   PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus_file_sd.yaml
   - targets:
     - 127.0.0.1:9404
     labels:
       application: sample_java_app
       os: windows
   ```

1. Establezca la configuración del agente de CloudWatch. En primer lugar, vaya al directorio correcto. En Linux, es `/opt/aws/amazon-cloudwatch-agent/var/cwagent-config.json`. En Windows, es `C:\ProgramData\Amazon\AmazonCloudWatchAgent\cwagent-config.json`.

   La siguiente es una configuración de ejemplo con las métricas definidas de Java/JHX Prometheus. Asegúrese de reemplazar *path-to-Prometheus-Scrape-Configuration-file* con la ruta correcta.

   ```
   {
     "agent": {
       "region": "us-east-1"
     },
     "logs": {
       "metrics_collected": {
         "prometheus": {
           "cluster_name": "my-cluster",
           "log_group_name": "prometheus-test",
           "prometheus_config_path": "path-to-Prometheus-Scrape-Configuration-file",
           "emf_processor": {
             "metric_declaration_dedup": true,
             "metric_namespace": "PrometheusTest",
             "metric_unit":{
               "jvm_threads_current": "Count",
               "jvm_classes_loaded": "Count",
               "java_lang_operatingsystem_freephysicalmemorysize": "Bytes",
               "catalina_manager_activesessions": "Count",
               "jvm_gc_collection_seconds_sum": "Seconds",
               "catalina_globalrequestprocessor_bytesreceived": "Bytes",
               "jvm_memory_bytes_used": "Bytes",
               "jvm_memory_pool_bytes_used": "Bytes"
             },
             "metric_declaration": [
               {
                 "source_labels": ["job"],
                 "label_matcher": "^jmx$",
                 "dimensions": [["instance"]],
                 "metric_selectors": [
                   "^jvm_threads_current$",
                   "^jvm_classes_loaded$",
                   "^java_lang_operatingsystem_freephysicalmemorysize$",
                   "^catalina_manager_activesessions$",
                   "^jvm_gc_collection_seconds_sum$",
                   "^catalina_globalrequestprocessor_bytesreceived$"
                 ]
               },
               {
                 "source_labels": ["job"],
                 "label_matcher": "^jmx$",
                 "dimensions": [["area"]],
                 "metric_selectors": [
                   "^jvm_memory_bytes_used$"
                 ]
               },
               {
                 "source_labels": ["job"],
                 "label_matcher": "^jmx$",
                 "dimensions": [["pool"]],
                 "metric_selectors": [
                   "^jvm_memory_pool_bytes_used$"
                 ]
               }
             ]
           }
         }
       },
       "force_flush_interval": 5
     }
   }
   ```

1. Para reiniciar el agente de CloudWatch, introduzca uno de los siguientes comandos.

   En Linux ingrese el siguiente comando:

   ```
   sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/var/cwagent-config.json
   ```

   En Windows ingrese el siguiente comando:

   ```
   & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:C:\ProgramData\Amazon\AmazonCloudWatchAgent\cwagent-config.json
   ```

### Visualización de las métricas y los registros de Prometheus
<a name="CloudWatch-Agent-PrometheusJava-view"></a>

Ahora puede ver las métricas de Java/JMX que se están recopilando.

**Para visualizar las métricas de la carga de trabajo de ejemplo de Java/JMX**

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

1. En la región en la que se está ejecutando el clúster, elija **Metrics** (Métricas) en el panel de navegación izquierdo. Busque el espacio de nombres **PrometheusTest** para ver las métricas.

1. Para ver los eventos de CloudWatch Logs, elija **Log groups** (Grupos de registros) en el panel de navegación. Los eventos están en el grupo de registro **prometheus-test**.

# Configuración de los nombres de entorno y servicio del agente de CloudWatch para las entidades relacionadas
<a name="CloudWatch-Agent-configure-related-telemetry"></a>

El agente de CloudWatch puede enviar métricas y registros con datos de entidades para admitir el [panel Explorar lo relacionado](ExploreRelated.md) en la consola de CloudWatch. El nombre del servicio o el nombre del entorno se pueden configurar mediante la [configuración JSON del agente de CloudWatch](CloudWatch-Agent-Configuration-File-Details.md).

**nota**  
La configuración del agente puede anularse. Para obtener más información sobre la manera en que el agente decide qué datos enviar a las entidades relacionadas, consulte [Uso del agente de CloudWatch con la telemetría relacionada](CloudWatch-Agent-RelatedEntities.md).

En cuanto a las métricas, se puede configurar en el nivel del agente, de las métricas o del complemento. En el caso de los registros, se puede configurar en el nivel del agente, de los registros o de los archivos. Siempre se utiliza la configuración más específica. Por ejemplo, si la configuración existe en el nivel del agente y de las métricas, las métricas utilizarán la configuración las métricas, y todo lo demás (registros) utilizará la configuración del agente. En el siguiente ejemplo, se muestran diferentes formas de configurar el nombre del servicio y el nombre del entorno.

```
{
  "agent": {
    "service.name": "agent-level-service",
    "deployment.environment": "agent-level-environment"
  },
  
  "metrics": {
    "service.name": "metric-level-service",
     "deployment.environment": "metric-level-environment",
     
    "metrics_collected": {
      "statsd": {
        "service.name": "statsd-level-service",
        "deployment.environment": "statsd-level-environment",
      },
      "collectd": {
        "service.name": "collectdd-level-service",
        "deployment.environment": "collectd-level-environment",
      }
    }
    
  },
  
  "logs": {
    "service.name": "log-level-service",
    "deployment.environment": "log-level-environment",
    
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
            "log_group_name": "amazon-cloudwatch-agent.log",
            "log_stream_name": "amazon-cloudwatch-agent.log",
            
            "service.name": "file-level-service",
            "deployment.environment": "file-level-environment"
          }
        ]
      }
    }
    
  }
}
```

# Inicio del agente de CloudWatch
<a name="start-CloudWatch-Agent-on-premise-SSM-onprem"></a>

Se puede iniciar el agente de CloudWatch mediante Run Command de Systems Manager o con la línea de comandos.

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

## Iniciar el agente de CloudWatch mediante la línea de comandos en Amazon EC2
<a name="start-CloudWatch-Agent-EC2-commands-fleet"></a>

Haga esto para utilizar la línea de comandos para iniciar el agente de CloudWatch en Amazon EC2.

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 utilizar la línea de comandos para iniciar el agente de CloudWatch en Amazon EC2**

1. Copie el archivo de configuración del agente que desea utilizar en el servidor donde va a ejecutar el agente. Anote el nombre de la ruta donde lo va a copiar.

1. En este comando, `-a fetch-config` provoca que el agente cargue la última versión del archivo de configuración del agente de CloudWatch y `-s` inicia el agente.

   Especifique uno de los siguientes comandos. Reemplace *configuration-file-path* por la ruta al archivo de configuración del agente. Este archivo se denomina `config.json` si lo creó con el asistente y podría llamarse `amazon-cloudwatch-agent.json` si lo creó manualmente.

   En una instancia EC2 que ejecute Linux, escriba el siguiente comando. 

   ```
   sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path
   ```

   En un servidor local que ejecute Linux, escriba lo siguiente:

   ```
   sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c file:configuration-file-path
   ```

   En una instancia EC2 que ejecute Windows Server, escriba lo siguiente desde la consola de PowerShell:

   ```
   & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:configuration-file-path
   ```

   En un servidor local que ejecute Windows Server, escriba lo siguiente desde la consola de PowerShell:

   ```
   & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c file:configuration-file-path
   ```

## Iniciar el agente de CloudWatch en un servidor en las instalaciones
<a name="start-CloudWatch-Agent-on-premises"></a>

Haga lo siguiente para iniciar el agente de CloudWatch en un servidor en las instalaciones.

**Para utilizar SSM Agent con el fin de iniciar el 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 **AmazonCloudWatch-ManageAgent**.

1. En el área **Targets**, seleccione la instancia donde ha instalado el agente.

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

1. En la lista **Mode**, elija **onPremise**.

1. En el cuadro **Ubicación de configuración opcional**, ingrese el nombre del archivo de configuración del agente que ha creado con el asistente y que ha guardado en el almacén de parámetros.

1. Seleccione **Ejecutar**.

   El agente se inicia con la configuración que ha especificado en el archivo de configuración.

**Para utilizar la línea de comandos con el fin de iniciar el agente de CloudWatch en un servidor en las instalaciones**
+ En este comando, `-a fetch-config` provoca que el agente cargue la última versión del archivo de configuración del agente de CloudWatch y `-s` inicia el agente.

  Linux: si ha guardado el archivo de configuración en el almacén de parámetros de Systems Manager, ingrese lo siguiente:

  ```
  sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c ssm:configuration-parameter-store-name
  ```

  Linux: si ha guardado el archivo de configuración en el equipo local, escriba el siguiente comando: Reemplace *configuration-file-path* por la ruta al archivo de configuración del agente. Este archivo se denomina `config.json` si lo creó con el asistente y podría llamarse `amazon-cloudwatch-agent.json` si lo creó manualmente.

  ```
  sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c file:configuration-file-path
  ```

  Windows Server: si ha guardado el archivo de configuración del agente en el almacén de parámetros de Systems Manager, ingrese lo siguiente en la consola de PowerShell:

  ```
  & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c ssm:configuration-parameter-store-name
  ```

  Windows Server: si ha guardado el archivo de configuración del agente en el equipo local, escriba lo siguiente en la consola de PowerShell. Reemplace *configuration-file-path* por la ruta al archivo de configuración del agente. Este archivo se denomina `config.json` si lo creó con el asistente y podría llamarse `amazon-cloudwatch-agent.json` si lo creó manualmente.

  ```
  & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c file:configuration-file-path
  ```

# Métricas que el agente de CloudWatch ha recopilado
<a name="metrics-collected-by-CloudWatch-agent"></a>

 Puede recopilar las métricas de los servidores con el agente de CloudWatch en el servidor. Puede instalar el agente en instancias de Amazon EC2 o en servidores en las instalaciones. También puede instalar el agente en equipos que ejecuten Linux, Windows Server o macOS. Si instala el agente en una instancia de Amazon EC2, las métricas que recopila el agente se suman a las métricas habilitadas de forma predeterminada en las instancias de Amazon EC2. Para obtener información acerca de la instalación del agente de CloudWatch en una instancia, consulte [Recopile las métricas, registros y seguimientos con el agente de CloudWatch](Install-CloudWatch-Agent.md). Puede utilizar esta sección para obtener información sobre las métricas que recopila el agente de CloudWatch. 

## Métricas que el agente de CloudWatch recopila en instancias de Windows Server
<a name="windows-metrics-enabled-by-CloudWatch-agent"></a>

En un servidor con Windows Server, la instalación del agente de CloudWatch le permite recopilar las métricas asociadas con los contadores en la supervisión de rendimiento de Windows. Los nombres de métrica de CloudWatch para estos contadores se crean con la inclusión de un espacio entre el nombre de objeto y el nombre de contador. Por ejemplo, al contador `% Interrupt Time` del objeto `Processor` se le ha asignado el nombre de métrica `Processor % Interrupt Time` en CloudWatch. Para obtener más información acerca de los contadores de Monitor de rendimiento de Windows, consulte la documentación de Microsoft Windows Server.

El espacio de nombres predeterminado para las métricas que el agente de CloudWatch recopila es `CWAgent`, aunque se puede especificar otro espacio de nombres al configurar el agente.

## Métricas que el agente de CloudWatch recopila en instancias de Linux y de macOS
<a name="linux-metrics-enabled-by-CloudWatch-agent"></a>

En la siguiente tabla se muestran las métricas que se pueden recopilar con el agente de CloudWatch en servidores Linux y en equipos macOS.


| Métrica | Descripción | 
| --- | --- | 
|  `cpu_time_active` |  El periodo de tiempo que la CPU está activa en cualquier capacidad. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_guest` |  El periodo de tiempo que la CPU está ejecutando una CPU virtual para un sistema operativo invitado. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_guest_nice` |  El periodo de tiempo que la CPU está ejecutando una CPU virtual para un sistema operativo invitado que es de baja prioridad y otros procesos pueden interrumpirlo. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_idle` |  El periodo de tiempo que la CPU está inactiva. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_iowait` |  El periodo de tiempo que la CPU está a la espera de que se completen las operaciones de entrada/salida. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_irq` |  El periodo de tiempo que la CPU está atendiendo interrupciones. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_nice` |  El periodo de tiempo que la CPU está en modo de usuario con procesos de baja prioridad que otros procesos de mayor prioridad pueden interrumpir fácilmente. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_softirq` |  El periodo de tiempo que la CPU está atendiendo interrupciones de software. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_steal` |  El periodo de tiempo que la CPU se encuentra en *tiempo descartado*, que es el tiempo empleado en otros sistemas operativos en un entorno virtualizado. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_system` |  El periodo de tiempo que la CPU está en modo de sistema. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_time_user` |  El periodo de tiempo que la CPU está en modo de usuario. Esta métrica se mide en centésimas de segundo. Unidad: ninguna  | 
|  `cpu_usage_active` |  El porcentaje de tiempo que la CPU está activa en cualquier capacidad. Unidad: porcentaje  | 
|  `cpu_usage_guest` |  El porcentaje de tiempo que la CPU está ejecutando una CPU virtual para un sistema operativo invitado. Unidad: porcentaje  | 
|  `cpu_usage_guest_nice` |  El porcentaje de tiempo que la CPU está ejecutando una CPU virtual para un sistema operativo invitado que es de baja prioridad y otros procesos pueden interrumpirlo. Unidad: porcentaje  | 
|  `cpu_usage_idle` |  El porcentaje de tiempo que la CPU está inactiva. Unidad: porcentaje  | 
|  `cpu_usage_iowait` |  El porcentaje de tiempo que la CPU está a la espera de que se completen las operaciones de entrada/salida. Unidad: porcentaje  | 
|  `cpu_usage_irq` |  El porcentaje de tiempo que la CPU está atendiendo interrupciones. Unidad: porcentaje  | 
|  `cpu_usage_nice` |  El porcentaje de tiempo que la CPU está en modo de usuario con procesos de baja prioridad, que otros procesos de mayor prioridad pueden interrumpir fácilmente. Unidad: porcentaje  | 
|  `cpu_usage_softirq` |  El porcentaje de tiempo que la CPU está atendiendo interrupciones de software. Unidad: porcentaje  | 
|  `cpu_usage_steal` |  El porcentaje de tiempo que la CPU se encuentra en *tiempo descartado*, que es el tiempo empleado en otros sistemas operativos en un entorno virtualizado. Unidad: porcentaje  | 
|  `cpu_usage_system` |  El porcentaje de tiempo que la CPU está en modo de sistema. Unidad: porcentaje  | 
|  `cpu_usage_user` |  El porcentaje de tiempo que la CPU está en modo de usuario. Unidad: porcentaje  | 
|  `disk_free` |  Espacio libre en los discos. Unidades: bytes  | 
|  `disk_inodes_free` |  El número de nodos de índice disponibles en el disco. Unidad: recuento  | 
|  `disk_inodes_total` |  El número total de nodos de índice reservados en el disco. Unidad: recuento  | 
|  `disk_inodes_used` |  El número de nodos de índice usados en el disco. Unidad: recuento  | 
|  `disk_total` |  Espacio total en los discos, incluido el usado y el libre. Unidades: bytes  | 
|  `disk_used` |  Espacio usado en los discos. Unidades: bytes  | 
|  `disk_used_percent` |  El porcentaje de espacio total en disco que está utilizado. Unidad: porcentaje  | 
|  `diskio_iops_in_progress` |  El número de solicitudes de E/S que se han enviado al controlador de dispositivo, pero todavía no han completado. Unidad: recuento  | 
|  `diskio_io_time` |  El periodo de tiempo que el disco ha tenido las solicitudes de E/S en cola. Unidad: milisegundos La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `diskio_reads` |  El número de operaciones de lectura de disco. Unidad: recuento La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `diskio_read_bytes` |  El número de bytes que se leyeron de los discos. Unidades: bytes La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `diskio_read_time` |  El periodo de tiempo que las solicitudes de lectura han esperado en los discos. Si hay varias solicitudes de lectura en espera simultáneamente, se aumentará el número. Por ejemplo, si hay cinco solicitudes que esperan un promedio de 100 milisegundos, el valor registrado es 500. Unidad: milisegundos La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `diskio_writes` |  El número de operaciones de escritura de disco. Unidad: recuento La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `diskio_write_bytes` |  El número de bytes escritos en los discos. Unidades: bytes La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `diskio_write_time` |  El periodo de tiempo que las solicitudes de escritura han esperado en los discos. Si hay varias solicitudes de escritura en espera simultáneamente, se aumentará el número. Por ejemplo, si hay ocho solicitudes que esperan un promedio de 1000 milisegundos, el valor registrado es 8000. Unidad: milisegundos La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `ethtool_bw_in_allowance_exceeded` |  El número de paquetes en cola o descartados como consecuencia de que la capacidad de subida agregada superó el máximo para esta instancia. Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](CloudWatch-Agent-network-performance.md) Unidad: ninguna  | 
|  `ethtool_bw_out_allowance_exceeded` |  El número de paquetes en cola o eliminados debido a que la banda ancha de subida agregada superó el máximo de la instancia. Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](CloudWatch-Agent-network-performance.md) Unidad: ninguna  | 
|  `ethtool_conntrack_allowance_exceeded` |  El número de paquetes eliminados porque el seguimiento de conexiones superó el máximo de la instancia y no se pudieron establecer nuevas conexiones. Esto puede provocar la pérdida de paquetes para el tráfico hacia o desde la instancia.  Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](CloudWatch-Agent-network-performance.md) Unidad: ninguna  | 
|  `ethtool_linklocal_allowance_exceeded` |  El número de paquetes eliminados porque el PPS del tráfico a los servicios proxy locales superó el máximo para la interfaz de red. Esto afecta al tráfico hacia el servicio de DNS, el servicio de metadatos de instancia y el Amazon Time Sync Service.  Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte . [Recopilación de las métricas de rendimiento de la red](CloudWatch-Agent-network-performance.md) Unidad: ninguna  | 
|  `ethtool_pps_allowance_exceeded` |  El número de paquetes en cola o eliminados debido a que el PPS bidireccional superó el máximo de la instancia.  Esta métrica sólo se recopila si la ha incluido en la subsección `ethtool` de la sección `metrics_collected` del archivo de configuración del agente de CloudWatch Para obtener más información, consulte [Recopilación de las métricas de rendimiento de la red](CloudWatch-Agent-network-performance.md). Unidad: ninguna  | 
|  `mem_active` |  La cantidad de memoria que se ha utilizado de alguna manera durante el último periodo de muestreo. Unidades: bytes  | 
|  `mem_available` |  La cantidad de memoria que está disponible y que se puede asignar de manera instantánea a los procesos. Unidades: bytes  | 
|  `mem_available_percent` |  El porcentaje de memoria que está disponible y que se puede asignar de manera instantánea a los procesos. Unidad: porcentaje  | 
|  `mem_buffered` |  La cantidad de memoria que se utiliza para los búferes. Unidades: bytes  | 
|  `mem_cached` |  La cantidad de memoria que se utiliza para la memoria caché de archivo. Unidades: bytes  | 
|  `mem_free` |  La cantidad de memoria que no se está utilizando. Unidades: bytes  | 
|  `mem_inactive` |  La cantidad de memoria que no se ha utilizado de alguna manera durante el último periodo de muestreo. Unidades: bytes  | 
|  `mem_shared` |  La cantidad de memoria que se comparte entre procesos. Unidades: bytes  | 
|  `mem_total` |  La cantidad total de memoria. Unidades: bytes  | 
|  `mem_used` |  La cantidad de memoria en uso actualmente. Unidades: bytes  | 
|  `mem_used_percent` |  El porcentaje de memoria en uso actualmente. Unidad: porcentaje  | 
|  `net_bytes_recv` |  El número de bytes recibidos por la interfaz de red. Unidades: bytes La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `net_bytes_sent` |  El número de bytes enviados por la interfaz de red. Unidades: bytes La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `net_drop_in` |  El número de paquetes recibidos por esta interfaz de red que se han descartado. Unidad: recuento La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `net_drop_out` |  El número de paquetes transmitidos por esta interfaz de red que se han descartado. Unidad: recuento La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `net_err_in` |  El número de errores de recepción detectados por esta interfaz de red. Unidad: recuento La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `net_err_out` |  El número de errores de transmisión detectados por esta interfaz de red. Unidad: recuento La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `net_packets_sent` |  El número de paquetes enviados por esta interfaz de red. Unidad: recuento La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `net_packets_recv` |  El número de paquetes recibidos por esta interfaz de red. Unidad: recuento La única estadística que debe utilizarse para esta métrica es `Sum`. No utilizar `Average`.  | 
|  `netstat_tcp_close` |  El número de conexiones TCP sin estado. Unidad: recuento  | 
|  `netstat_tcp_close_wait` |  El número de conexiones TCP esperando una solicitud de finalización del cliente. Unidad: recuento  | 
|  `netstat_tcp_closing` |  El número de conexiones TCP que están esperando una solicitud de finalización con confirmación del cliente. Unidad: recuento  | 
|  `netstat_tcp_established` |  El número de conexiones TCP establecidas. Unidad: recuento  | 
|  `netstat_tcp_fin_wait1` |  El número de conexiones TCP en estado `FIN_WAIT1` durante el proceso de cierre de una conexión. Unidad: recuento  | 
|  `netstat_tcp_fin_wait2` |  El número de conexiones TCP en estado `FIN_WAIT2` durante el proceso de cierre de una conexión. Unidad: recuento  | 
|  `netstat_tcp_last_ack` |  El número de conexiones TCP esperando a que el cliente envíe la confirmación del mensaje de finalización de conexión. Es el último estado antes de que se cierre la conexión. Unidad: recuento  | 
|  `netstat_tcp_listen` |  El número de puertos TCP que se escuchan actualmente para una solicitud de conexión. Unidad: recuento  | 
|  `netstat_tcp_none` |  El número de conexiones TCP con clientes inactivos. Unidad: recuento  | 
|  `netstat_tcp_syn_sent` |  El número de conexiones TCP que esperan una solicitud de conexión coincidente después de haber enviado una solicitud de conexión. Unidad: recuento  | 
|  `netstat_tcp_syn_recv` |  El número de conexiones TCP que esperan una confirmación de solicitud de conexión después de haber enviado y recibido una solicitud de conexión. Unidad: recuento  | 
|  `netstat_tcp_time_wait` |  El número de conexiones TCP en espera actualmente para garantizar que el cliente ha recibido la confirmación de su solicitud de finalización de conexión. Unidad: recuento  | 
|  `netstat_udp_socket` |  El número de conexiones UDP actuales. Unidad: recuento  | 
|  `processes_blocked` |  El número de procesos que están bloqueados. Unidad: recuento  | 
|  `processes_dead` |  El número de procesos que están “muertos”, lo que se indica mediante el código de estado `X` en Linux. Esta métrica no se recopila en ordenadores con macOS. Unidad: recuento  | 
|  `processes_idle` |  El número de procesos que han estado inactivos (sin actividad durante más de 20 segundos). Disponible en instancias de FreeBSD. Unidad: recuento  | 
|  `processes_paging` |  El número de procesos que están paginando, lo que se indica mediante el código de estado `W` en Linux. Esta métrica no se recopila en ordenadores con macOS. Unidad: recuento  | 
|  `processes_running` |  El número de procesos que están en ejecución, lo que se indica mediante el código de estado `R`. Unidad: recuento  | 
|  `processes_sleeping` |  El número de procesos que están inactivos, lo que se indica mediante el código de estado `S`. Unidad: recuento  | 
|  `processes_stopped` |  El número de procesos que están detenidos, lo que se indica mediante el código de estado `T`. Unidad: recuento  | 
|  `processes_total` |  El número total de procesos en la instancia. Unidad: recuento  | 
|  `processes_total_threads` |  El número total de subprocesos que componen los procesos. Esta métrica solo está disponible en instancias Linux. Esta métrica no se recopila en ordenadores con macOS. Unidad: recuento  | 
|  `processes_wait` |  El número de procesos que están paginando, lo que se indica mediante el código de estado `W` en instancias de FreeBSD. Esta métrica sólo está disponible en instancias de FreeBSD y no está disponible en instancias de Linux, Windows Server o de macOS. Unidad: recuento  | 
|  `processes_zombies` |  El número de procesos zombis, lo que se indica mediante el código de estado `Z`. Unidad: recuento  | 
|  `swap_free` |  La cantidad de espacio de intercambio que no se está utilizando. Unidades: bytes  | 
|  `swap_used` |  La cantidad de espacio de intercambio en uso actualmente. Unidades: bytes  | 
|  `swap_used_percent` |  El porcentaje de espacio de intercambio en uso actualmente. Unidad: porcentaje  | 

## Definiciones de las métricas de memoria que el agente CloudWatch ha recopilado
<a name="CloudWatch-agent-metrics-definitions"></a>

Cuando el agente CloudWatch recopila métricas de memoria, la fuente es el subsistema de administración de memoria del host. Por ejemplo, el núcleo Linux expone los datos mantenidos por el sistema operativo en `/proc`. En el caso de la memoria, los datos están en `/proc/meminfo`. 

Cada arquitectura y sistema operativo distintos tienen cálculos diferentes de los recursos que utilizan los procesos. Para obtener más información, consulte las siguientes secciones.

Durante cada intervalo de recopilación, el agente de CloudWatch de cada instancia recopila los recursos de la instancia y calcula los recursos que utilizan todos los procesos que se ejecutan en esa instancia. Esta información se remite a las métricas de CloudWatch. Puede configurar la duración del intervalo de recopilación en el archivo de configuración del agente de CloudWatch. Para obtener más información, consulte [Archivo de configuración del agente de CloudWatch: sección del agente](CloudWatch-Agent-Configuration-File-Details.md#CloudWatch-Agent-Configuration-File-Agentsection).

En la siguiente lista se explica cómo se definen las métricas de memoria que recopila el agente de CloudWatch.
+ **Memoria activa**: memoria que utiliza un proceso. En otras palabras, la memoria que utilizan las aplicaciones que se están ejecutando.
+  **Memoria disponible**: memoria que se puede asignar instantáneamente a los procesos sin que el sistema la intercambie (también conocida como memoria virtual). 
+ **Memoria intermedia**: área de datos que comparten los dispositivos de hardware o los procesos de programa que funcionan a diferentes velocidades y prioridades.
+ **Memoria en caché**: almacena las instrucciones y los datos del programa que se utilizan repetidamente en el funcionamiento de los programas que probablemente la CPU necesite a continuación.
+ **Memoria libre**: memoria que no se utiliza en absoluto y que está fácilmente disponible. Es completamente gratuito para que el sistema pueda usarse cuando sea necesario.
+ **Memoria inactiva**: páginas a las que no se ha accedido “recientemente”.
+ **Memoria total**: el tamaño de la memoria RAM física real.
+ **Memoria usada**: memoria que los programas y procesos utilizan actualmente.

**Topics**
+ [Linux: métricas recopiladas y cálculos utilizados](#CloudWatch-agent-metrics-definitions-calculations)
+ [macOS: métricas recopiladas y cálculos utilizados](#CloudWatch-agent-metrics-definitions-calculations)
+ [Windows: métricas recopiladas](#CloudWatch-agent-metrics-definitions-calculations)
+ [Ejemplo: calcular las métricas de memoria en Linux](#CloudWatch-agent-metrics-definitions-LinuxExample)

### Linux: métricas recopiladas y cálculos utilizados
<a name="CloudWatch-agent-metrics-definitions-calculations"></a>

Métricas recopiladas y unidades:
+ Activo (bytes)
+ Disponible (bytes)
+ Porcentaje disponible (porcentaje)
+ Almacenado en búfer (bytes)
+ En caché (bytes)
+ Gratis (bytes)
+ Inactivo (bytes)
+ Total (Bytes)
+ Usado (bytes)
+ Porcentaje de uso (por ciento)

**Memoria utilizada** = Memoria total - Memoria libre - Memoria en caché - Memoria en búfer

**Memoria total** = Memoria utilizada \$1 Memoria libre \$1 Memoria caché \$1 Memoria en búfer

### macOS: métricas recopiladas y cálculos utilizados
<a name="CloudWatch-agent-metrics-definitions-calculations"></a>

Métricas recopiladas y unidades:
+ Activo (bytes)
+ Disponible (bytes)
+ Porcentaje disponible (porcentaje)
+ Gratis (bytes)
+ Inactivo (bytes)
+ Total (Bytes)
+ Usado (bytes)
+ Porcentaje de uso (por ciento)

**Memoria disponible** = memoria libre \$1 memoria inactiva

**Memoria usada** = Memoria total - Memoria disponible

**Memoria total** = Memoria disponible \$1 Memoria utilizada

### Windows: métricas recopiladas
<a name="CloudWatch-agent-metrics-definitions-calculations"></a>

Las métricas recopiladas en los hosts de Windows se muestran a continuación. Todas estas métricas tienen `None` para `Unit`.
+ Bytes disponibles
+ Fallos de caché por segundo
+ Errores de página por segundo
+ Páginas por segundo

No se utilizan cálculos para las métricas de Windows porque el agente de CloudWatch analiza los eventos de los contadores de rendimiento.

### Ejemplo: calcular las métricas de memoria en Linux
<a name="CloudWatch-agent-metrics-definitions-LinuxExample"></a>

Como ejemplo, supongamos que al introducir el comando **cat /proc/meminfo** en un host Linux se obtienen los siguientes resultados:

```
MemTotal:       3824388 kB
MemFree:         462704 kB
MemAvailable:   2157328 kB
Buffers:         126268 kB
Cached:         1560520 kB
SReclaimable:    289080 kB>
```

En este ejemplo, el agente de CloudWatch recopilará los siguientes valores. Todos los valores que recopila e informa el agente de CloudWatch están en bytes.
+ `mem_total`: 3 916 173 312 bytes
+ `mem_available`: 2 209 103 872 bytes (MemFree \$1 Cached)
+ `mem_free`: 473 808 896 bytes
+ `mem_cached`: 1 893 990 400 bytes (`cached` \$1 `SReclaimable`
+ `mem_used`: 1 419 075 584 bytes (`MemTotal` – (`MemFree` \$1 `Buffers` \$1 (`Cached` \$1 `SReclaimable`)))
+ `mem_buffered`: 129 667 072 bytes
+ `mem_available_percent`: 56,41 %
+ `mem_used_percent`: 36,24 % (`mem_used`/`mem_total`) \$1 100

# Uso del agente de CloudWatch con la telemetría relacionada
<a name="CloudWatch-Agent-RelatedEntities"></a>

Las métricas y los registros que se envían a CloudWatch pueden incluir una entidad opcional para correlacionar la telemetría. Las entidades se utilizan en el panel [Explorar lo relacionado](ExploreRelated.md). El agente de CloudWatch envía las entidades con un nombre de servicio y un nombre de entorno incluidos.

El agente elige el nombre del servicio y el nombre del entorno entre los siguientes datos.

**Nombre del servicio**

El agente elige el nombre del servicio entre las siguientes opciones, en orden de prioridad:
+ **Instrumentación de Application Signals**: el agente envía el nombre del servicio utilizado por Application Signals. Esto se puede sobrescribir al cambiar la variable de entorno `OTEL_SERVICE_NAME` utilizada por las bibliotecas de instrumentación de OpenTelemetry admitidas.
+ **Configuración del agente de CloudWatch**: puede [configurar el agente](CloudWatch-Agent-configure-related-telemetry.md) para que utilice un nombre de servicio específico. Esto se puede configurar en el nivel del agente, del complemento, de las métricas, de los registros o del archivo de registro.
+ **Nombre de la carga de trabajo de Kubernetes**: en el caso de las cargas de trabajo de Kubernetes, el agente envía el nombre de la carga de trabajo del pod correspondiente, en el siguiente orden de prioridad.
  + Nombre de implementación
  + Nombre de ReplicaSet
  + Nombre de StatefulSet
  + Nombre de DaemOnset
  + Nombre de CronJob
  + Nombre del trabajo
  + Nombre de pod
  + Nombre de contenedor
+ **Etiquetas de recursos de los metadatos de la instancia**: en el caso de las cargas de trabajo de Amazon EC2, el agente envía el nombre a partir de las etiquetas, en el siguiente orden.
  + servicio
  + aplicación
  + aplicación

  Debe [configurar los metadatos de la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/work-with-tags-in-IMDS.html#allow-access-to-tags-in-IMDS) para que el agente pueda acceder a las etiquetas.
+ **Predeterminado**: si no se encuentra ningún otro nombre de servicio, el agente enviará el nombre `Unknown`.

**Nombre del entorno**

El agente elige el nombre del entorno entre las siguientes opciones, en orden de prioridad:
+ **Instrumentación de Application Signals**: el agente envía el nombre del entorno utilizado por Application Signals. Esto se puede sobrescribir al establecer una variable de entorno `deployment.environment` utilizada por las bibliotecas de instrumentación de OpenTelemetry admitidas. Por ejemplo, las aplicaciones pueden establecer la variable de entorno `OTEL_RESOURCE_ATTRIBUTES=deployment.environment=MyEnvironment`.
+ **Configuración del agente de CloudWatch**: puede [configurar el agente](CloudWatch-Agent-configure-related-telemetry.md) para que utilice un nombre de entorno específico. Esto se puede configurar en el nivel del agente, del complemento, de las métricas, de los registros o del archivo de registro.
+ **Nombre y espacio de trabajo del clúster**: para Amazon EKS, `eks:cluster-name/Namespace`. Para Kubernetes nativo que se ejecuta en Amazon EC2, `k8s:cluster-name/Namespace`.
+ **Etiquetas de recursos de los metadatos de la instancia**: en el caso de las cargas de trabajo de Amazon EC2, el agente puede utilizar la etiqueta `AutoScalingGroup`.

  Debe [configurar los metadatos de la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/work-with-tags-in-IMDS.html#allow-access-to-tags-in-IMDS) para que el agente pueda acceder a las etiquetas.
+ De forma predeterminada, las instancias de Amazon EC2 que no ejecutan Kubernetes recibirán el nombre de entorno `ec2:default`.

# Escenarios comunes con el agente de CloudWatch
<a name="CloudWatch-Agent-common-scenarios"></a>

 En esta sección encontrará diferentes escenarios en los que se describen algunas de las tareas comunes de configuración y personalización con el agente de CloudWatch. 

**Topics**
+ [Ejecución del agente de CloudWatch como otro usuario](#CloudWatch-Agent-run-as-user)
+ [Cómo el agente de CloudWatch maneja los archivos de registro dispersos](#CloudWatch-Agent-sparse-log-files)
+ [Adición de dimensiones personalizadas a métricas que el agente de CloudWatch recopila](#CloudWatch-Agent-adding-custom-dimensions)
+ [Adición o acumulación de las métricas que el agente de CloudWatch recopila](#CloudWatch-Agent-aggregating-metrics)
+ [Recopilación de métricas de alta resolución con el agente de CloudWatch](#CloudWatch-Agent-collect-high-resolution-metrics)
+ [Envío de métricas, registros y seguimientos a una cuenta diferente](#CloudWatch-Agent-send-to-different-AWS-account)
+ [Diferencias de marcas de tiempo entre el agente de CloudWatch y el agente de CloudWatch Logs anterior](#CloudWatch-Agent-logs-timestamp-differences)
+ [Anexión de los archivos de configuración del recopilador de OpenTelemetry](#CloudWatch-Agent-appending-OpenTelemetry-config-files)

## Ejecución del agente de CloudWatch como otro usuario
<a name="CloudWatch-Agent-run-as-user"></a>

En los servidores Linux, CloudWatch se ejecuta como el superusuario de forma predeterminada. Para que el agente se ejecute como otro usuario, utilice el parámetro `run_as_user` en la sección `agent` del archivo de configuración del agente de CloudWatch. Esta opción solo está disponible en los servidores Linux.

Si ya está ejecutando el agente con el usuario raíz y desea usar otro usuario, utilice uno de los siguientes procedimientos.

**Para ejecutar el agente de CloudWatch como otro usuario en una instancia EC2 que ejecuta Linux**

1. Descargue e instale un nuevo paquete del agente de CloudWatch. 

1. Cree un nuevo usuario de Linux o utilice el nombre de usuario de Linux predeterminado `cwagent` que creó el archivo RPM o DEB.

1. Proporcione credenciales para este usuario en una de estas formas:
   + Si el archivo `.aws/credentials` existe en el directorio inicial del superusuario, debe crear un archivo de credenciales para el usuario que va a utilizar para ejecutar el agente de CloudWatch. Este archivo de credenciales será `/home/username/.aws/credentials`. A continuación, establezca el valor del parámetro `shared_credential_file` en `common-config.toml` para el nombre de ruta del archivo de credenciales. Para obtener más información, consulte [Instalación del agente de CloudWatch con AWS Systems Manager](installing-cloudwatch-agent-ssm.md).
   + Si el archivo `.aws/credentials` no existe en el directorio inicial del superusuario, puede realizar una de las siguientes opciones:
     + Cree un archivo de credenciales para el usuario que va a utilizar para ejecutar el agente de CloudWatch. Este archivo de credenciales será `/home/username/.aws/credentials`. A continuación, establezca el valor del parámetro `shared_credential_file` en `common-config.toml` para el nombre de ruta del archivo de credenciales. Para obtener más información, consulte [Instalación del agente de CloudWatch con AWS Systems Manager](installing-cloudwatch-agent-ssm.md).
     + En lugar de crear un archivo de credenciales, adjunte un rol de IAM a la instancia. El agente utiliza este rol como el proveedor de credenciales.

1. En el archivo de configuración del agente de CloudWatch, agregue la siguiente línea a la sección `agent`:

   ```
   "run_as_user": "username"
   ```

   Realice otras modificaciones en el archivo de configuración según sea necesario. Para obtener más información, consulte [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md)

1. Otorgar al usuario los permisos necesarios. El usuario debe tener permisos Read (r) para los archivos de registro que se van a recopilar y el permiso Execute (x) en cada directorio de la ruta de los archivos de registro.

1. Inicie el agente con el archivo de configuración que acaba de modificar.

   ```
   sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path
   ```

**Para ejecutar el agente de CloudWatch como otro usuario en un servidor en las instalaciones que ejecuta Linux**

1. Descargue e instale un nuevo paquete del agente de CloudWatch. 

1. Cree un nuevo usuario de Linux o utilice el nombre de usuario de Linux predeterminado `cwagent` que creó el archivo RPM o DEB.

1. Almacene las credenciales de este usuario en una ruta a la que el usuario pueda obtener acceso, como `/home/username/.aws/credentials`.

1. Establezca el valor del parámetro `shared_credential_file` en `common-config.toml` para nombre de ruta del archivo de credenciales. Para obtener más información, consulte [Instalación del agente de CloudWatch con AWS Systems Manager](installing-cloudwatch-agent-ssm.md).

1. En el archivo de configuración del agente de CloudWatch, agregue la siguiente línea a la sección `agent`:

   ```
   "run_as_user": "username"
   ```

   Realice otras modificaciones en el archivo de configuración según sea necesario. Para obtener más información, consulte [Cree el archivo de configuración del agente de CloudWatch](create-cloudwatch-agent-configuration-file.md)

1. Otorgar los permisos necesarios para el usuario. El usuario debe tener permisos Read (r) para los archivos de registro que se van a recopilar y el permiso Execute (x) en cada directorio de la ruta de los archivos de registro.

1. Inicie el agente con el archivo de configuración que acaba de modificar.

   ```
   sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path
   ```

## Cómo el agente de CloudWatch maneja los archivos de registro dispersos
<a name="CloudWatch-Agent-sparse-log-files"></a>

Los archivos dispersos son archivos con bloques vacíos y contenido real. Un archivo disperso utiliza el espacio en disco de manera más eficiente escribiendo información breve que representa los bloques vacíos en el disco en lugar de los bytes nulos reales que componen el bloque. Esto hace que el tamaño real de un archivo disperso sea generalmente mucho más pequeño que su tamaño aparente.

Sin embargo, el agente de CloudWatch no trata los archivos dispersos de manera distinta a los archivos normales. Cuando el agente lee un archivo disperso, los bloques vacíos se tratan como bloques «reales» rellenos de bytes nulos. Debido a esto, el agente de CloudWatch publica tantos bytes como el tamaño aparente de un archivo disperso en CloudWatch. 

La configuración del agente de CloudWatch para publicar un archivo disperso puede causar costos de CloudWatch superiores a los esperados, por lo que se recomienda no configurarlo de esa manera. Por ejemplo, `/var/logs/lastlog` en Linux suele ser un archivo muy disperso y se recomienda que no lo publique en CloudWatch. 

## Adición de dimensiones personalizadas a métricas que el agente de CloudWatch recopila
<a name="CloudWatch-Agent-adding-custom-dimensions"></a>

Para añadir dimensiones personalizadas, como etiquetas, a métricas recopiladas por el agente, añada el campo `append_dimensions` a la sección del archivo de configuración del agente que enumera dichas métricas.

Por ejemplo, la siguiente sección de ejemplo del archivo de configuración añade una dimensión personalizada denominada `stackName` con un valor de `Prod` a las métricas `cpu` y `disk` recopiladas por el agente.

```
"cpu":{  
  "resources":[  
    "*"
  ],
  "measurement":[  
    "cpu_usage_guest",
    "cpu_usage_nice",
    "cpu_usage_idle"
  ],
  "totalcpu":false,
  "append_dimensions":{  
    "stackName":"Prod"
  }
},
"disk":{  
  "resources":[  
    "/",
    "/tmp"
  ],
  "measurement":[  
    "total",
    "used"
  ],
  "append_dimensions":{  
    "stackName":"Prod"
  }
}
```

Recuerde que cada vez que cambie el archivo de configuración del agente, debe reiniciar el agente para que los cambios surtan efecto.

## Adición o acumulación de las métricas que el agente de CloudWatch recopila
<a name="CloudWatch-Agent-aggregating-metrics"></a>

Para agregar o acumular las métricas recopiladas por el agente, añada un campo `aggregation_dimensions` a la sección de dicha métrica en el archivo de configuración del agente.

Por ejemplo, el siguiente fragmento del archivo de configuración acumula métricas en la dimensión `AutoScalingGroupName`. Se agregan las métricas de todas las instancias de cada grupo de Auto Scaling y se pueden ver como un conjunto.

```
"metrics": {
  "cpu":{...}
  "disk":{...}
  "aggregation_dimensions" : [["AutoScalingGroupName"]]
}
```

Para acumularlas en función de la combinación de cada una de las dimensiones `InstanceId` y `InstanceType`, además de acumularlas por el nombre de grupo de Auto Scaling, agregue lo siguiente.

```
"metrics": {
  "cpu":{...}
  "disk":{...}
  "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"]]
}
```

Para acumular las métricas en una colección en su lugar, utilice `[]`.

```
"metrics": {
  "cpu":{...}
  "disk":{...}
  "aggregation_dimensions" : [[]]
}
```

Recuerde que cada vez que cambie el archivo de configuración del agente, debe reiniciar el agente para que los cambios surtan efecto.

## Recopilación de métricas de alta resolución con el agente de CloudWatch
<a name="CloudWatch-Agent-collect-high-resolution-metrics"></a>

El campo `metrics_collection_interval` especifica el intervalo de tiempo de las métricas recopiladas, en segundos. Al especificar un valor de menos de 60 para este campo, las métricas se recopilan como métricas de alta resolución.

Por ejemplo, si todas las métricas deben ser de alta resolución y se recopilan cada 10 segundos, especifique 10 como el valor de `metrics_collection_interval` en la sección `agent` como un intervalo de recopilación de métricas globales.

```
"agent": {
  "metrics_collection_interval": 10
}
```

De forma alternativa, el siguiente ejemplo establece las métricas de `cpu` que se van a recopilar cada segundo, mientras que las demás métricas se recopilan cada minuto.

```
"agent":{  
  "metrics_collection_interval": 60
},
"metrics":{  
  "metrics_collected":{  
    "cpu":{  
      "resources":[  
        "*"
      ],
      "measurement":[  
        "cpu_usage_guest"
      ],
      "totalcpu":false,
      "metrics_collection_interval": 1
    },
    "disk":{  
      "resources":[  
        "/",
        "/tmp"
      ],
      "measurement":[  
        "total",
        "used"
      ]
    }
  }
}
```

Recuerde que cada vez que cambie el archivo de configuración del agente, debe reiniciar el agente para que los cambios surtan efecto.

## Envío de métricas, registros y seguimientos a una cuenta diferente
<a name="CloudWatch-Agent-send-to-different-AWS-account"></a>

Para que el agente de CloudWatch envíe las métricas, los registros o los seguimientos a una cuenta diferente, especifique un parámetro `role_arn` en el archivo de configuración del agente en el servidor de envío. El valor de `role_arn` especifica un rol de IAM en la cuenta de destino que el agente utiliza al enviar datos a dicha cuenta. Este rol permite que la cuenta de envío asuma un rol correspondiente en la cuenta de destino al enviar las métricas o los registros a la cuenta de destino.

También puede especificar cadenas `role_arn` distintas en el archivo de configuración del agente: una para utilizarla al enviar métricas, otra para enviar registros y otra para enviar seguimientos.

El siguiente ejemplo de parte de la sección `agent` del archivo de configuración establece que el agente utilice `CrossAccountAgentRole` al enviar datos a una cuenta diferente.

```
{
  "agent": {
    "credentials": {
      "role_arn": "arn:aws:iam::123456789012:role/CrossAccountAgentRole"
    }
  },
  .....
}
```

Por otro lado, el siguiente ejemplo establece diferentes funciones para la cuenta de envío cuando se envían métricas, registros y seguimientos:

```
"metrics": {
    "credentials": {
     "role_arn": "RoleToSendMetrics"
    },
    "metrics_collected": {....
```

```
"logs": {
    "credentials": {
    "role_arn": "RoleToSendLogs"
    },
    ....
```

**Políticas necesarias**

Cuando especifica un `role_arn` en el archivo de configuración del agente, también debe asegurarse de que los roles de IAM de las cuentas de envío y de destino cuenten con determinadas políticas. Los roles de las cuentas de envío y de destino deben tener la política `CloudWatchAgentServerPolicy`. Para obtener más información sobre cómo asignar esta política a un rol, consulte [Requisitos previos](prerequisites.md).

El rol de la cuenta de envío también debe incluir la política siguiente. Esta política se añade en la pestaña **Permissions** (Permisos) de la consola de IAM al editar el rol.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/agent-role-in-target-account"
            ]
        }
    ]
}
```

------

El rol de la cuenta de destino debe incluir la siguiente política, de modo que reconozca el rol de IAM que la cuenta de envío utilice. Esta política se añade en la pestaña **Trust relationships** (Relaciones de confianza) de la consola de IAM al editar el rol. Este rol es el rol especificado en `agent-role-in-target-account` en la política utilizada por la cuenta de envío.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/role-in-sender-account"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

## Diferencias de marcas de tiempo entre el agente de CloudWatch y el agente de CloudWatch Logs anterior
<a name="CloudWatch-Agent-logs-timestamp-differences"></a>

El agente de CloudWatch admite un conjunto diferente de símbolos para formatos de marca de tiempo, en comparación con el agente de CloudWatch Logs anterior. Estas diferencias se muestran en la siguiente tabla.


| Símbolos que ambos agentes admiten | Símbolos que solo admite el agente de CloudWatch | Símbolos que solo el agente de CloudWatch Logs anterior admite | 
| --- | --- | --- | 
|  %A, %a, %b, %B, %d, %f, %H, %l, %m, %M, %p, %S, %y, %Y, %Z, %z  |  %-d, %-l, %-m, %-M, %-S  |  %c,%j, %U, %W, %w  | 

Para obtener más información sobre el significado de los símbolos que admite el nuevo agente de CloudWatch, consulte [CloudWatch Agent Configuration File: Logs Section](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html#CloudWatch-Agent-Configuration-File-Logssection) (Archivo de configuración del agente de CloudWatch: sección de registros) en la *Guía del usuario de Amazon CloudWatch*. Para obtener más información acerca de los símbolos que admite el agente de CloudWatch Logs, consulte [Agent Configuration File](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html#agent-configuration-file) (Archivo de configuración del agente) en la *Guía del usuario de Amazon CloudWatch Logs*.

## Anexión de los archivos de configuración del recopilador de OpenTelemetry
<a name="CloudWatch-Agent-appending-OpenTelemetry-config-files"></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.

```
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]
```

Para configurar el agente de CloudWatch, inicie el agente de CloudWatch mediante la opción `fetch-config` y especifique el archivo de configuración del agente de CloudWatch. El agente de CloudWatch requiere al menos un archivo de configuración del agente de CloudWatch.

```
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -c file:/tmp/agent.json -s
```

A continuación, utilice la opción `append-config`, a la vez que especifica el archivo de configuración del recopilador de OpenTelemetry.

```
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -c file:/tmp/otel.yaml -s
```

El agente combina los dos archivos de configuración al inicio y registra la configuración resuelta.

# Preferencia de credenciales del agente de CloudWatch
<a name="CloudWatch-Agent-Credentials-Preference"></a>

 En esta sección se describe la cadena de proveedores de credenciales que el agente de CloudWatch utiliza para obtener las credenciales al comunicarse con otros servicios y API de AWS. El orden es el siguiente: 

**nota**  
 Las preferencias que aparecen en los números del dos a cinco siguen el mismo orden de preferencia definido en el AWS SDK. Para obtener más información, consulte [Specifying Credentials](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials) en la documentación del SDK. 

1. Archivos de configuración y credenciales compartidos tal y como se definen en el archivo `common-config.toml` del agente de CloudWatch. Para obtener más información, consulte [Instalación del agente de CloudWatch con AWS Systems Manager](installing-cloudwatch-agent-ssm.md).

1. Variables de entorno del SDK de AWS
**importante**  
En Linux, si ejecuta el agente de CloudWatch mediante el script `amazon-cloudwatch-agent-ctl`, el script inicia el agente como un servicio `systemd`. En este caso, el agente no puede acceder a variables de entorno como `HOME`, `AWS_ACCESS_KEY_ID` y `AWS_SECRET_ACCESS_KEY`.

1. Archivos de configuración y credenciales compartidos que se encuentran en `$HOME/%USERPROFILE%`
**nota**  
El agente de CloudWatch busca `.aws/credentials` en `$HOME` para Linux y macOS y busca en `%USERPROFILE%` para Windows. A diferencia del SDK de AWS, el agente de CloudWatch no tiene métodos alternativos para determinar el directorio principal si no se puede acceder a las variables de entorno. Esta diferencia de comportamiento sirve para mantener la compatibilidad con versiones anteriores del SDK de AWS.  
Además, a diferencia de las credenciales compartidas que se encuentran en `common-config.toml`, si las credenciales compartidas derivadas del SDK de AWS caducan y se rotan, el agente de CloudWatch no recogerá automáticamente las credenciales renovadas y será necesario reiniciar el agente para hacerlo.

1. Un rol de AWS Identity and Access Management para tareas si hay una aplicación presente que utiliza una definición de tarea de Amazon Elastic Container Service o una operación de API RunTask.

1. un perfil de instancias adjunto a una instancia de Amazon EC2

Como práctica recomendada, le recomendamos que especifique las credenciales en el orden siguiente cuando utilice el agente de CloudWatch.

1. Utilice roles de IAM para las tareas si su aplicación utiliza una definición de tarea de Amazon Elastic Container Service o una operación de la API RunTask.

1. Utilice roles de IAM si su aplicación se ejecuta en una instancia de Amazon EC2.

1. Utilice el archivo `common-config.toml` de agente de CloudWatch para especificar el archivo de credenciales. Este archivo de credenciales es el mismo que utilizan los demás SDK de AWS y la AWS CLI. Si ya está utilizando un archivo de credenciales compartido, también puede utilizarlo para este fin. Si lo proporciona mediante el archivo `common-config.toml` de agente de CloudWatch, se asegura de que el agente consumirá las credenciales rotadas cuando caduquen y se sustituirán sin necesidad de reiniciar el agente.

1. Utilice variables de entorno. Configurar variables de entorno es útil si está realizando trabajos de desarrollo en una computadora que no sea una instancia de Amazon EC2.

**nota**  
 Si envía la telemetría a una cuenta diferente, como se explica en [Envío de métricas, registros y seguimientos a una cuenta diferente](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account), el agente de CloudWatch utilizará la cadena de proveedores de credenciales que se describe en esta sección para obtener el conjunto inicial de credenciales. A continuación, utiliza esas credenciales al asumir el rol de IAM especificado por `role_arn` en el archivo de configuración del agente de CloudWatch. 

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

 Puede utilizar la información de esta sección para solucionar problemas con el agente de CloudWatch. 

Si tiene problemas con el agente de CloudWatch, puede utilizar el manual de procedimientos de automatización de `AWSSupport-TroubleshootCloudWatchAgent`. La herramienta de solución de problemas de AWS puede hacer lo siguiente:
+ Verificar los permisos de IAM y los perfiles de instancia
+ Comprobar el estado del agente y analizar los registros
+ Probar la conectividad de los puntos de conexión
+ Recopilar y cargar automáticamente los registros correspondientes en Amazon S3

Para obtener información detallada sobre la herramienta de solución de problemas de AWS, consulte [Support Automation Workflow (SAW) Runbook: solución de problemas con el agente de CloudWatch](https://repost.aws/articles/ARDFhNRgSMRcahrIbGJaIC4g/support-automation-workflow-saw-runbook-troubleshoot-amazon-cloudwatch-agent).

**Topics**
+ [Parámetros de la línea de comandos del agente de CloudWatch](#CloudWatch-Agent-options-help)
+ [Error al instalar el agente de CloudWatch mediante Run Command](#CloudWatch-Agent-installation-fails)
+ [El agente de CloudWatch no se iniciará](#CloudWatch-Agent-troubleshooting-cannot-start)
+ [Verifique que el agente de CloudWatch esté en ejecución](#CloudWatch-Agent-troubleshooting-verify-running)
+ [El agente de CloudWatch no se iniciará y el error menciona la región de Amazon EC2](#CloudWatch-Agent-troubleshooting-EC2-region)
+ [El agente de CloudWatch no se iniciará en Windows Server](#CloudWatch-Agent-troubleshooting-Windows-start)
+ [¿Dónde están las métricas?](#CloudWatch-Agent-troubleshooting-no-metrics)
+ [El agente de CloudWatch tarda mucho en ejecutarse en un contenedor o registra un error de límite de saltos](#CloudWatch-Agent-container-slow)
+ [He actualizado la configuración del agente pero no puedo ver las métricas o los registros nuevos en la consola de CloudWatch](#CloudWatch-Agent-troubleshooting-update-no-new-metrics)
+ [Archivos y ubicaciones del agente de CloudWatch](#CloudWatch-Agent-files-and-locations)
+ [Búsqueda de información sobre las versiones del agente de CloudWatch](#CloudWatch-Agent-troubleshooting-agent-version)
+ [Registros que el agente de CloudWatch ha generado](#CloudWatch-Agent-troubleshooting-loginfo)
+ [Cierre y reinicio del agente de CloudWatch](#CloudWatch-Agent-troubleshooting-stopping-restarting)

## Parámetros de la línea de comandos del agente de CloudWatch
<a name="CloudWatch-Agent-options-help"></a>

Para ver la lista completa de los parámetros que el agente de CloudWatch admite, ingrese lo siguiente en la línea de comandos en un ordenador en el que lo tenga instalado:

```
amazon-cloudwatch-agent-ctl -help
```

## Error al instalar el agente de CloudWatch mediante Run Command
<a name="CloudWatch-Agent-installation-fails"></a>

Para instalar el agente de CloudWatch mediante Run Command de Systems Manager, la versión de SSM Agent del servidor de destino debe ser la 2.2.93.0 o posterior. Si SSM Agent no cuenta con la versión correcta, es posible que vea errores que incluyen los siguientes mensajes:

```
no latest version found for package AmazonCloudWatchAgent on platform linux
```

```
failed to download installation package reliably
```

Para obtener información sobre la actualización de la versión de SSM Agent, consulte [Installing and Configuring SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) (Instalación y configuración de SSM Agent) en la *Guía del usuario de AWS Systems Manager*.

## El agente de CloudWatch no se iniciará
<a name="CloudWatch-Agent-troubleshooting-cannot-start"></a>

Si el agente de CloudWatch no se inicia, podría haber un problema en la configuración. La información de configuración se registra en el archivo `configuration-validation.log`. Este archivo se encuentra en `/opt/aws/amazon-cloudwatch-agent/logs/configuration-validation.log` en los servidores Linux y en `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\configuration-validation.log` en los servidores con Windows Server.

## Verifique que el agente de CloudWatch esté en ejecución
<a name="CloudWatch-Agent-troubleshooting-verify-running"></a>

Puede consultar el agente de CloudWatch para determinar si está en ejecución o detenido. Puede usar AWS Systems Manager, para hacerlo de forma remota. También puede utilizar la línea de comandos, pero solo para comprobar el servidor local.

**Para consultar el estado del 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 **Documento de comando**, elija el botón situado junto a **AmazonCloudWatch-ManageAgent**.

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

1. En **Origen de configuración opcional** elija **predeterminado** y mantenga la **Ubicación de configuración opcional** en blanco.

1. En el área **Target**, elija la instancia que comprobar.

1. Seleccione **Ejecutar**.

Si el agente está en ejecución, el resultado será similar al siguiente.

```
{
       "status": "running",
       "starttime": "2017-12-12T18:41:18",
       "version": "1.73.4"
}
```

Si el agente está detenido, el campo `"status"` muestra `"stopped"`.

**Para consultar el estado del agente de CloudWatch localmente mediante la línea de comandos**
+ En un servidor Linux, escriba lo siguiente:

  ```
  sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
  ```

  En un servidor con Windows Server, escriba lo siguiente en PowerShell como administrador:

  ```
  & $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
  ```

## El agente de CloudWatch no se iniciará y el error menciona la región de Amazon EC2
<a name="CloudWatch-Agent-troubleshooting-EC2-region"></a>

Si el agente no se inicia y el mensaje de error menciona un punto de enlace de una región de Amazon EC2, es posible que haya configurado el agente para que necesite acceso al punto de enlace de Amazon EC2, pero que no haya concedido ese tipo de acceso.

Por ejemplo, si especifica un valor para el parámetro `append_dimensions` en el archivo de configuración del agente que depende de los metadatos de Amazon EC2 y utiliza proxies, debe asegurarse de que el servidor pueda obtener acceso al punto de enlace de Amazon EC2. Para obtener más información sobre estos puntos de conexión, consulte [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region) en *Referencia general de Amazon Web Services*.

## El agente de CloudWatch no se iniciará en Windows Server
<a name="CloudWatch-Agent-troubleshooting-Windows-start"></a>

Puede aparecer el siguiente error en Windows Server:

```
Start-Service : Service 'Amazon CloudWatch Agent (AmazonCloudWatchAgent)' cannot be started due to the following
error: Cannot start service AmazonCloudWatchAgent on computer '.'.
At C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1:113 char:12
+     $svc | Start-Service
+            ~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service],
   ServiceCommandException
    + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceCommand
```

Para solucionar esto, asegúrese antes de que el servicio del servidor se esté ejecutando. Este error se puede ver si el agente intenta iniciarse cuando el servicio del servidor no se está ejecutando.

Si el servicio del servidor ya está en ejecución, puede que el siguiente sea el problema. En algunas instalaciones de Windows Server, el agente de CloudWatch tarda más de 30 segundos en iniciarse. De forma predeterminada, Windows Server solo permite 30 segundos para que los servicios se inicien, lo que hace que el agente genere un error similar al siguiente:

Para solucionarlo, aumente el valor de tiempo de espera del servicio. Para obtener más información, vea [Un servicio no se inicia y los eventos 7000 y 7011 se registran en el registro de eventos de Windows](https://support.microsoft.com/en-us/help/922918/a-service-does-not-start-and-events-7000-and-7011-are-logged-in-window).

## ¿Dónde están las métricas?
<a name="CloudWatch-Agent-troubleshooting-no-metrics"></a>

Si el agente de CloudWatch se ha estado ejecutando, pero no encuentra las métricas que ha recopilado en Consola de administración de AWS o AWS CLI, confirme que está usando el espacio de nombres correcto. De forma predeterminada, el espacio de nombres de las métricas recopiladas por el agente es `CWAgent`. Puede personalizar este espacio de nombres mediante el campo `namespace` de la sección `metrics` del archivo de configuración del agente. Si no se muestran las métricas que espera, compruebe el archivo de configuración para confirmar el espacio de nombres que está usando.

Al descargar por primera vez el paquete del agente de CloudWatch, el archivo de configuración del agente es `amazon-cloudwatch-agent.json`. Este archivo se encuentra en el directorio donde ha ejecutado el asistente de configuración o puede que lo haya movido a otro directorio. Si utiliza el asistente de configuración, el resultado del archivo de configuración del agente del asistente se denomina `config.json`. Para obtener más información sobre el archivo de configuración, incluido el campo `namespace`, consulte [Archivo de configuración del agente de CloudWatch: sección de métricas](CloudWatch-Agent-Configuration-File-Details.md#CloudWatch-Agent-Configuration-File-Metricssection). 

## El agente de CloudWatch tarda mucho en ejecutarse en un contenedor o registra un error de límite de saltos
<a name="CloudWatch-Agent-container-slow"></a>

Cuando ejecuta el agente de CloudWatch como un servicio de contenedores y desea agregar las dimensiones de métricas de Amazon EC2 a todas las métricas recopiladas por el agente, es posible que vea los siguientes errores en la versión v1.247354.0 del agente:

```
2022-06-07T03:36:11Z E! [processors.ec2tagger] ec2tagger: Unable to retrieve Instance Metadata Tags. This plugin must only be used on an EC2 instance.
2022-06-07T03:36:11Z E! [processors.ec2tagger] ec2tagger: Please increase hop limit to 2 by following this document https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#configuring-IMDS-existing-instances.
2022-06-07T03:36:11Z E! [telegraf] Error running agent: could not initialize processor ec2tagger: EC2MetadataRequestError: failed to get EC2 instance identity document
caused by: EC2MetadataError: failed to make EC2Metadata request
        status code: 401, request id: 
caused by:
```

Es posible que aparezca este error si el agente intenta obtener metadatos de IMDSv2 dentro de un contenedor sin un límite de saltos adecuado. En las versiones del agente anteriores a la v1.247354.0, puede experimentar este problema sin ver el mensaje de registro. 

Para solucionarlo, aumente el límite de saltos a 2 siguiendo las instrucciones que figuran en [Configure the instance metadata options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#configuring-IMDS-existing-instances.) (Configurar las opciones de metadatos de instancia).

## He actualizado la configuración del agente pero no puedo ver las métricas o los registros nuevos en la consola de CloudWatch
<a name="CloudWatch-Agent-troubleshooting-update-no-new-metrics"></a>

Si actualiza el archivo de configuración del agente de CloudWatch, la próxima vez que inicie el agente, deberá utilizar la opción **fetch-config**. Por ejemplo, si ha almacenado el archivo actualizado en el equipo local, escriba el siguiente comando:

```
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -s -m ec2 -c file:configuration-file-path
```

## Archivos y ubicaciones del agente de CloudWatch
<a name="CloudWatch-Agent-files-and-locations"></a>

En la siguiente tabla se muestran los archivos que ha instalado y que utiliza el agente de CloudWatch, junto con las ubicaciones en servidores que ejecutan Linux o Windows Server.


| Archivos | Ubicación en Linux | Ubicación en Windows Server | 
| --- | --- | --- | 
|  El script de control que controla el inicio, la parada y el reinicio del agente. |  `/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl` o `/usr/bin/amazon-cloudwatch-agent-ctl`  |  `$Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1`  | 
|  El archivo de log en el que escribe el agente. Es posible que tenga que adjuntar esta información cuando se ponga en contacto con AWS Support. |  `/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log` o `/var/log/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log`  |  `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log`  | 
|  Archivo de validación de la configuración del agente. |  `/opt/aws/amazon-cloudwatch-agent/logs/configuration-validation.log` o `/var/log/amazon/amazon-cloudwatch-agent/configuration-validation.log`  |  `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\configuration-validation.log`  | 
|  El archivo JSON que se utiliza para configurar el agente, inmediatamente después de que lo cree 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). |  `/opt/aws/amazon-cloudwatch-agent/bin/config.json`   |  `$Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\config.json`  | 
|  El archivo JSON que se utiliza para configurar el agente si este archivo de configuración se ha descargado desde el almacén de parámetros. |  `/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json` o `/etc/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.json`  |  `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json`  | 
|  El archivo TOML que se ha utilizado para especificar la información sobre la región y las credenciales que va a utilizar el agente, que anularán los valores predeterminados del sistema. |  `/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml` o `/etc/amazon/amazon-cloudwatch-agent/common-config.toml`  |  `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\common-config.toml`  | 
|  Archivo TOML que contiene el contenido convertido del archivo de configuración JSON. El script de `amazon-cloudwatch-agent-ctl` genera este archivo. Los usuarios no deben modificar este archivo directamente. Puede resultar útil para comprobar que la traducción de JSON a TOML se ha realizado correctamente.  |  `/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml` o `/etc/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.toml`  |  `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.toml`  | 
|  Archivo YAML que contiene el contenido convertido del archivo de configuración JSON. El script de `amazon-cloudwatch-agent-ctl` genera este archivo. No debe modificar este archivo directamente. Puede resultar útil para comprobar que la traducción de JSON a TOML se ha realizado correctamente.  |  `/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.yaml or /etc/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.yaml`  |  `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.yaml`  | 

## Búsqueda de información sobre las versiones del agente de CloudWatch
<a name="CloudWatch-Agent-troubleshooting-agent-version"></a>

Para encontrar el número de versión del agente de CloudWatch en un servidor Linux, ingrese el siguiente comando:

```
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a status
```

Para encontrar el número de versión del agente de CloudWatch en Windows Server, ingrese el siguiente comando:

```
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
```

**nota**  
El uso de este comando es la forma correcta de encontrar la versión del agente de CloudWatch. Si utiliza **Programas y características** en el Panel de control, verá un número de versión incorrecto.

También puede descargar un archivo LÉAME sobre los últimos cambios que el agente ha realizado y un archivo que indique el número de versión que está disponible para la descarga. Estos archivos se encuentran en las siguientes ubicaciones:
+ `https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/RELEASE_NOTES` o `https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/info/latest/RELEASE_NOTES`
+ `https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/CWAGENT_VERSION` o `https://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/info/latest/CWAGENT_VERSION`

## Registros que el agente de CloudWatch ha generado
<a name="CloudWatch-Agent-troubleshooting-loginfo"></a>

El agente genera un registro durante su ejecución. Este registro incluye la información de solución de errores. Este registro es el archivo `amazon-cloudwatch-agent.log`. Este archivo se encuentra en `/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log` en los servidores Linux y en `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log` en los servidores con Windows Server.

Puede configurar el agente para que registre detalles adicionales en el archivo `amazon-cloudwatch-agent.log`. En el archivo de configuración del agente, en la sección `agent`, establezca el campo `debug` a `true`; a continuación, vuelva a configurar y reinicie el agente de CloudWatch. Para deshabilitar el registro de esta información adicional, establezca el campo `debug` en `false`. A continuación, vuelva a configurar y reinicie el agente. 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).

En las versiones 1.247350.0 y las posteriores del agente de CloudWatch, puede configurar opcionalmente el campo `aws_sdk_log_level` en la sección `agent` del archivo de configuración del agente a una o más de las siguientes opciones. Separe varias opciones con el character `|`.
+ `LogDebug`
+ `LogDebugWithSigning`
+ `LogDebugWithHTTPBody`
+ `LogDebugRequestRetries`
+ `LogDebugWithEventStreamBody`

Para obtener más información sobre estas opciones, consulte [LogLevelType](https://docs.aws.amazon.com/sdk-for-go/api/aws/#LogLevelType).

## Cierre y reinicio del agente de CloudWatch
<a name="CloudWatch-Agent-troubleshooting-stopping-restarting"></a>

Puede detener el agente de CloudWatch mediante AWS Systems Manager o la línea de comandos de forma manual.

**Para detener 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 **stop**.

1. Deje **Optional Configuration Source (Origen de configuración opcional)** y **Optional Configuration Location (Ubicación de configuración opcional)** en blanco.

1. Seleccione **Ejecutar**.

**Para detener el agente de CloudWatch localmente mediante la línea de comandos**
+ En un servidor Linux, escriba lo siguiente:

  ```
  sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop
  ```

  En un servidor con Windows Server, escriba lo siguiente en PowerShell como administrador:

  ```
  & $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a stop
  ```

Para reiniciar el agente, siga las instrucciones que se describen en [(Opcional) Modifique la configuración común y el perfil con nombre para el agente de CloudWatch](installing-cloudwatch-agent-ssm.md#CloudWatch-Agent-profile-instance-fleet).