Solución de problemas del agente de CloudWatch - Amazon CloudWatch

Solución de problemas del agente de CloudWatch

Utilice la siguiente información para ayudarle a solucionar problemas con el agente de CloudWatch.

Parámetros de la línea de comandos del agente de CloudWatch

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

Para instalar el agente de CloudWatch mediante Run Command de Systems Manager, el SSM Agent en el servidor de destino debe contar con la versión 2.2.93.0 o con una 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 (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á

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

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 Administrador de sistemas en https://console.aws.amazon.com/systems-manager/.

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

  3. Elija Run command (Ejecutar comando).

  4. En la lista Documento de comando, elija el botón situado junto a AmazonCloudWatch-ManageAgent.

  5. En la lista Action, elija status.

  6. En Origen de configuración opcional elija predeterminado y mantenga la Ubicación de configuración opcional en blanco.

  7. En el área Target, elija la instancia que comprobar.

  8. Elija 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

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) en Referencia general de Amazon Web Services.

El agente de CloudWatch no se iniciará en Windows Server

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.

¿Dónde están las métricas?

Si el agente de CloudWatch se ha estado ejecutando, pero no encuentra las métricas que ha recopilado en AWS Management Console 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.

El agente de CloudWatch tarda mucho en ejecutarse en un contenedor o registra un error de límite de saltos

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 (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

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

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.

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

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-region.s3.region.amazonaws.com/info/latest/RELEASE_NOTES

  • https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/CWAGENT_VERSION o https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/info/latest/CWAGENT_VERSION

Registros que el agente de CloudWatch ha generado

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.

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.

Cierre y reinicio del agente de CloudWatch

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 Administrador de sistemas en https://console.aws.amazon.com/systems-manager/.

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

  3. Elija Run command (Ejecutar comando).

  4. En la lista Command document, elija AmazonCloudWatch-ManageAgent.

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

  6. En la lista Action, elija stop.

  7. Deje Optional Configuration Source (Origen de configuración opcional) y Optional Configuration Location (Ubicación de configuración opcional) en blanco.

  8. Elija 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 Inicie el agente de CloudWatch.