Configurar el CloudWatch agente para Amazon EMR 7.0.0 - Amazon EMR

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.

Configurar el CloudWatch agente para Amazon EMR 7.0.0

Puede configurar el CloudWatch agente de Amazon para que utilice métricas del sistema adicionales a las que proporciona la configuración de CloudWatch agente predeterminada. La configuración de la versión 7.0.0 requiere el uso de acciones de arranque, de las que se ofrecen ejemplos en las siguientes secciones. En una próxima versión, Amazon EMR ofrecerá opciones de configuración adicionales a través de la API de Amazon EMR.

Configuración de métricas de sistema adicionales con Amazon EMR 7.0.0

Realice los siguientes pasos para configurar el agente para que utilice un conjunto diferente de métricas del sistema en Amazon EMR 7.0.0:

  1. Cree o elija un bucket en su cuenta de Amazon S3 en el que desee almacenar los archivos de configuración que especifican las métricas del CloudWatch agente.

  2. Cree el archivo de configuración del emr-amazon-cloudwatch-agent.json con las métricas especificadas que prefiera. Para ello, utilice uno de los métodos explicados en Crear el archivo de configuración del CloudWatch agente. Para obtener más información sobre la estructura del archivo de configuración del CloudWatch agente, consulte Crear o editar manualmente el archivo de configuración del CloudWatch agente en la Guía del CloudWatch usuario de Amazon.

  3. A continuación, navegue hasta el aws-emr-utilities repositorio GitHub y descargue los siguientes scripts de métricas del sistema:

    • install_system_metrics_launcher.sh: un script que se descarga y luego ejecuta install_system_metrics.sh en segundo plano para que el nodo pueda terminar de arrancar.

    • install_system_metrics.sh: un script que espera a que la instancia en la que se ejecuta termine de arrancar y, a continuación, descarga y aplica la configuración en el archivo JSON.

  4. Abra cada archivo SH y reemplace my-s3-bucket por el nombre del bucket del paso 1.

  5. Cargue el archivo JSON y los dos archivos SH en el bucket de S3.

  6. Ahora, puede ir a la consola de Amazon EMR y crear un nuevo clúster con el CloudWatch agente. En el panel de navegación izquierdo, en EMR en EC2, seleccione Clústeres y, a continuación, Crear clúster.

  7. En la sección Nombre y aplicaciones, elija la versión de Amazon EMR 7.0.0 o posterior.

  8. En Paquete de aplicaciones, selecciona el paquete o las aplicaciones que deseas instalar en tu clúster e incluye Amazon CloudWatch Agent entre tus selecciones.

  9. En la sección Acciones de arranque, seleccione Agregar.

    • En Nombre, ingrese install_system_metrics_launcher.sh.

    • Para la Ubicación del script, ingrese s3://my-s3-bucket/install_system_metrics_launcher.sh. Reemplace my-s3-bucket por la ruta al bucket de S3.

    • Deje el bloque Argumentos vacío.

  10. Seleccione Agregar acción de arranque.

  11. Continúe con la creación del clúster para satisfacer las necesidades de la carga de trabajo.

Cuando se lanza el clúster, el CloudWatch agente publica en él las métricas del sistema que especificó en el archivo de configuración CloudWatch.

Configuración de las métricas de las aplicaciones con Amazon EMR 7.0.0

Puede configurar el CloudWatch agente de Amazon para que publique métricas de aplicaciones para HDFS y YARN además de las métricas del sistema. Realice los pasos siguientes para configurar el agente para que publique métricas de aplicaciones:

  1. Cree o elija un bucket en su cuenta de Amazon S3 en el que desee almacenar los archivos de configuración que especifican las métricas del CloudWatch agente.

  2. A continuación, navegue hasta el aws-emr-utilities repositorio GitHub y descargue los siguientes scripts:

    • install_app_metrics_launcher.sh: un script que se descarga y luego ejecuta install_app_metrics.sh en segundo plano para que el nodo pueda terminar de arrancar.

    • install_app_metrics.sh: un script que espera a que la instancia en la que se ejecuta termine de arrancar y, a continuación, descarga y aplica la configuración en los archivos YAML que se descargarán en el paso siguiente.

  3. Abra cada archivo y reemplace my-s3-bucket por el nombre del bucket del paso 1.

  4. A continuación, descargue los siguientes archivos de mapeo YAML. Para obtener información sobre cómo están estructurados estos archivos YAML, consulta javaagenten el OpenTelemetry Instrumentation for Java GitHub repositorio.

  5. Cargue los dos archivos SH y los cuatro archivos YAML en el bucket de S3.

  6. Ahora, puede ir a la consola de Amazon EMR y crear un nuevo clúster con el CloudWatch agente. En el panel de navegación izquierdo, en EMR en EC2, seleccione Clústeres y, a continuación, Crear clúster.

  7. En la sección Nombre y aplicaciones, elija la versión de Amazon EMR 7.0.0 o posterior.

  8. En Paquete de aplicaciones, seleccione el paquete o el grupo personalizado de aplicaciones que desee instalar en su clúster e incluya el CloudWatch agente en sus selecciones.

  9. En la sección Acciones de arranque, seleccione Agregar.

    • En Nombre, ingrese install_app_metrics_launcher.sh.

    • Para la Ubicación del script, ingrese s3://my-s3-bucket/install_app_metrics_launcher.sh. Reemplace my-s3-bucket por la ruta al bucket de S3.

    • Deje el bloque Argumentos vacío.

  10. Seleccione Agregar acción de arranque.

  11. Continúe con la creación del clúster para satisfacer las necesidades de la carga de trabajo.

