Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
¿Por qué el agente de CloudWatch unificado no envía mis métricas ni mis eventos de registro a CloudWatch?
He configurado el agente de Amazon CloudWatch unificado en mi instancia de Amazon Elastic Compute Cloud (Amazon EC2) para insertar métricas y registros en Amazon CloudWatch. Sin embargo, no puedo ver mis métricas ni mis eventos de registro en la consola de CloudWatch.
Descripción corta
Es posible que el agente unificado de CloudWatch no envíe métricas o registros a CloudWatch si hay problemas de conectividad o permisos. Al revisar los registros del agente de CloudWatch unificados, es posible que veas un error como el siguiente:
- Agent Log Error: No Connectivity to Endpoint
- Agent Log Error: Insufficient Permissions
Resolución
Para solucionar los problemas del agente de CloudWatch unificado, sigue estos pasos:
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Revisar los registros de agentes de CloudWatch unificados
Puedes usar el archivo de registro del agente para ayudar a solucionar los problemas que encuentres con el paquete de agente unificado de CloudWatch.
Es posible que experimentes uno de los siguientes problemas:
- No puedes conectarte a los puntos de enlace de servicio de AWS o a los puntos de enlace de Amazon Virtual Private Cloud (Amazon VPC) necesarios. Para obtener más información, consulta Uso de puntos de enlace de VPC.
- No tienes los permisos correctos para realizar llamadas a la API de soporte a CloudWatch. Para obtener más información, consulta las operaciones de la API de CloudWatch y los permisos necesarios para las acciones.
Es posible que veas uno de estos errores en los siguientes registros.
Agent Log Error: No Connectivity to Endpoint
2021-08-30T04:07:46Z E! cloudwatch: code: RequestError, message: send request failed, original error: Post "https://monitoring.us-east-1.amazonaws.com/": dial tcp 172.31.11.121:443: i/o timeout 2021-08-30T04:07:46Z W! 210 retries, going to sleep 1m0s before retrying. 2021-08-30T04:07:46Z E! cloudwatch: code: RequestError, message: send request failed, original error: Post "https://monitoring.us-east-1.amazonaws.com/": dial tcp 172.31.11.121:443: i/o timeout 2021-08-30T04:07:46Z W! 211 retries, going to sleep 1m0s before retrying.
Agent Log Error: Insufficient Permissions
2021-08-30T02:15:45Z E! cloudwatch: code: AccessDenied, message: User: arn:aws:sts::123456789012:assumed-role/cwagent/i-0744de7c842d2c2ba is not authorized to perform: cloudwatch:PutMetricData, original error: 2021-08-30T02:15:45Z W! 1 retries, going to sleep 400ms before retrying. 2021-08-30T02:15:46Z E! WriteToCloudWatch failure, err: AccessDenied: User: arn:aws:sts::123456789012:assumed-role/cwagent/i-0744de7c842d2c2ba is not authorized to perform: cloudwatch:PutMetricData status code: 403, request id: f1171fd0-05b6-4f7d-bac2-629c8594c46e
Confirmar la conectividad con los puntos de enlace de CloudWatch
Si el tráfico a CloudWatch no pasa por la Internet pública, puedes usar los puntos de enlace de VPC de Amazon. Si usas puntos de enlace de Amazon VPC, comprueba los siguientes parámetros:
- Si utilizas servidores de nombres privados, confirma que la resolución de DNS proporcionó respuestas precisas.
- Confirma que los puntos de enlace de CloudWatch se resuelven en direcciones IP privadas.
- Confirma el grupo de seguridad asociado con el punto de enlace de Amazon VPC que permite el tráfico entrante desde el host.
Para confirmar la conectividad con los puntos de enlace de CloudWatch, sigue estos pasos:
-
Para comprobar la conectividad con el punto de enlace de las métricas, ejecuta el siguiente comando:
$ telnet monitoring.us-east-1.amazonaws.com 443 Trying 52.46.138.115... Connected to monitoring.amazonaws.com. Escape character is '^]'. ^] telnet> quit Connection closed. -
Para comprobar la conectividad con el punto de enlace de los registros, ejecuta el siguiente comando:
$ telnet logs.us-east-1.amazonaws.com 443 Trying 3.236.94.218... Connected to logs.us-east-1.amazonaws.com. Escape character is '^]'. ^] telnet> quit Connection closed -
Para comprobar que el punto de enlace de VPC de Amazon se resuelve en direcciones IP privadas, ejecuta el siguiente comando:
$ dig monitoring.us-east-1.amazonaws.com +short172.31.11.121 172.31.0.13
Revisar la configuración del agente de CloudWatch unificado
El archivo de configuración del agente de CloudWatch detalla las métricas y los registros que se publican en CloudWatch. Revisa el archivo de configuración del agente para confirmar que se incluyen los registros y las métricas que deseas publicar.
Confirmar que el host tiene permisos para publicar métricas y registros
Las políticas administradas de AWS CloudWatchAgentServerPolicy y CloudWatchAgentAdminPolicy pueden ayudarte a desplegar el agente de CloudWatch unificado. Las políticas también pueden ayudar a comprobar que se tienen los permisos correctos. Utiliza estas políticas como referencia para asegurarte de que el host tiene los permisos correctos.
Los resultados de la AWS CLI de estos ejemplos muestran permisos insuficientes.
El siguiente comando config de la AWS CLI muestra que falta el rol de AWS Identity and Access Management (IAM) asociado a la instancia de EC2:
$ /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c ssm:CWT-Web-Server -s ****** processing amazon-cloudwatch-agent ****** /opt/aws/amazon-cloudwatch-agent/bin/config-downloader --output-dir /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d --download-source ssm:CWT-Web-Server --mode ec2 --config /opt/aws/amazon-cloudwatch-agent/etc/common-config.toml --multi-config default Region: us-east-1 credsConfig: map[] Error in retrieving parameter store content: NoCredentialProviders: no valid providers in chain. Deprecated. For verbose messaging see aws.Config.CredentialsChainVerboseErrors Fail to fetch/remove json config: NoCredentialProviders: no valid providers in chain. Deprecated. For verbose messaging see aws.Config.CredentialsChainVerboseErrors Fail to fetch the config!
El siguiente comando config de la AWS CLI muestra que el rol de IAM incorrecto está asociado a la instancia de EC2:
$ /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c ssm:CWT-Web-Server -s ****** processing amazon-cloudwatch-agent ****** /opt/aws/amazon-cloudwatch-agent/bin/config-downloader --output-dir /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d --download-source ssm:CWT-Web-Server --mode ec2 --config /opt/aws/amazon-cloudwatch-agent/etc/common-config.toml --multi-config default Region: us-east-1 credsConfig: map[] Error in retrieving parameter store content: AccessDeniedException: User: arn:aws:sts::123456789012:assumed-role/cwagent/i-0744de7c842d2c2ba is not authorized to perform: ssm:GetParameter on resource: arn:aws:ssm:us-east-1:123456789012:parameter/CWT-Web-Server status code: 400, request id: b85b0a7a-0fb1-47b4-924f-be8cf43a3b4d Fail to fetch/remove json config: AccessDeniedException: User: arn:aws:sts::123456789012:assumed-role/cwagent/i-0744de7c842d2c2ba is not authorized to perform: ssm:GetParameter on resource: arn:aws:ssm:us-east-1:123456789012:parameter/CWT-Web-Server status code: 400, request id: b85b0a7a-0fb1-47b4-924f-be8cf43a3b4d Fail to fetch the config!
El siguiente comando get-caller-identity devuelve el usuario o rol de IAM asociado a la instancia:
$ aws sts get-caller-identity { "UserId": "AROA123456789012ABCDE:i-0744de7c842d2c2ba", "Account": "123456789012", "Arn": "arn:aws:sts::123456789012:assumed-role/CloudWatchAgentServerRole/i-0744de7c842d2c2ba" }
Confirmar que el agente se inicia correctamente
Puedes usar la AWS CLI con el archivo de configuración transferido como argumento para iniciar el agente. Para iniciar el agente, ejecuta los siguientes comandos de inicio válidos.
Para Linux, ejecuta los siguientes comandos:
- `$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path` - `$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:configuration-parameter-store-name`
Para Windows, ejecuta los siguientes comandos:
- `& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json"` - `& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c ssm:configuration-parameter-store-name`
Importante: No inicies el agente desde el Panel de control de Windows.
Confirmar que el agente se está ejecutando
Para publicar métricas y registros, el agente debe estar activo. Para comprobar que el agente de CloudWatch está activo, ejecuta el siguiente comando:
$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status { "status": "running", "starttime": "2021-08-30T02:13:44+00:00", "configstatus": "configured", "cwoc_status": "stopped", "cwoc_starttime": "", "cwoc_configstatus": "not configured", "version": "1.247349.0b251399" }
Reiniciar el agente después de actualizar la configuración del agente
El agente no registra automáticamente los cambios en el archivo de configuración. Si la configuración del agente se actualiza para incluir métricas y registros nuevos o diferentes, debes usar el siguiente comando para reiniciar el agente:
$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop ****** processing cwagent-otel-collector ****** cwagent-otel-collector has already been stopped ****** processing amazon-cloudwatch-agent ****** Redirecting to /bin/systemctl stop amazon-cloudwatch-agent.service $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:config.json ****** processing amazon-cloudwatch-agent ****** /opt/aws/amazon-cloudwatch-agent/bin/config-downloader --output-dir /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d --download-source file:config.json --mode ec2 --config /opt/aws/amazon-cloudwatch-agent/etc/common-config.toml --multi-config default Successfully fetched the config and saved in /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/file_config.json.tmp Start configuration validation... /opt/aws/amazon-cloudwatch-agent/bin/config-translator --input /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json --input-dir /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d --output /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml --mode ec2 --config /opt/aws/amazon-cloudwatch-agent/etc/common-config.toml --multi-config default 2021/08/31 02:45:37 Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/file_config.json.tmp ... Valid Json input schema. I! Detecting run_as_user... Configuration validation first phase succeeded /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent -schematest -config /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml Configuration validation second phase succeeded Configuration validation succeeded amazon-cloudwatch-agent has already been stopped Redirecting to /bin/systemctl restart amazon-cloudwatch-agent.service $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status { "status": "running", "starttime": "2021-08-31T02:45:37+0000", "configstatus": "configured", "cwoc_status": "stopped", "cwoc_starttime": "", "cwoc_configstatus": "not configured", "version": "1.247349.0b251399" }
Información relacionada
- Etiquetas
- Amazon CloudWatch
- Idioma
- Español

Contenido relevante
- Respuesta aceptadapreguntada hace 10 meses
- Como solucionar el error: Supplied Policy document is breaching Cloudwatch Logs policy length limit.Respuesta aceptadapreguntada hace un año
- preguntada hace 4 meses