Configuración del agente de CloudWatch para Amazon EMR 7.1.0
A partir de Amazon EMR 7.1.0, puede configurar el agente de Amazon CloudWatch para que utilice métricas adicionales del sistema, añada métricas de aplicaciones y cambie el destino de las métricas mediante la API de configuración de Amazon EMR. Para obtener más información sobre cómo usar la API de configuración de EMR para configurar las aplicaciones del clúster, consulte Configuración de aplicaciones.
nota
7.1.0 solo admite el tipo de reconfiguración OVERWRITE. Para obtener más información sobre los tipos de reconfiguración, consulte Consideraciones a la hora de reconfigurar un grupo de instancias.
Temas
Esquema de configuración
emr-metrics tiene las siguientes clasificaciones:
-
emr-system-metrics: configura las métricas del sistema, como CPU, disco y memoria. -
emr-hadoop-hdfs-datanode-metrics: configura las métricas de Hadoop DataNode JMX -
emr-hadoop-hdfs-namenode-metrics: configura las métricas de Hadoop NameNode JMX -
emr-hadoop-yarn-nodemanager-metrics: configura las métricas de Yarn NodeManager JMX -
emr-hadoop-yarn-resourcemanager-metrics: configura las métricas de Yarn NodeManager JMX -
emr-hbase-master-metrics: configura las métricas de HBase Master JMX -
emr-hbase-region-server-metrics: configura las métricas de HBase Region Server JMX -
emr-hbase-rest-server-metrics: configura las métricas de HBase REST Server JMX -
emr-hbase-thrift-server-metrics: configura las métricas de HBase Thrift Server JMX
Las tablas siguientes describen las propiedades y configuraciones disponibles para todas y cada una de las clasificaciones.
propiedades de emr-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles | Notas |
|---|---|---|---|---|---|
metrics_destination |
Opcional | Determina si las métricas del clúster se publican en Amazon CloudWatch o en Amazon Managed Service para Prometheus. | "CLOUDWATCH" | "CLOUDWATCH", "PROMETHEUS" | Esta propiedad no distingue entre mayúsculas y minúsculas. Por ejemplo, “Cloudwatch” es lo mismo que “CLOUDWATCH”. |
prometheus_endpoint |
Opcional | Si metrics_destination se establece en “PROMETHEUS”, esta propiedad configura el agente de CloudWatch para que envíe las métricas al punto de conexión de escritura remota proporcionado por Amazon Managed Service para Prometheus. |
N/A | Cualquier URL de escritura remota de Amazon Managed Service para Prometheus. El formato de URL de escritura remota es
|
Este campo solo se obligatorio si metrics_destination está establecido en "PROMETHEUS". El aprovisionamiento fallará si no proporciona una clave o si el valor es una cadena vacía. |
propiedades de emr-system-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles | Notas |
|---|---|---|---|---|---|
metrics_collection_interval |
Opcional | La frecuencia en segundos acerca de la recopilación y publicación de las métricas desde el agente de CloudWatch. | "60" | Una cadena que especifica el número de segundos. Solo acepta números enteros. | Puede anular esta propiedad con la propiedad metrics_collection_interval de grupos de métricas individuales. |
configuraciones de emr-system-metrics
propiedades de emr-hadoop-hdfs-datanode-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles |
|---|---|---|---|---|
|
Opcional | N/A | El MBean del que el agente de CloudWatch debe recopilar métricas, por ejemplo Hadoop:service=DataNode,name=DataNodeActivity. Puede encontrar ejemplos de nombres de MBean y sus métricas correspondientes en los archivos JMX YAML de ejemplo |
Una cadena que contiene la lista delimitada por comas de métricas que están asociadas al MBean. Por ejemplo, BlocksCached,BlocksRead. |
otel.metric.export.interval |
Opcional | La frecuencia en milisegundos acerca de la recopilación de las métricas de Hadoop DataNode. | “60 000” | Una cadena que especifica el número de milisegundos. Solo acepta números enteros. |
propiedades de emr-hadoop-hdfs-namenode-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles |
|---|---|---|---|---|
|
Opcional | N/A | El MBean del que el agente de CloudWatch debe recopilar métricas, por ejemplo Hadoop:service=NameNode,name=FSNamesystem. Puede encontrar ejemplos de nombres de MBean y sus métricas correspondientes en los archivos JMX YAML de ejemplo |
Una cadena que contiene la lista delimitada por comas de métricas que están asociadas al MBean. Por ejemplo, BlockCapacity,CapacityUsedGB. |
otel.metric.export.interval |
Opcional | La frecuencia en milisegundos acerca de la recopilación de las métricas de Hadoop NameNode. | “60 000” | Una cadena que especifica el número de milisegundos. Solo acepta números enteros. |
propiedades de emr-hadoop-yarn-nodemanager-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles |
|---|---|---|---|---|
|
Opcional | N/A | El MBean del que el agente de CloudWatch debe recopilar métricas, por ejemplo Hadoop:service=NodeManager,name=NodeManagerMetrics. Puede encontrar ejemplos de nombres de MBean y sus métricas correspondientes en los archivos JMX YAML de ejemplo |
Una cadena que contiene la lista delimitada por comas de métricas que están asociadas al MBean. Por ejemplo, MaxCapacity,AllocatedGB. |
otel.metric.export.interval |
Opcional | La frecuencia en milisegundos acerca de la recopilación de las métricas de Hadoop YARN NodeManager. | “60 000” | Una cadena que especifica el número de milisegundos. Solo acepta números enteros. |
propiedades de emr-hadoop-yarn-resourcemanager-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles |
|---|---|---|---|---|
|
Opcional | N/A | El MBean del que el agente de CloudWatch debe recopilar métricas, por ejemplo Hadoop:service=ResourceManager,name=PartitionQueueMetrics. Puede encontrar ejemplos de nombres de MBean y sus métricas correspondientes en los archivos JMX YAML de ejemplo |
Una cadena que contiene la lista delimitada por comas de métricas que están asociadas al MBean. Por ejemplo, MaxCapacity,MaxCapacityVCores. |
otel.metric.export.interval |
Opcional | La frecuencia en milisegundos acerca de la recopilación de las métricas de Hadoop YARN ResourceManager. | “60 000” | Una cadena que especifica el número de milisegundos. Solo acepta números enteros. |
propiedades de emr-hbase-master-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles |
|---|---|---|---|---|
|
Opcional | N/A | El MBean del que el agente de CloudWatch debe recopilar métricas, por ejemplo Hadoop:service=HBase,name=Master,sub=AssignmentManager. Puede encontrar ejemplos de nombres de MBean y sus métricas correspondientes en los archivos JMX YAML de ejemplo |
Una cadena que contiene la lista delimitada por comas de métricas que están asociadas al MBean. Por ejemplo, AssignFailedCount,AssignSubmittedCount. |
otel.metric.export.interval |
Opcional | La frecuencia en milisegundos acerca de la recopilación de las métricas de HBase Master. | “60 000” | Una cadena que especifica el número de milisegundos. Solo acepta números enteros. |
propiedades de emr-hbase-region-server-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles |
|---|---|---|---|---|
|
Opcional | N/A | El MBean del que el agente de CloudWatch debe recopilar métricas, por ejemplo Hadoop:service=HBase,name=RegionServer,sub=IPC. Puede encontrar ejemplos de nombres de MBean y sus métricas correspondientes en los archivos JMX YAML de ejemplo |
Una cadena que contiene la lista delimitada por comas de métricas que están asociadas al MBean. Por ejemplo, numActiveHandler,numActivePriorityHandler. |
otel.metric.export.interval |
Opcional | La frecuencia en milisegundos acerca de la recopilación de las métricas de HBase Region Server. | “60 000” | Una cadena que especifica el número de milisegundos. Solo acepta números enteros. |
propiedades de emr-hbase-rest-server-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles |
|---|---|---|---|---|
|
Opcional | N/A | El MBean del que el agente de CloudWatch debe recopilar métricas, por ejemplo Hadoop:service=HBase,name=REST. Puede encontrar ejemplos de nombres de MBean y sus métricas correspondientes en los archivos JMX YAML de ejemplo |
Una cadena que contiene la lista delimitada por comas de métricas que están asociadas al MBean. Por ejemplo, successfulPut,successfulScanCount. |
otel.metric.export.interval |
Opcional | La frecuencia en milisegundos acerca de la recopilación de las métricas de HBase Rest Server. | “60 000” | Una cadena que especifica el número de milisegundos. Solo acepta números enteros. |
propiedades de emr-hbase-thrift-server-metrics
| Propiedad | Obligatorio | Descripción | Valor predeterminado | Valores posibles |
|---|---|---|---|---|
|
Opcional | N/A | El MBean del que el agente de CloudWatch debe recopilar métricas, por ejemplo Hadoop:service=HBase,name=Thrift,sub=ThriftOne. Puede encontrar ejemplos de nombres de MBean y sus métricas correspondientes en los archivos JMX YAML de ejemplo |
Una cadena que contiene la lista delimitada por comas de métricas que están asociadas al MBean. Por ejemplo, BatchGet_max,BatchGet_mean. |
otel.metric.export.interval |
Opcional | La frecuencia en milisegundos acerca de la recopilación de las métricas de HBase Thrift Server. | “60 000” | Una cadena que especifica el número de milisegundos. Solo acepta números enteros. |
Ejemplos de configuraciones de métricas del sistema
En el siguiente ejemplo se muestra cómo configurar el agente de CloudWatch para que deje de exportar todas las métricas del sistema.
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-system-metrics", "Properties": {}, "Configurations": [] } ] } ]
En el siguiente ejemplo configura al agente de CloudWatch para exportar todas las métricas del sistema. Hacerlo es una forma rápida de restablecer el agente para que solo exporte las métricas predeterminadas del sistema si ya ha reconfigurado las métricas del sistema al menos una vez. Este restablecimiento también elimina cualquier métrica de la aplicación que se haya reconfigurado anteriormente.
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [] } ]
El siguiente ejemplo configura el clúster para exportar las métricas cpu, mem y disk.
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-system-metrics", "Properties": { "metrics_collection_interval": "20" }, "Configurations": [ { "Classification": "cpu", "Properties": { "metrics": "cpu_usage_guest,cpu_usage_idle", "metrics_collection_interval": "30", "drop_original_metrics": "cpu_usage_guest" } }, { "Classification": "mem", "Properties": { "metrics": "mem_active" } }, { "Classification": "disk", "Properties": { "metrics": "disk_used_percent", "resources": "/,/mnt", "drop_original_metrics": "" } } ] } ] } ]
La configuración del ejemplo anterior tiene las propiedades siguientes:
-
Cada 30 segundos, el agente recopila la métrica
cpu_guestde todas las CPU. Puede encontrar la métrica agregada en el espacio de nombresCWAgent > cluster.id, instance.id, node.type, service.namede CloudWatch. -
Cada 30 segundos, el agente recopila la métrica
cpu_idlede todas las CPU. Puede encontrar la métrica agregada en el espacio de nombresCWAgent > cluster.id, instance.id, node.type, service.namede CloudWatch. El agente también recopila las métricas por CPU. Puede encontrarlas en el mismo espacio de nombres. El agente recopila esta métrica porque la propiedaddrop_original_metricsno contiene lacpu_idle, por lo que el agente no ignora la métrica. -
Cada 20 segundos, el agente recopila la métrica
mem_active. Puede encontrar la métrica agregada en el espacio de nombresCWAgent > cluster.id, instance.id, node.type, service.namede CloudWatch. -
Cada 20 segundos, el agente recopila las métricas
disk_used_percentde los montajes del disco/y/mnt. Puede encontrar las métricas agregadas en el espacio de nombresCWAgent > cluster.id, instance.id, node.type, service.namede CloudWatch. El agente también recopila las métricas por montaje. Puede encontrarlas en el mismo espacio de nombres. El agente recopila esta métrica porque la propiedaddrop_original_metricsno contiene ladisk_used_percent, por lo que el agente no ignora la métrica.
Ejemplos de configuraciones de métricas de aplicación
En el siguiente ejemplo se configura al agente de CloudWatch para detener la exportación de las métricas para el servicio Hadoop Namenode.
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-hadoop-hdfs-namenode-metrics", "Properties": {}, "Configurations": [] } ] } ]
El siguiente ejemplo configura un clúster para exportar las métricas de las aplicaciones de Hadoop.
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-hadoop-hdfs-namenode-metrics", "Properties": { "Hadoop:service=NameNode,name=FSNamesystem": "BlockCapacity,CapacityUsedGB", "otel.metric.export.interval": "20000" }, "Configurations": [] }, { "Classification": "emr-hadoop-hdfs-datanode-metrics", "Properties": { "Hadoop:service=DataNode,name=JvmMetrics": "MemNonHeapUsedM", "otel.metric.export.interval": "30000" }, "Configurations": [] }, { "Classification": "emr-hadoop-yarn-resourcemanager-metrics", "Properties": { "Hadoop:service=ResourceManager,name=CapacitySchedulerMetrics": "AllocateNumOps,NodeUpdateNumOps" }, "Configurations": [] } ] } ]
El ejemplo anterior tiene las propiedades siguientes:
-
Cada 20 segundos, el agente recopila las métricas
BlockCapacityyCapacityUsedGBde las instancias que ejecutan el servicio Hadoop Namenode. -
Cada 30 segundos, el agente recopila las métricas
MemNonHeapUsedMde las instancias que ejecutan el servicio Hadoop Datanode. -
Cada 30 segundos, el agente recopila las métricas
AllocateNumOpsyNodeUpdateNumOpsde las instancias que ejecutan el Hadoop YARN Resource Manager.
Amazon Managed Service para Prometheus
En el siguiente ejemplo se muestra cómo configurar el agente de CloudWatch para que exporte métricas a Amazon Managed Service para Prometheus.
Si actualmente exporta métricas a Amazon Managed Service para Prometheus y desea reconfigurar las métricas del clúster y seguir exportándolas a Amazon Managed Service para Prometheus, debe incluir las propiedades metrics_destination y prometheus_endpoint.
[ { "Classification": "emr-metrics", "Properties": { "metrics_destination": "prometheus", "prometheus_endpoint": "http://amp-workspace/api/v1/remote_write" }, "Configurations": [] } ]
Para usar el agente de CloudWatch para exportar métricas a CloudWatch, utilice el siguiente ejemplo.
[ { "Classification": "emr-metrics", "Properties": { "metrics_destination": "cloudwatch" }, "Configurations": [] } ]
nota
El agente de CloudWatch 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. Si utiliza Amazon Managed Grafana para visualizar las métricas predeterminadas en Amazon Managed Service para Prometheus, las etiquetas aparecen como cluster_id, instance_id, node_type y service_name.