Configuración CloudWatch del 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.

Configuración CloudWatch del agente para Amazon EMR 7.0.0

Puede configurar el CloudWatch agente de Amazon para que utilice métricas del sistema adicionales, diferentes de las que proporciona la configuración predeterminada del CloudWatch agente. 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 la cuenta de Amazon S3 en la que desea 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 acerca de la estructura del archivo de configuración del CloudWatch agente, consulte Crear el archivo de configuración del CloudWatch agente de forma manual en la Guía del CloudWatch usuario de Amazon.

  3. A continuación, vaya al aws-emr-utilities repositorio en 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 amzn-s3-demo-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 clúster nuevo con el CloudWatch agente. En EMR activado, EC2 en el panel de navegación de la izquierda, 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 las aplicaciones que desea instalar en el clúster e incluya el CloudWatch agente de Amazon en la selección.

  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://amzn-s3-demo-bucket/install_system_metrics_launcher.sh. Reemplace amzn-s3-demo-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 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 la cuenta de Amazon S3 en la que desea almacenar los archivos de configuración que especifican las métricas del CloudWatch agente.

  2. A continuación, vaya al aws-emr-utilities repositorio en 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 amzn-s3-demo-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 clúster nuevo con el CloudWatch agente. En EMR activado, EC2 en el panel de navegación de la izquierda, 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 el clúster e incluya el CloudWatch agente en la selección.

  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://amzn-s3-demo-bucket/install_app_metrics_launcher.sh. Reemplace amzn-s3-demo-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 métricas en Amazon Managed Service para Prometheus en lugar de. CloudWatch

nota

Puede publicar métricas del CloudWatch agente de Amazon en Amazon Managed Service para Prometheus o en CloudWatch Amazon, pero no puede publicar las métricas en ambos servicios en un mismo clúster.

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

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

Cuando la política de servicio tenga los permisos correctos, realice los siguientes pasos para lanzar un clúster que utilice el CloudWatch agente para publicar métricas en Amazon Managed Service para Prometheus.

  1. Utilice la AWS Management Console o la 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, vaya al aws-emr-utilities repositorio en 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 termine el arranque de la instancia en la que se ejecuta y, a continuación, configura el CloudWatch agente a fin de publicar en el punto de conexión de Amazon Managed Service para Prometheus que se proporciona como argumento al lanzar el clúster.

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

  5. Utilice AWS CLI para crear un clúster de EMR con la acción de add_prometheus_endpoint_launcher.sh arranque. En el siguiente comando, reemplace amzn-s3-demo-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://amzn-s3-demo-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 para 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. Utilice AWS Management Console para crear un espacio de trabajo y un usuario de Amazon Managed Grafana 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 algunos atributos. Para las etiquetas de métricas predeterminadas, Amazon Managed Service para 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 para Prometheus utiliza la job etiqueta. service_name Sin embargo, las métricas del sistema siguen utilizando la etiqueta service_name.