Configuração do agente do CloudWatch para o Amazon EMR 7.1.0
A partir do Amazon EMR 7.1.0, você pode configurar o agente do Amazon CloudWatch para usar métricas adicionais do sistema, adicionar métricas de aplicações e alterar o destino das métricas usando a API de configuração do Amazon EMR. Para obter mais informações sobre como usar a API de configuração do EMR para configurar as aplicações do cluster, consulte Configure applications.
nota
A versão 7.1.0 é compatível apenas com o tipo de reconfiguração OVERWRITE. Para obter mais informações sobre os tipos de reconfiguração, consulte Considerations when you reconfigure an instance group.
Tópicos
Esquema de configuração
emr-metrics tem as seguintes classificações:
-
emr-system-metrics: configure métricas do sistema, como CPU, disco e memória. -
emr-hadoop-hdfs-datanode-metrics: configure métricas do JMX no DataNode do Hadoop -
emr-hadoop-hdfs-namenode-metrics: configure métricas do JMX no NameNode do Hadoop -
emr-hadoop-yarn-nodemanager-metrics: configure métricas do JMX no NodeManager do Yarn -
emr-hadoop-yarn-resourcemanager-metrics: configure métricas do JMX no ResourceManager do Yarn -
emr-hbase-master-metrics: configure métricas do JMX no mestre do HBase -
emr-hbase-region-server-metrics: configure métricas do JMX no servidor de regiões do HBase -
emr-hbase-rest-server-metrics: configure métricas do JMX no servidor REST do HBase -
emr-hbase-thrift-server-metrics: configure métricas do JMX no servidor Thrift do HBase
As tabelas a seguir descrevem as propriedades e configurações disponíveis para todas as classificações.
propriedades do emr-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores | Observações |
|---|---|---|---|---|---|
metrics_destination |
Opcional | Determina se as métricas do cluster são publicadas no Amazon CloudWatch ou no Amazon Managed Service para Prometheus. | "CLOUDWATCH" | "CLOUDWATCH", "PROMETHEUS" | Essa propriedade não diferencia maiúsculas de minúsculas. Por exemplo, "Cloudwatch" é o mesmo que "CLOUDWATCH". |
prometheus_endpoint |
Opcional | Se metrics_destination estiver definido como "PROMETHEUS", essa propriedade configura o agente do CloudWatch para enviar métricas ao endpoint de gravação remota do Amazon Managed Service para Prometheus fornecido. |
N/D | Qualquer URL de gravação remota do Amazon Managed Service para Prometheus. O formato do URL de gravação remota é
|
Esse campo será obrigatório se metrics_destination estiver definido como "PROMETHEUS". O provisionamento falhará se você não fornecer uma chave ou se o valor for uma string vazia. |
propriedades do emr-system-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores | Observações |
|---|---|---|---|---|---|
metrics_collection_interval |
Opcional | Com que frequência, em segundos, as métricas são coletadas e publicadas pelo agente do CloudWatch. | "60" | Uma string especificando o número de segundos. Só aceita números inteiros. | Você pode substituir essa propriedade pela propriedade metrics_collection_interval de grupos de métricas individuais. |
configurações do emr-system-metrics
propriedades do emr-hadoop-hdfs-datanode-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores |
|---|---|---|---|---|
|
Opcional | N/D | O MBean do qual o agente do CloudWatch deve coletar métricas, como Hadoop:service=DataNode,name=DataNodeActivity. Você encontra exemplos de nomes de MBean e suas métricas correspondentes nos exemplos de arquivos YAML do JMX |
Uma string contendo a lista delimitada por vírgulas de métricas associadas ao MBean. Por exemplo, BlocksCached,BlocksRead. |
otel.metric.export.interval |
Opcional | Com que frequência, em milissegundos, coletar métricas do DataNode do Hadoop. | "60000" | Uma string especificando o número de milissegundos. Aceita somente números inteiros. |
propriedades do emr-hadoop-hdfs-namenode-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores |
|---|---|---|---|---|
|
Opcional | N/D | O MBean do qual o agente do CloudWatch deve coletar métricas, como Hadoop:service=NameNode,name=FSNamesystem. Você encontra exemplos de nomes de MBean e suas métricas correspondentes nos exemplos de arquivos YAML do JMX |
Uma string contendo a lista delimitada por vírgulas de métricas associadas ao MBean. Por exemplo, BlockCapacity,CapacityUsedGB. |
otel.metric.export.interval |
Opcional | Com que frequência, em milissegundos, coletar métricas do NameNode do Hadoop. | "60000" | Uma string especificando o número de milissegundos. Aceita somente números inteiros. |
propriedades do emr-hadoop-yarn-nodemanager-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores |
|---|---|---|---|---|
|
Opcional | N/D | O MBean do qual o agente do CloudWatch deve coletar métricas, como Hadoop:service=NodeManager,name=NodeManagerMetrics. Você encontra exemplos de nomes de MBean e suas métricas correspondentes nos exemplos de arquivos YAML do JMX |
Uma string contendo a lista delimitada por vírgulas de métricas associadas ao MBean. Por exemplo, MaxCapacity,AllocatedGB. |
otel.metric.export.interval |
Opcional | Com que frequência, em milissegundos, coletar as métricas YARN do NodeManager do Hadoop. | "60000" | Uma string especificando o número de milissegundos. Aceita somente números inteiros. |
propriedades do emr-hadoop-yarn-resourcemanager-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores |
|---|---|---|---|---|
|
Opcional | N/D | O MBean do qual o agente do CloudWatch deve coletar métricas, como Hadoop:service=ResourceManager,name=PartitionQueueMetrics. Você encontra exemplos de nomes de MBean e suas métricas correspondentes nos exemplos de arquivos YAML do JMX |
Uma string contendo a lista delimitada por vírgulas de métricas associadas ao MBean. Por exemplo, MaxCapacity,MaxCapacityVCores. |
otel.metric.export.interval |
Opcional | Com que frequência, em milissegundos, coletar as métricas YARN do ResourceManager do Hadoop. | "60000" | Uma string especificando o número de milissegundos. Aceita somente números inteiros. |
propriedades do emr-hbase-master-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores |
|---|---|---|---|---|
|
Opcional | N/D | O MBean do qual o agente do CloudWatch deve coletar métricas, como Hadoop:service=HBase,name=Master,sub=AssignmentManager. Você encontra exemplos de nomes de MBean e suas métricas correspondentes nos exemplos de arquivos YAML do JMX |
Uma string contendo a lista delimitada por vírgulas de métricas associadas ao MBean. Por exemplo, AssignFailedCount,AssignSubmittedCount. |
otel.metric.export.interval |
Opcional | Com que frequência, em milissegundos, coletar as métricas do mestre do HBase. | "60000" | Uma string especificando o número de milissegundos. Aceita somente números inteiros. |
propriedades do emr-hbase-region-server-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores |
|---|---|---|---|---|
|
Opcional | N/D | O MBean do qual o agente do CloudWatch deve coletar métricas, como Hadoop:service=HBase,name=RegionServer,sub=IPC. Você encontra exemplos de nomes de MBean e suas métricas correspondentes nos exemplos de arquivos YAML do JMX |
Uma string contendo a lista delimitada por vírgulas de métricas associadas ao MBean. Por exemplo, numActiveHandler,numActivePriorityHandler. |
otel.metric.export.interval |
Opcional | Com que frequência, em milissegundos, coletar métricas do servidor de regiões do HBase. | "60000" | Uma string especificando o número de milissegundos. Aceita somente números inteiros. |
propriedades do emr-hbase-rest-server-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores |
|---|---|---|---|---|
|
Opcional | N/D | O MBean do qual o agente do CloudWatch deve coletar métricas, como Hadoop:service=HBase,name=REST. Você encontra exemplos de nomes de MBean e suas métricas correspondentes nos exemplos de arquivos YAML do JMX |
Uma string contendo a lista delimitada por vírgulas de métricas associadas ao MBean. Por exemplo, successfulPut,successfulScanCount. |
otel.metric.export.interval |
Opcional | Com que frequência, em milissegundos, coletar as métricas do servidor REST do HBase. | "60000" | Uma string especificando o número de milissegundos. Aceita somente números inteiros. |
propriedades do emr-hbase-thrift-server-metrics
| Propriedade | Obrigatório | Descrição | Valor padrão | Possíveis valores |
|---|---|---|---|---|
|
Opcional | N/D | O MBean do qual o agente do CloudWatch deve coletar métricas, como Hadoop:service=HBase,name=Thrift,sub=ThriftOne. Você encontra exemplos de nomes de MBean e suas métricas correspondentes nos exemplos de arquivos YAML do JMX |
Uma string contendo a lista delimitada por vírgulas de métricas associadas ao MBean. Por exemplo, BatchGet_max,BatchGet_mean. |
otel.metric.export.interval |
Opcional | Com que frequência, em milissegundos, coletar as métricas do servidor Thrift do HBase. | "60000" | Uma string especificando o número de milissegundos. Aceita somente números inteiros. |
Exemplos de configurações de métricas do sistema
O exemplo a seguir demonstra como configurar o agente do CloudWatch para interromper a exportação de todas as métricas do sistema.
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-system-metrics", "Properties": {}, "Configurations": [] } ] } ]
O exemplo a seguir configura o agente do CloudWatch para exportar as métricas padrão do sistema. Isso é uma maneira rápida de fazer com que o agente volte a exportar apenas as métricas padrão do sistema se você já as tiver reconfigurado pelo menos uma vez. Essa redefinição também remove todas as métricas da aplicação que foram reconfiguradas anteriormente.
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [] } ]
O exemplo a seguir configura o cluster para exportar as métricas cpu, mem e 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": "" } } ] } ] } ]
A configuração do exemplo anterior tem as seguintes propriedades:
-
A cada 30 segundos, o agente coleta a métrica
cpu_guestde todas as CPUs. Você pode encontrar a métrica agregada no namespace do CloudWatchCWAgent > cluster.id, instance.id, node.type, service.name. -
A cada 30 segundos, o agente coleta a métrica
cpu_idlede todas as CPUs. Você pode encontrar a métrica agregada no namespace do CloudWatchCWAgent > cluster.id, instance.id, node.type, service.name. O agente também coleta as métricas por CPU. Você pode encontrá-las no mesmo namespace. O agente coleta essa métrica porque a propriedadedrop_original_metricsnão contémcpu_idle, então o agente não ignora a métrica. -
A cada 20 segundos, o agente coleta a métrica
mem_active. Você pode encontrar a métrica agregada no namespace do CloudWatchCWAgent > cluster.id, instance.id, node.type, service.name. -
A cada 20 segundos, o agente coleta as métricas
disk_used_percentdas montagens/e/mntdo disco. Você pode encontrar as métricas agregadas no namespace do CloudWatchCWAgent > cluster.id, instance.id, node.type, service.name. O agente também coleta as métricas por montagem. Você pode encontrá-las no mesmo namespace. O agente coleta essa métrica porque a propriedadedrop_original_metricsnão contémdisk_used_percent, então o agente não ignora a métrica.
Exemplos de configurações de métricas de aplicações
O exemplo a seguir configura o agente do CloudWatch para interromper a exportação de métricas para o serviço Namenode do Hadoop.
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-hadoop-hdfs-namenode-metrics", "Properties": {}, "Configurations": [] } ] } ]
O exemplo a seguir configura um cluster para exportar métricas de aplicação do 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": [] } ] } ]
O exemplo anterior tem as seguintes propriedades:
-
A cada 20 segundos, o agente coleta as métricas
BlockCapacityeCapacityUsedGBdas instâncias que executam o serviço Namenode do Hadoop. -
A cada 30 segundos, o agente coleta as métricas
MemNonHeapUsedMdas instâncias que executam o serviço Datanode do Hadoop. -
A cada 30 segundos, o agente coleta as métricas
AllocateNumOpseNodeUpdateNumOpsdas instâncias que executam o ResourceManager do YARN do Hadoop.
Exemplo do Amazon Managed Service para Prometheus
O exemplo a seguir demonstra como configurar o agente do CloudWatch para exportar métricas ao Amazon Managed Service para Prometheus.
Se você está atualmente exportando métricas ao Amazon Managed Service para Prometheus e quiser reconfigurar as métricas para o cluster e continuar exportando métricas ao Amazon Managed Service para Prometheus, você deve incluir as propriedades metrics_destination e prometheus_endpoint.
[ { "Classification": "emr-metrics", "Properties": { "metrics_destination": "prometheus", "prometheus_endpoint": "http://amp-workspace/api/v1/remote_write" }, "Configurations": [] } ]
Para usar o agente do CloudWatch para exportar métricas ao CloudWatch, use o exemplo a seguir.
[ { "Classification": "emr-metrics", "Properties": { "metrics_destination": "cloudwatch" }, "Configurations": [] } ]
nota
O agente do CloudWatch tem um exportador do Prometheus que renomeia determinados atributos. Para os rótulos de métricas padrão, o Amazon Managed Service for Prometheus usa caracteres de sublinhado no lugar dos pontos do Amazon CloudWatch. Se você usar o Amazon Managed Grafana para visualizar as métricas padrão no Amazon Managed Service para Prometheus, os rótulos aparecerão como cluster_id, instance_id, node_type, and service_name.