Solución de CloudWatch: Amazon EC2 Health - Amazon CloudWatch

Solución de CloudWatch: Amazon EC2 Health

Esta solución lo ayuda a configurar la recopilación de métricas lista para usar mediante agentes de CloudWatch para las cargas de trabajo que se ejecutan en instancias de EC2. Además, lo ayuda a configurar un panel de CloudWatch preconfigurado.

Requisitos

Esta solución es adecuada para las siguientes condiciones:

Ventajas

La solución ofrece supervisión de servidores de EC2 mediante el agente de CloudWatch, lo que proporciona métricas adicionales a nivel de sistema además de las métricas estándar del namespace de EC2 para los siguientes casos de uso:

  • Detecte los problemas de rendimiento de la CPU y las limitaciones de recursos.

  • Supervise la utilización del disco y la capacidad de almacenamiento en los diferentes discos de sus instancias de EC2.

  • Realice un seguimiento de los patrones de uso de la memoria y de las posibles pérdidas de memoria.

  • Analice las operaciones de E/S y su impacto en el rendimiento general.

  • Observe los patrones de tráfico de la red y las posibles anomalías.

A continuación se detallan las principales ventajas de la solución:

  • Automatiza la recopilación de métricas para las instancias de EC2, lo que elimina la instrumentación manual.

  • Proporciona un panel de CloudWatch consolidado y preconfigurado para las métricas de instancias de EC2. El panel administrará automáticamente las métricas de las nuevas instancias de EC2 configuradas con la solución, incluso si esas métricas no existían cuando creó el panel por primera vez. También permite observar las instancias de EC2 administradas mediante grupos de escalado automático.

La siguiente imagen muestra un ejemplo del panel para esta solución:

Ejemplo de un panel de estado de EC2

Costos

Esta solución crea y utiliza recursos en su espacio de trabajo. Se cobrará por el uso estándar, que incluye lo siguiente:

  • Las métricas recopiladas por el agente de CloudWatch se cobran como métricas personalizadas. La cantidad de métricas que utiliza esta solución depende de la cantidad de hosts de EC2.

    El número total de métricas del agente de CloudWatch depende de la configuración de los discos. Sin contar las métricas de disco y disco de E/S, la solución publica seis métricas. La cantidad de métricas de disco (disk_used_percent, disk_inodes_free) depende del recuento de dimensiones device/fstype/path. La métrica de entrada/salida de disco (diskio_io_time) depende del recuento de dimensiones name. Por ejemplo, un solo t2.micro con la configuración predeterminada según la experiencia de la consola de EC2 produce un total de 22 métricas de agentes de CloudWatch (4 CPU, 12 discos, 4 discos de E/S, 1 memoria y 1 intercambio). Las métricas vendidas como AWS/EC2 se proporcionan de forma gratuita.

  • Un panel personalizado.

  • Operaciones de API solicitadas por el agente de CloudWatch para publicar las métricas. Con la configuración predeterminada de esta solución, el agente de CloudWatch llama a PutMetricData una vez por minuto. Esto significa que la API PutMetricData se llamará 30*24*60=43,200 en un mes de 30 días para cada host de EC2.

Para obtener más información sobre los precios de CloudWatch, consulte Precios de Amazon CloudWatch.

La calculadora de precios puede ayudarlo a estimar los costos mensuales aproximados del uso de esta solución.

Para usar la calculadora de precios para estimar los costos mensuales de la solución
  1. Abra la calculadora de precios de Amazon CloudWatch.

  2. En la sección Métricas, en Número de métricas, ingrese (6 + total count of disk and diskio metrics per EC2 host as described above) * number of EC2 instances configured for this solution.

  3. En la sección API, en Número de solicitudes de API, ingrese 43200 * number of EC2 instances configured for this solution.

  4. De forma predeterminada, el agente CloudWatch realiza una operación PutMetricData por minuto para cada host de EC2.

  5. En la sección Paneles y alarmas, en Número de paneles, escriba 1.

  6. Puede ver sus costos mensuales estimados en la parte inferior de la calculadora de precios.

Configuración del agente de CloudWatch para esta solución

