Quiero usar el agente unificado de Amazon CloudWatch para enviar métricas y registros desde mi instancia de Amazon Elastic Compute Cloud (Amazon EC2) en CloudWatch.
Resolución
Requisito previo: Asegúrate de establecer la conectividad a Internet en tu instancia de Amazon EC2 para conectarte a los puntos de enlace necesarios o conectarte de forma privada a los puntos de enlace de la nube virtual privada (VPC).
Creación de un rol de IAM para ejecutar el agente de CloudWatch en tu instancia de EC2
Sigue estos pasos:
- Abre la consola de AWS Identity and Access Management (IAM).
- En el panel de navegación, selecciona Roles.
- Selecciona Crear rol.
- En Choose the service that will use this role (Seleccionar el servicio que utilizará este rol), selecciona EC2.
- Selecciona Siguiente: Permisos.
- En la lista de políticas, selecciona CloudWatchAgentServerPolicy.
- Selecciona Siguiente: Etiquetas y, a continuación, selecciona Siguiente: Revisar.
- En Nombre del rol, introduce un nombre para el rol, por ejemplo, CloudWatchAgentServerRole.
- (Opcional) Proporciona una descripción del rol.
- Confirma que CloudWatchAgentServerPolicy aparezca junto a Políticas.
- Selecciona Crear rol.
- Asocia el nuevo rol de IAM a la instancia de EC2.
Descarga e instalación del agente unificado de CloudWatch
Instancia de EC2 de Linux
Sigue estos pasos:
-
Para descargar el agente de CloudWatch, ejecuta el siguiente comando:
wget https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
-
Para instalar el agente de CloudWatch, ejecuta el siguiente comando:
sudo rpm -U ./amazon-cloudwatch-agent.rpm
Instancia de EC2 de Windows
Sigue estos pasos como administrador en Windows PowerShell:
-
Para abrir la carpeta en la que deseas descargar el instalador, ejecuta el siguiente comando:
cd "path"
Nota: Sustituye path por la ruta a la carpeta en la que deseas descargar el instalador.
-
Para descargar el agente de CloudWatch, ejecuta el siguiente comando:
Invoke-WebRequest -Uri https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi -outFile amazon-cloudwatch-agent.msi
Si usas la seguridad de la capa de transporte (TLS) versión 1.2 o anterior, se mostrará el siguiente mensaje de error al ejecutar el comando Invoke-WebRequest anterior:
"Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel"
Para configurar la versión de TLS, ejecuta el siguiente comando:
[Net.ServicePointManager]::SecurityProtocol = "Tls, Tls11, Tls12, Ssl3"
A continuación, vuelve a ejecutar el comando Invoke-WeRequest anterior.
-
Para iniciar el instalador del agente, ejecuta el siguiente comando:
msiexec /i amazon-cloudwatch-agent.msi
Cómo crear el archivo de configuración del agente
Para crear el archivo de configuración del agente, utiliza el asistente de configuración del agente. A continuación, edita manualmente el archivo para agregar o eliminar métricas o registros.
Configura los siguientes ajustes cuando utilices el asistente:
- Si has instalado los complementos StatsD y collectd en tu instancia de EC2, en Do you want to turn on StatsD daemon? (¿Deseas activar el daemon StatsD?) y Do you want to monitor metrics from collectd? (¿Deseas supervisar las métricas de collectd?), selecciona Sí.
- Si has instalado el agente awslogs y se está ejecutando, en Do you have an existing CloudWatch Logs Agent configuration file to import for migration? (¿Tienes un archivo de configuración del agente de CloudWatch Logs existente para importarlo para la migración?), selecciona Sí.
Nota: Si seleccionas Sí, el asistente leerá el archivo de configuración del agente awslogs, /etc/awslogs/awslogs.conf o /var/awslogs/etc/awslogs.conf para determinar los archivos de registro que debes supervisar.
- En Do you want to store the configuration in the Parameter Store, a capability of AWS Systems Manager? (¿Deseas almacenar la configuración en el almacén de parámetros, una función de AWS Systems Manager?), selecciona Sí para almacenar el archivo de configuración del agente en Almacén de parámetros y reutilizar el archivo más adelante.
Nota: Si almacenas el archivo de configuración del agente en el Almacén de parámetros, el comando para iniciar el agente varía.
Tras configurar el asistente, el archivo de configuración del agente se almacenará en /opt/aws/amazon-cloudwatch-agent/bin/config.json de forma predeterminada. Para añadir o eliminar métricas o registros, edita manualmente el archivo.
Para ver un ejemplo de archivo de configuración personalizado, consulta Cómo cargar el archivo de configuración del agente de CloudWatch al almacén de parámetros de Systems Manager en Cómo crear o editar manualmente el archivo de configuración del agente de CloudWatch.
Nota: Si modificas el archivo de configuración del agente, utiliza el comando fetch-config para iniciar el agente y asegurarte de que los cambios se reflejen en el agente.
Instancia de EC2 de Linux
Ejecuta el siguiente comando:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
Instancia de EC2 de Windows
Ejecuta el siguiente comando como administrador en Windows PowerShell:
cd "C:\Program Files\Amazon\AmazonCloudWatchAgent" .\amazon-cloudwatch-agent-config-wizard.exe
De forma predeterminada, el asistente crea el archivo de configuración del agente con la ruta C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json.
Inicio del agente de CloudWatch
Instancia de EC2 de Linux
Ejecuta el siguiente comando:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:configuration-file-path -s
Nota: Sustituye configuration-file-path por la ruta del archivo de configuración.
Instancia de EC2 de Windows
Ejecuta el siguiente comando como administrador en Windows PowerShell:
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -c file:configuration-file-path -s
Nota: Sustituye configuration-file-path por la ruta de tu configuración.
De forma predeterminada, el agente envía las métricas a NameSpace CWAgent.
Verificación del estado del agente
El agente tarda en rellenar las métricas que has configurado en CloudWatch. Para comprobar si el agente se está ejecutando antes de que rellene las métricas, ejecuta los siguientes comandos.
Instancia de EC2 de Linux:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
Instancia de EC2 de Windows:
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -m ec2 -a status
Inicio y detención del agente de CloudWatch
Para obtener más información, consulta Cierre y reinicio del agente de CloudWatch.