

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