El agente de CloudWatch es un software que se ejecuta de forma continua y autónoma en sus servidores y en entornos contenerizados. Recopila métricas, registros y trazas de su infraestructura y aplicaciones y los envía a CloudWatch y X-Ray.

Para obtener más información sobre el agente de Amazon CloudWatch, consulte Recopilación de métricas, registros y seguimientos con el agente de CloudWatch.

La configuración del agente de esta solución recopila un conjunto de métricas para ayudarlo a empezar a supervisar y observar sus instancias de EC2. El agente de CloudWatch se puede configurar para recopilar más métricas de EC2 que las que muestra el panel de forma predeterminada. Para obtener una lista de métricas de Amazon EC2, consulte Métricas que el agente de CloudWatch recopila en instancias de Linux y de macOS. Para obtener información sobre las métricas que el agente de CloudWatch recopila en instancias de Windows, consulte Métricas que el agente de CloudWatch recopila en instancias de Windows Server.

Configuración de agentes para la solución EC2 Health

Las métricas que el agente recopiló se definen en la configuración del agente. La solución proporciona configuraciones de agentes para recopilar las métricas recomendadas con las dimensiones adecuadas para el panel de la solución.

Los pasos para implementar la solución se describen más adelante en Implementar el agente para su solución. La siguiente información tiene por objetivo ayudarlo a comprender cómo personalizar la configuración del agente para su entorno.

nota

Si una instancia EC2 no forma parte de un grupo de escalado automático, el agente de CloudWatch elimina la dimensión AutoScalingGroupName por completo. Este comportamiento ayuda a evitar que los nombres de las dimensiones tengan valores nulos o vacíos. Cada widget de métricas incluido en el panel de la solución busca métricas que incluyan y excluyan la dimensión AutoScalingGroup. Esto ayuda a garantizar que todas las instancias de EC2 en las que se aplica la solución sean compatibles con el mismo panel.

Si desea realizar alguna modificación en la configuración del agente, debe aplicar los mismos cambios en el panel adjunto a la solución. Por ejemplo, si decide omitir la dimensión ImageID, debe eliminar la misma dimensión de la expresión de búsqueda de métricas utilizada en los widgets del panel.

Configuración de agentes para instancias de EC2

Utilice la siguiente configuración de agente de CloudWatch en las instancias de Amazon EC2 en las que se implementan las cargas de trabajo.