Cuando se lanza el clúster, el CloudWatch agente publica las métricas de la aplicación que especificó junto con las métricas del sistema CloudWatch.

Configuración de Amazon Managed Service para Prometheus como almacenamiento en la nube para métricas con Amazon EMR 7.0.0

Puede configurar el CloudWatch agente de Amazon para que publique las métricas en Amazon Managed Service for Prometheus en lugar de hacerlo. CloudWatch

nota

Puedes publicar las métricas del CloudWatch agente de Amazon en Amazon Managed Service for Prometheus o en CloudWatch Amazon, pero no puedes publicar las métricas en ambos servicios para el mismo clúster.

Para configurar el agente para que publique métricas en Amazon Managed Service for Prometheus, debe añadir el permiso (IAM) aps:RemoteWrite AWS Identity and Access Management al perfil de instancia de Amazon EC2 para Amazon EMR. El siguiente ejemplo de política contiene los permisos necesarios:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aps:RemoteWrite", "Resource": "*" } ] }
Usa el CloudWatch agente de un clúster de EMR para publicar métricas en Amazon Managed Service for Prometheus

Una vez que la política de servicio tenga los permisos correctos, siga estos pasos para lanzar un clúster que utilice el CloudWatch agente para publicar las métricas en Amazon Managed Service for Prometheus.

  1. Utilice AWS Management Console o AWS CLI para crear un espacio de trabajo de Amazon Managed Service para Prometheus. Para obtener más información, consulte Crear un espacio de trabajo en la Guía del usuario de Amazon Managed Service para Prometheus.

  2. Cree o elija un bucket en la cuenta de Amazon S3 en la que desea almacenar los archivos de lanzamiento que especifican Amazon Managed Service para Prometheus como almacenamiento en la nube.

  3. A continuación, navegue hasta el aws-emr-utilities repositorio GitHub y descargue los siguientes scripts:

    • add_prometheus_endpoint_launcher.sh: un script que se descarga y luego ejecuta add_prometheus_endpoint.sh en segundo plano para que el nodo pueda terminar de arrancar.

    • add_prometheus_endpoint.sh— Un script que espera a que la instancia en la que se ejecuta termine de arrancarse y, a continuación, configura el CloudWatch agente para que lo publique en el punto final de Amazon Managed Service for Prometheus que usted proporciona como argumento al lanzar el clúster.

  4. Abra cada archivo y reemplace my-s3-bucket por el nombre del bucket del paso 2.

  5. Utilice AWS CLI para crear un clúster de EMR con la acción add_prometheus_endpoint_launcher.sh bootstrap. En el siguiente comando, reemplace my-s3-bucket por el bucket que contiene la acción de arranque y reemplace managedpro-remote-write-workspace-url por el punto de conexión de escritura remoto del espacio de trabajo de Amazon Managed Service para Prometheus. Asegúrese de especificar una etiqueta de versión de Amazon EMR igual a emr-7.0.0 o posterior.

    aws emr create-cluster --name managedpro-cluster \ --release-label emr-7.0.0 \ --applications Name=Hadoop Name=AmazonCloudWatchAgent \ --ec2-attributes KeyName=myKey --instance-type m7g.2xlarge \ --instance-count 3 --use-default-roles --bootstrap-actions Name='Add Prometheus Endpoint',Path=s3://my-s3-bucket/add_prometheus_endpoint_launcher.sh,Args='managedpro-remote-write-workspace-url'

Cuando se lanza el clúster, el CloudWatch agente publica las métricas que recopila en Amazon Managed Service for Prometheus.

Uso de Amazon Managed Service para Prometheus como origen de datos para Amazon Managed Grafana

Una vez que Amazon EMR haya publicado las métricas del clúster en Amazon Managed Service para Prometheus, puede realizar los siguientes pasos para visualizar las métricas con Amazon Managed Grafana:

  1. Úsala AWS Management Console para crear un espacio de trabajo y un usuario de Grafana gestionados por Amazon con los permisos adecuados. Para obtener más información, consulte Crear un espacio de trabajo en la Guía del usuario de Amazon Managed Grafana.

  2. Agregue Amazon Managed Service para Prometheus como origen de datos para Amazon Managed Grafana. Para obtener más información, consulte Uso de la configuración de la fuente de datos AWS para agregar Amazon Managed Service para Prometheus como origen de datos en la Guía del usuario de Amazon Managed Grafana.

nota

El CloudWatch agente tiene un exportador de Prometheus que cambia el nombre de ciertos atributos. Para las etiquetas de métricas predeterminadas, Amazon Managed Service for Prometheus utiliza caracteres de subrayado en lugar de los puntos que utiliza Amazon. CloudWatch Por lo tanto, si utiliza Amazon Managed Grafana para visualizar las métricas predeterminadas en Amazon Managed Service para Prometheus, las etiquetas aparecen como jobflow_id, instance_id y service_name.

Además, cualquier métrica de la aplicación que el CloudWatch agente publique en Amazon Managed Service for Prometheus utiliza la job etiqueta en su lugar. service_name Sin embargo, las métricas del sistema siguen utilizando la etiqueta service_name.