Ejemplo: Uso de métricas personalizadas de Amazon CloudWatch - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplo: Uso de métricas personalizadas de Amazon CloudWatch

Amazon CloudWatch es un servicio web que le permite monitorear, administrar y publicar diversas métricas, así como configurar acciones de alarma en función de los datos de esas métricas. Puede definir métricas personalizadas para su propio uso y Elastic Beanstalk las insertará en Amazon CloudWatch. Una vez que Amazon CloudWatch contiene las métricas personalizadas, pueden verse en la consola de Amazon CloudWatch.

importante

Se han dado de baja los scripts de supervisión de Amazon CloudWatch. El agente de CloudWatch ha sustituido a los scripts de supervisión de CloudWatch para recopilar métricas y registros.

Si aún migra desde los scripts de supervisión obsoletos al agente y necesita información acerca de los scripts de supervisión, consulte Obsoleto: recopilación de métricas mediante los scripts de supervisión de CloudWatch en la Guía del usuario de Amazon EC2 para instancias de Linux.

El agente de Amazon CloudWatch

El agente de Amazon CloudWatch permite la recopilación de métricas y registros de CloudWatch desde las instancias de Amazon EC2 y los servidores locales de los sistemas operativos. El agente admite las métricas recopiladas a nivel del sistema. También admite la recopilación de métricas y registros personalizados desde las aplicaciones o servicios. Para obtener más información sobre el agente de Amazon CloudWatch, consulte Recopilación de métricas y registros con el agente de CloudWatch en la Guía del usuario de Amazon CloudWatch.

nota

Los informes de estado avanzados de Elastic Beanstalk tienen compatibilidad nativa para publicar una gran variedad de métricas de instancia y entorno en CloudWatch. Para obtener más información, consulte Publicación de métricas personalizadas de un entorno en Amazon CloudWatch.

Archivo de configuración .ebextensions

En este ejemplo, se utilizan archivos y comandos de un archivo de configuración .ebextensions para configurar y ejecutar el agente de Amazon CloudWatch en la plataforma Amazon Linux 2. El agente está preempaquetado con Amazon Linux 2. Si utiliza otro sistema operativo, es posible que sean necesarios pasos adicionales para instalar el agente. Para obtener más información, consulte Instalación del agente de CloudWatch en la Guía del usuario de Amazon CloudWatch.

Para utilizar este ejemplo, guárdelo en un archivo llamado cloudwatch.config que esté situado en un directorio denominado .ebextensions en el nivel superior del directorio del proyecto. A continuación, implemente la aplicación a través de la consola de Elastic Beanstalk (incluya el directorio .ebextensions en el paquete de código fuente) o la CLI de EB.

Para obtener más información sobre los archivos de configuración, consulte Personalización avanzada de entornos con archivos de configuración (.ebextensions).

.ebextensions/cloudwatch.config

files: "/opt/aws/amazon-cloudwatch-agent/bin/config.json": mode: "000600" owner: root group: root content: | { "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "metrics": { "namespace": "System/Linux", "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "metrics_collected": { "mem": { "measurement": [ "mem_used_percent" ] } } } } container_commands: start_cloudwatch_agent: command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

Este archivo tiene dos secciones:

  • files: en esta sección se agrega el archivo de configuración del agente. Indica qué métricas y registros debe enviar el agente a Amazon CloudWatch. En este ejemplo, solo enviamos la métrica mem_used_percent. Para obtener una lista completa de las métricas de nivel de sistema compatibles con el agente de Amazon CloudWatch, consulte Métricas recopiladas por el agente de CloudWatch en la Guía del usuario de Amazon CloudWatch.

  • container_commands: esta sección contiene el comando que inicia el agente al transferir el archivo de configuración como parámetro. Para obtener información detallada acerca de container_commands, consulte Comandos de contenedor.

Permisos

Las instancias del entorno necesitan los permisos de IAM adecuados para poder publicar métricas personalizadas de Amazon CloudWatch mediante el agente de Amazon CloudWatch. Los permisos para las instancias del entorno se conceden agregándolas al perfil de instancias del entorno. Los permisos pueden agregarse al perfil de instancia antes o después de implementar la aplicación.

Para conceder permisos para publicar métricas de CloudWatch
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Seleccione Roles (Roles) en el panel de navegación.

  3. Seleccione el rol del perfil de instancia del entorno. De forma predeterminada, cuando se crea un entorno con la consola de Elastic Beanstalk o la CLI de EB, el rol es aws-elasticbeanstalk-ec2-role.

  4. Elija la pestaña Permissions (Permisos).

  5. Bajo Permissions Policies (Políticas de permisos), en la sección Permissions (Permisos), elija Attach policies (Adjuntar políticas).

  6. Bajo Attach Permissions (Adjuntar permisos), elija la política administrada por AWS CloudWatchAgentServerPolicy. Haga clic en Attach Policy (Adjuntar política).

Para obtener más información acerca de la administración de políticas, consulte Uso de las políticas en la Guía del usuario de IAM.

Visualizar métricas en la consola de CloudWatch

Después de implementar el archivo de configuración de CloudWatch en el entorno, consulte la consola de Amazon CloudWatch para ver las métricas. Las métricas personalizadas se ubicarán en el espacio de nombres CWAgent.

Para obtener más información, consulte Visualización de las métricas disponibles en la Guía del usuario de Amazon CloudWatch.