{ "agent": { "metrics_collection_interval": 60, "run_as_user": "cwagent" }, "metrics": { "append_dimensions": { "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "ImageId": "${aws:ImageId}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "metrics_collected": { "cpu": { "measurement": [ "cpu_usage_idle", "cpu_usage_iowait", "cpu_usage_user", "cpu_usage_system" ], "totalcpu": true }, "disk": { "measurement": [ "used_percent", "inodes_free" ], "resources": [ "*" ], "dimensions": [ ["device", "fstype", "path"] ] }, "diskio": { "measurement": [ "io_time" ], "resources": [ "*" ] }, "mem": { "measurement": [ "used_percent" ] }, "swap": { "measurement": [ "used_percent" ] } } } }

Implementar el agente para su solución

Existen varios métodos de instalación del agente de CloudWatch, según el caso de uso. Recomendamos usar Systems Manager para esta solución. Proporciona una experiencia de consola y simplifica la administración de una flota de servidores administrados en una sola cuenta de AWS. Las instrucciones de esta sección utilizan Systems Manager y están pensadas para cuando el agente de CloudWatch no se esté ejecutando con las configuraciones existentes. Puede comprobar si el agente de CloudWatch se está ejecutando, siguiendo los pasos de Verificar que el agente de CloudWatch se esté ejecutando.

Si ya está ejecutando el agente de CloudWatch en los hosts de EC2 y administrando las configuraciones del agente, puede omitir las instrucciones de esta sección y seguir el mecanismo de implementación existente para actualizar la configuración. Asegúrese de combinar la configuración del agente de EC2 Health con la configuración de agente existente y, a continuación, implemente la configuración combinada. Si utiliza Systems Manager para almacenar y administrar la configuración del agente de CloudWatch, puede combinar la configuración con el valor del parámetro existente. Para obtener más información, consulte Managing CloudWatch agent configuration files.

nota

El uso de Systems Manager para implementar las siguientes configuraciones de agente de CloudWatch reemplazará o sobrescribirá cualquier configuración de agente de CloudWatch existente en las instancias de EC2. Puede modificar esta configuración para adaptarla a su entorno o caso de uso únicos. Las métricas definidas en la configuración son las mínimas requeridas para el panel proporcionado por la solución.

El proceso de implementación consta de los siguientes pasos:

  • Paso 1: asegúrese de que las instancias de EC2 de destino disponen de los permisos de IAM necesarios.

  • Paso 2: almacene el archivo de configuración recomendado del agente en Parameter Store de Systems Manager.

  • Paso 3: instale el agente de CloudWatch en una o más instancias de EC2 mediante una pila de AWS CloudFormation.

  • Paso 4: verifique que la configuración del agente sea correcta.

Paso 1: asegúrese de que las instancias de EC2 de destino disponen de los permisos de IAM necesarios

Debe conceder permiso a Systems Manager para instalar y configurar el agente de CloudWatch. También debe conceder permiso al agente de CloudWatch para publicar la telemetría de su instancia de EC2 en CloudWatch. Asegúrese de que el rol de IAM adjuntado a la instancia tenga adjuntas las políticas de IAM CloudWatchAgentServerPolicy y AmazonSSMManagedInstanceCore.

Paso 2: almacene el archivo de configuración recomendado del agente de CloudWatch en Parameter Store de Systems Manager

Parameter Store simplifica la instalación del agente de CloudWatch en una instancia de EC2 al almacenar y administrar los parámetros de configuración de forma segura, lo que elimina la necesidad de valores de codificación rígida. Esto garantiza un proceso de implementación más seguro y flexible, lo que permite una administración centralizada y facilita las actualizaciones de las configuraciones en varias instancias.

Siga los pasos a continuación para almacenar el archivo de configuración del agente de CloudWatch recomendado como parámetro en Parameter Store.

Para crear el archivo de configuración del agente de CloudWatch como parámetro
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. Compruebe que la región seleccionada en la consola sea la región en la que se ejecutan las instancias de EC2.

  3. Desde el panel de navegación, elija Administración de aplicaciones, Parameter Store.

  4. Siga estos pasos para crear un nuevo parámetro para la configuración.

    1. Elija Create parameter.

    2. En el cuadro Nombre, ingrese un nombre que utilizará para hacer referencia al archivo de configuración del agente de CloudWatch en pasos posteriores. Por ejemplo, AmazonCloudWatch-EC2Health-Configuration.

    3. (Opcional) En el cuadro Descripción, escriba una descripción para el parámetro.

    4. En Capa de parámetros, elija Estándar.

    5. En Type, elija String.

    6. En ⁣Tipo de datos, elija texto.

    7. En el cuadro Valor, pegue el JSON de configuración del agente proporcionado anteriormente en este documento.

    8. Elija Create parameter.

Paso 3: instale el agente de CloudWatch y aplique la configuración mediante una plantilla de AWS CloudFormation

Puede usar AWS CloudFormation para instalar el agente y configurarlo para que use la configuración del agente de CloudWatch que creó en los pasos anteriores.

Para instalar y configurar el agente de CloudWatch para esta solución
  1. Abra el asistente de AWS CloudFormation Creación rápida de pilas mediante este enlace: https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json.

  2. Compruebe que la región seleccionada en la consola sea la región en la que se ejecutan las instancias de EC2.

  3. En Nombre de la pila, ingrese un nombre para identificar esta pila, como CWAgentInstallationStack.

  4. En la sección Parámetros, especifique los siguientes parámetros:

    1. En CloudWatchAgentConfigSSM, ingrese el nombre del parámetro de Systems Manager para la configuración del agente que creó anteriormente, por ejemplo AmazonCloudWatch-EC2Health-Configuration.

    2. Para seleccionar las instancias de destino, tiene dos opciones.

      1. En el caso de InstanceIds, especifique una lista delimitada por comas de una lista de ID de instancia en los que desee instalar el agente de CloudWatch con esta configuración. Puede enumerar una sola instancia o varias instancias.

      2. Si realiza una implementación a escala, puede especificar la TagKey y el TagValue correspondiente para dirigirse a todas las instancias de EC2 con esta etiqueta y valor. Si especifica una TagKey, debe especificar el TagValue correspondiente. (En el caso de un grupo de escalado automático, especifique aws:autoscaling:groupName para TagKey y especifique el nombre del grupo de escalado automático para que TagValue se implemente en todas las instancias del grupo de escalado automático).

      Si especifica tanto los parámetros InstanceIds como TagKeys, los InstanceIds tendrán prioridad y las etiquetas se ignorarán.

  5. Revise la configuración y, a continuación, seleccione Crear pila.

Si quiere editar primero el archivo de plantilla para personalizarlo, seleccione la opción Cargar un archivo de plantilla en el Asistente de creación de pilas para cargar la plantilla editada. Para obtener más información, consulte Creación de una pila en la consola de AWS CloudFormation. Puede utilizar el siguiente enlace para descargar la plantilla: https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json.

nota

Una vez completado este paso, este parámetro de Systems Manager se asociará a los agentes de CloudWatch que se ejecuten en las instancias de destino. Esto significa que:

  1. Si se elimina el parámetro de Systems Manager, el agente se detendrá.

  2. Si se edita el parámetro de Systems Manager, los cambios de configuración se aplicarán automáticamente al agente con la frecuencia programada, que es de 30 días por defecto.

  3. Si desea aplicar inmediatamente los cambios a este parámetro de Systems Manager, debe volver a ejecutar este paso. Para obtener más información sobre asociaciones, consulte Cómo trabajar con asociaciones en AWS Systems Manager.

Paso 4: verifique que la configuración del agente sea correcta

Puede comprobar si el agente de CloudWatch está instalado siguiendo los pasos de Verificar que el agente de CloudWatch se esté ejecutando. Si el agente de CloudWatch no está instalado ni en ejecución, asegúrese de haber configurado todo correctamente.

Para comprobar que las métricas de EC2 Health se publican en CloudWatch
  1. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. Elija Métricas, Todas las métricas.

  3. Asegúrese de haber seleccionado la región en la que implementó la solución y elija Namespaces personalizados, CWAgent.

  4. Busque las métricas mencionadas en la sección de configuración del agente de este documento, por ejemplo mem_used_percent. Si ve los resultados de estas métricas, significa que las métricas se están publicando en CloudWatch.

Crear el panel de soluciones de EC2 Health

Este panel muestra las métricas emitidas recientemente y las métricas de EC2 Health. Este panel proporciona una visión de los principales colaboradores del estado de las instancias EC2 en una sola región. La vista de los principales colaboradores muestra el widget de los 10 principales por métrica. Esto permite identificar los valores atípicos de una sola vez.

Para crear el panel, puede usar las siguientes opciones:

  • Use la consola de CloudWatch para crear el panel.

  • Utilice la consola de AWS CloudFormation para implementar el panel.

  • Descargue la infraestructura de AWS CloudFormation como código e intégrela como parte de su automatización de integración continua (CI).

Al utilizar la consola de CloudWatch para crear un panel, puede obtener una vista previa del panel antes de crearlo y que se le cobre por ello.

nota

El panel creado con AWS CloudFormation en esta solución muestra las métricas de la región en la que se implementa la solución. Asegúrese de crear la pila AWS CloudFormation en la región en la que se publican las métricas de EC2.

Si especificó un namespace personalizado que no sea CWAgent en la configuración del agente de CloudWatch, tendrá que cambiar la plantilla AWS CloudFormation del panel para sustituir CWAgent por el namespace personalizado que esté utilizando.

Para crear el panel mediante la consola de CloudWatch
  1. Abra la consola de CloudWatch en Crear panel mediante este enlace: https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=Ec2LinuxMacOsHealth&referrer=os-catalog.

  2. Compruebe que la región seleccionada en la consola sea la región en la que se ejecutan las instancias de EC2.

  3. Ingrese el nombre del panel, luego seleccione Crear panel.

    Para diferenciar fácilmente este panel de otros paneles similares de otras regiones, recomendamos incluir el nombre de la región en el nombre del panel, por ejemplo EC2HealthDashboard-us-east-1.

  4. Obtenga una vista previa del panel y seleccione Guardar para crearlo.

Para crear el panel de control mediante AWS CloudFormation
  1. Abra el asistente de AWS CloudFormation Creación rápida de pilas mediante este enlace: https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard-template-linux-macos-1.0.0.json.

  2. Compruebe que la región seleccionada en la consola sea la región en la que se ejecutan las instancias de EC2.

  3. En Nombre de la pila, ingrese un nombre para identificar esta pila, como EC2HealthDashboardStack.

  4. En la sección Parámetros, especifique el nombre del panel en el parámetro DashboardName.

    Para diferenciar fácilmente este panel de otros paneles similares de otras regiones, recomendamos incluir el nombre de la región en el nombre del panel, por ejemplo EC2HealthDashboard-us-east-1.

  5. Reconozca las capacidades de acceso para las transformaciones en Capacidades y transformaciones. Tenga en cuenta que AWS CloudFormation no agrega ningún recurso de IAM.

  6. Revise la configuración y, a continuación, seleccione Crear pila.

  7. Cuando el estado de la pila sea CREATE_COMPLETE, elija la pestaña Recursos situada debajo de la pila creada y, a continuación, elija el enlace situado en ID físico para ir al panel. También puede acceder al panel en la consola de CloudWatch seleccionando Paneles en el panel de navegación izquierdo de la consola y buscando el nombre del panel en Paneles personalizados.

Si desea editar el archivo de plantilla para personalizarlo para cualquier propósito, puede usar la opción Cargar un archivo de plantilla del Asistente de creación de pilas para cargar la plantilla editada. Para obtener más información, consulte Creación de una pila en la consola de AWS CloudFormation. Puede usar este enlace para descargar la plantilla: https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard-template-linux-macos-1.0.0.json

Introducción al panel de soluciones de EC2 Health

Estas son algunas tareas que puede probar con el nuevo panel de supervisión de EC2. Estas tareas permiten validar que el panel funciona correctamente y le proporcionan experiencia práctica en su uso para supervisar instancias de EC2. A medida que las vaya probando, se familiarizará con la navegación por el panel y la interpretación de las métricas visualizadas.

Supervise las distintas métricas de uso de la CPU

En la sección CPU, examine el conjunto de métricas de uso de la CPU. Estas proporcionan información sobre cómo se utilizan los recursos de la CPU en diferentes actividades, como los procesos de usuario, las tareas del sistema y las operaciones de E/S. Busque instancias con un uso elevado y constante o patrones inusuales, lo que podría indicar la necesidad de escalarlas u optimizarlas.

Analice la utilización del disco en distintos dispositivos

Diríjase a la sección Disco para encontrar las métricas de uso de almacenamiento y disponibilidad de nodos de índice. Lo ayudan a identificar las instancias que se están quedando sin espacio de almacenamiento o con pocos recursos del sistema de archivos. Preste atención a cualquier instancia que se acerque a niveles elevados de uso del disco, ya que esto podría provocar problemas de rendimiento o interrupciones en el servicio.

Investigar los patrones de uso de memoria

En la sección Memoria, observe el gráfico que representa el uso de la memoria a lo largo del tiempo. Esto muestra la cantidad de memoria disponible que utiliza cada instancia. Busque patrones o picos en el uso de la memoria que puedan correlacionarse con momentos o eventos específicos. Un uso elevado de la memoria podría indicar la necesidad de cambiar el tamaño de instancia o de optimizar las aplicaciones.

Correlacione los patrones entre las métricas de uso principales

Compare y observe los patrones de utilización relacionados. Por ejemplo, una carga de trabajo que ejecute un proceso de rotación de registros podría provocar aumentos periódicos en la utilización de la CPU y la memoria, seguidos de una disminución en la utilización del disco.

Inspeccionar la actividad de la red

En la sección Red, examine las métricas del tráfico de red entrante y saliente, tanto en términos de volumen de datos como de recuento de paquetes. Le proporcionan información sobre la actividad de red de sus instancias de EC2. Esté atento a los picos de tráfico de red habituales o anómalos, o a los desequilibrios entre los datos entrantes y salientes.