选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

为亚马逊 EMR 7.1.0 配置 CloudWatch 代理 - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为亚马逊 EMR 7.1.0 配置 CloudWatch 代理

从 Amazon EMR 7.1.0 开始,您可以使用 Amazon EMR 配置 API 将亚马逊 CloudWatch 代理配置为使用其他系统指标、添加应用程序指标和更改指标目标。有关如何使用 EMR 配置 API 来配置集群应用程序的更多信息,请参阅配置应用程序

注意

7.1.0 仅支持重新配置类型 OVERWRITE。有关重新配置类型的更多信息,请参阅重新配置实例组时的注意事项

配置架构

emr-metrics 具有以下分类:

  • emr-system-metrics:配置系统指标,如 CPU、磁盘和内存。

  • emr-hadoop-hdfs-datanode-metrics— 配置 Hadoop DataNode JMX 指标

  • emr-hadoop-hdfs-namenode-metrics— 配置 Hadoop NameNode JMX 指标

  • emr-hadoop-yarn-nodemanager-metrics— 配置 Yarn NodeManager JMX 指标

  • emr-hadoop-yarn-resourcemanager-metrics— 配置 Yarn ResourceManager JMX 指标

  • emr-hbase-master-metrics— 配置 HBase Master JMX 指标

  • emr-hbase-region-server-metrics— 配置 HBase 区域服务器 JMX 指标

  • emr-hbase-rest-server-metrics— 配置 HBase REST 服务器 JMX 指标

  • emr-hbase-thrift-server-metrics— 配置 HBase Thrift Server JMX 指标

下表列出了所有分类的可用属性和配置。

emr-metrics 属性

属性 必需 描述 默认值 可能的值 备注
metrics_destination 可选 确定集群指标是发布到亚马逊 CloudWatch 还是发布到亚马逊 Prometheus 托管服务。 "CLOUDWATCH" "CLOUDWATCH"、"PROMETHEUS" 此属性不区分大小写。例如,"Cloudwatch" 与 "CLOUDWATCH" 相同。
prometheus_endpoint 可选 如果设置metrics_destination为 “PROMETHEUS”,则此属性将 CloudWatch 代理配置为向提供的亚马逊托管服务 Prometheus 远程写入端点发送指标。 不适用 任何有效的 Amazon Managed Service for Prometheus 远程写入 URL。远程写入 URL 格式为
https://aps-workspaces.<region>.amazonaws.com/workspaces/<workspace_id>/api/v1/remote_write
如果 metrics_destination 设置为 "PROMETHEUS",则该字段为必填字段。如果未提供键或如果值为空字符串,则预置将失败。

emr-system-metrics 属性

属性 必需 描述 默认值 可能的值 备注
metrics_collection_interval 可选 从 CloudWatch 代理收集和发布指标的频率(以秒为单位)。 "60" 指定秒数的字符串。只接受整数。 您可以使用各个指标组中的 metrics_collection_interval 属性来覆盖此属性。

emr-system-metrics 配置

cpu
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的 CPU 指标列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效 CPU 指标名称列表,带或不带 cpu_ 前缀,比如 usage_activecpu_time_idle。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何 CPU 指标。
metrics_collection_interval 可选 代理应收集和发布 CPU 指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖 CPU 指标的全局 metrics_collection_interval 属性。
drop_original_metrics 可选 不发布未聚合指标的 CPU 指标列表。 不发布未聚合的 CPU 指标。 以逗号分隔的 CPU 指标列表,这些指标也在 metrics 属性中指定。空字符串表示发布所有 CPU 指标。 CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下, CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。
resources 可选 确定代理是否发布 per-core 指标。 "*" "*" 启用 per-core 指标。"" 禁用 per-core 指标。 CloudWatch 代理仅发布未被放入的 CPU 指标的每核指标。drop_original_metrics
disk
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的磁盘指标列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效磁盘指标名称列表,带或不带 disk_ 前缀,比如 disk_totalused_percent。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何磁盘指标。
metrics_collection_interval 可选 代理应收集和发布磁盘指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖磁盘指标的全局 metrics_collection_interval 属性。
drop_original_metrics 可选 不发布未聚合指标的磁盘指标列表。 不发布未聚合的磁盘指标。 以逗号分隔的磁盘指标列表,这些指标也在 metrics 属性中指定。空字符串表示发布所有磁盘指标。 CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下, CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。
resources 可选 确定代理是否将发布 per-mount-point指标。 "*" "*" 表示所有挂载点,"" 表示没有挂载点,或以逗号分隔的挂载点列表。例如,"/,/emr" CloudWatch 代理仅发布 per-mount-point未放入的磁盘指标的指标drop_original_metrics
diskio
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的磁盘 IO 指标列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效磁盘 IO 指标名称列表,带或不带 diskio_ 前缀,比如 diskio_readswrites。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何磁盘 IO 指标。
metrics_collection_interval 可选 代理应收集和发布磁盘 IO 指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖磁盘 IO 指标的全局 metrics_collection_interval 属性。
drop_original_metrics 可选 不发布未聚合指标的磁盘 IO 指标列表。 不发布未聚合的磁盘 IO 指标。 以逗号分隔的磁盘 IO 指标列表,这些指标也在 metrics 属性中指定。空字符串表示发布所有磁盘 IO 指标。 CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下, CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。
resources 可选 确定代理是否发布 per-device 指标。 "*" "*" 表示所有存储设备,"" 表示没有存储设备,或以逗号分隔的设备名称列表。例如,"nvme0n1,nvme1n1" CloudWatch 代理仅发布未放入的磁盘 IO 指标的每台设备指标。drop_original_metrics
mem
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的内存指标列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效内存指标名称列表,带或不带 mem_ 前缀,比如 mem_availableavailable_percent。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何内存指标。
metrics_collection_interval 可选 代理应收集和发布内存指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖内存指标的全局 metrics_collection_interval 属性。
net
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的网络指标列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效网络指标名称列表,带或不带 net_ 前缀,比如 net_packets_sentpackets_recv。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何网络指标。
metrics_collection_interval 可选 代理应收集和发布网络指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖网络指标的全局 metrics_collection_interval 属性。
drop_original_metrics 可选 不发布未聚合指标的网络指标列表。 不发布未聚合的网络指标。 以逗号分隔的网络指标列表,这些指标也在 metrics 属性中指定。空字符串表示发布所有网络指标。 CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下, CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。
resources 可选 确定代理是否发布 per-interface 指标。 "*" "*" 表示所有网络接口,"" 表示没有网络接口,或以逗号分隔的接口名称列表。例如,"eth0,eth1" CloudWatch 代理仅发布未放入的网络指标的每个接口指标。drop_original_metrics
netstat
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的网络统计数据列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效内存指标名称列表,带或不带 netstat_ 前缀,比如 tcp_listennetstat_udp_socket。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何网络统计数据指标。
metrics_collection_interval 可选 代理应收集和发布网络统计数据指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖网络统计数据指标的全局 metrics_collection_interval 属性。
processes
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的进程指标列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效内存指标名称列表,带或不带 processes_ 前缀,比如 processes_runningtotal。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何进程指标。
metrics_collection_interval 可选 代理应收集和发布系统进程指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖系统进程指标的全局 metrics_collection_interval 属性。
swap
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的交换指标列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效内存指标名称列表,带或不带 swap_ 前缀,比如 swap_freeused_percent。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何交换指标。
metrics_collection_interval 可选 代理应收集和发布交换指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖交换指标的全局 metrics_collection_interval 属性。
属性 必需 描述 默认值 可能的值 备注
metrics 可选 代理要收集的 CPU 指标列表。 使用 Amazon EMR 查看 CloudWatch 代理的默认指标 以逗号分隔的有效 CPU 指标名称列表,带或不带 cpu_ 前缀,比如 usage_activecpu_time_idle。有关有效指标,请参阅 CloudWatch 代理收集的指标。 指定空字符串意味着不发布任何 CPU 指标。
metrics_collection_interval 可选 代理应收集和发布 CPU 指标的频率(秒)。 全局 metrics_collection_interval 的值。 指定秒数的字符串。只接受整数。 此值仅会覆盖 CPU 指标的全局 metrics_collection_interval 属性。
drop_original_metrics 可选 不发布未聚合指标的 CPU 指标列表。 不发布未聚合的 CPU 指标。 以逗号分隔的 CPU 指标列表,这些指标也在 metrics 属性中指定。空字符串表示发布所有 CPU 指标。 CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下, CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。
resources 可选 确定代理是否发布 per-core 指标。 "*" "*" 启用 per-core 指标。"" 禁用 per-core 指标。 CloudWatch 代理仅发布未被放入的 CPU 指标的每核指标。drop_original_metrics

emr-hadoop-hdfs-datanode-指标属性

属性 必需 描述 默认值 可能的值
<custom_bean_name> 可选 不适用 MBean 该 CloudWatch 代理应从中收集指标,例如Hadoop:service=DataNode,name=DataNodeActivity。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件示例 JMX YAML 文件中找到示例 MBean 名称及其对应的指标。 一个字符串,其中包含与相关联的以逗号分隔的指标列表。 MBean例如,BlocksCached,BlocksRead
otel.metric.export.interval 可选 收集 Hadoop 指标的频率(以毫秒为单位)。 DataNode "60000" 指定毫秒数的字符串。只接受整数。

emr-hadoop-hdfs-namenode-指标属性

属性 必需 描述 默认值 可能的值
<custom_bean_name> 可选 不适用 MBean 该 CloudWatch 代理应从中收集指标,例如Hadoop:service=NameNode,name=FSNamesystem。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件示例 JMX YAML 文件中找到示例 MBean 名称及其对应的指标。 一个字符串,其中包含与相关联的以逗号分隔的指标列表。 MBean例如,BlockCapacity,CapacityUsedGB
otel.metric.export.interval 可选 收集 Hadoop 指标的频率(以毫秒为单位)。 NameNode "60000" 指定毫秒数的字符串。只接受整数。

emr-hadoop-yarn-nodemanager-指标属性

属性 必需 描述 默认值 可能的值
<custom_bean_name> 可选 不适用 MBean 该 CloudWatch 代理应从中收集指标,例如Hadoop:service=NodeManager,name=NodeManagerMetrics。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件示例 JMX YAML 文件中找到示例 MBean 名称及其对应的指标。 一个字符串,其中包含与相关联的以逗号分隔的指标列表。 MBean例如,MaxCapacity,AllocatedGB
otel.metric.export.interval 可选 收集 Hadoop YARN 指标的频率(以毫秒为单位)。 NodeManager "60000" 指定毫秒数的字符串。只接受整数。

emr-hadoop-yarn-resourcemanager-指标属性

属性 必需 描述 默认值 可能的值
<custom_bean_name> 可选 不适用 MBean 该 CloudWatch 代理应从中收集指标,例如Hadoop:service=ResourceManager,name=PartitionQueueMetrics。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件示例 JMX YAML 文件中找到示例 MBean 名称及其对应的指标。 一个字符串,其中包含与相关联的以逗号分隔的指标列表。 MBean例如,MaxCapacity,MaxCapacityVCores
otel.metric.export.interval 可选 收集 Hadoop YARN 指标的频率(以毫秒为单位)。 ResourceManager "60000" 指定毫秒数的字符串。只接受整数。

emr-hbase-master-metrics 属性

属性 必需 描述 默认值 可能的值
<custom_bean_name> 可选 不适用 MBean 该 CloudWatch 代理应从中收集指标,例如Hadoop:service=HBase,name=Master,sub=AssignmentManager。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件示例 JMX YAML 文件中找到示例 MBean 名称及其对应的指标。 一个字符串,其中包含与相关联的以逗号分隔的指标列表。 MBean例如,AssignFailedCount,AssignSubmittedCount
otel.metric.export.interval 可选 收集 HBase 主指标的频率(以毫秒为单位)。 "60000" 指定毫秒数的字符串。只接受整数。

emr-hbase-region-server-指标属性

属性 必需 描述 默认值 可能的值
<custom_bean_name> 可选 不适用 MBean 该 CloudWatch 代理应从中收集指标,例如Hadoop:service=HBase,name=RegionServer,sub=IPC。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件示例 JMX YAML 文件中找到示例 MBean 名称及其对应的指标。 一个字符串,其中包含与相关联的以逗号分隔的指标列表。 MBean例如,numActiveHandler,numActivePriorityHandler
otel.metric.export.interval 可选 收集 HBase 区域服务器指标的频率(以毫秒为单位)。 "60000" 指定毫秒数的字符串。只接受整数。

emr-hbase-rest-server-指标属性

属性 必需 描述 默认值 可能的值
<custom_bean_name> 可选 不适用 MBean 该 CloudWatch 代理应从中收集指标,例如Hadoop:service=HBase,name=REST。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件示例 JMX YAML 文件中找到示例 MBean 名称及其对应的指标。 一个字符串,其中包含与相关联的以逗号分隔的指标列表。 MBean例如,successfulPut,successfulScanCount
otel.metric.export.interval 可选 收集 HBase Rest Server 指标的频率(以毫秒为单位)。 "60000" 指定毫秒数的字符串。只接受整数。

emr-hbase-thrift-server-指标属性

属性 必需 描述 默认值 可能的值
<custom_bean_name> 可选 不适用 MBean 该 CloudWatch 代理应从中收集指标,例如Hadoop:service=HBase,name=Thrift,sub=ThriftOne。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件示例 JMX YAML 文件中找到示例 MBean 名称及其对应的指标。 一个字符串,其中包含与相关联的以逗号分隔的指标列表。 MBean例如,BatchGet_max,BatchGet_mean
otel.metric.export.interval 可选 收集 T HBase hrift 服务器指标的频率(以毫秒为单位)。 "60000" 指定毫秒数的字符串。只接受整数。

系统指标配置示例

以下示例演示如何将 CloudWatch 代理配置为停止导出所有系统指标。

[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-system-metrics", "Properties": {}, "Configurations": [] } ] } ]

以下示例将 CloudWatch 代理配置为导出默认系统指标。如果您已至少重新配置了一次系统指标,这样是将代理重置为仅导出默认系统指标的快速方法。此重置还会删除之前重新配置的所有应用程序指标。

[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [] } ]

以下示例将集群配置为导出 cpumemdisk 指标。

[ { "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": "" } } ] } ] } ]

前面的示例配置具有以下属性:

  • 每隔 30 秒,代理就会收集所有人的cpu_guest指标 CPUs。您可以在 CloudWatch 命名空间下找到聚合指标CWAgent > cluster.id, instance.id, node.type, service.name

  • 每隔 30 秒,代理就会收集所有人的cpu_idle指标 CPUs。您可以在 CloudWatch 命名空间下找到聚合指标CWAgent > cluster.id, instance.id, node.type, service.name。代理还会收集 per-cpu 指标。可以在同一命名空间中找到。代理收集此指标是因为 drop_original_metrics 属性不包含 cpu_idle,因此代理不会忽略此指标。

  • 代理每 20 秒收集一次 mem_active 指标。您可以在 CloudWatch 命名空间下找到聚合指标CWAgent > cluster.id, instance.id, node.type, service.name

  • 代理每 20 秒收集一次 //mnt 磁盘装载的 disk_used_percent 指标。您可以在 CloudWatch 命名空间下找到聚合指标CWAgent > cluster.id, instance.id, node.type, service.name。代理还会收集 per-mount 指标。可以在同一命名空间中找到。代理收集此指标是因为 drop_original_metrics 属性不包含 disk_used_percent,因此代理不会忽略此指标。

应用程序指标配置示例

以下示例将 CloudWatch 代理配置为停止导出 Hadoop Namenode 服务的指标。

[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-hadoop-hdfs-namenode-metrics", "Properties": {}, "Configurations": [] } ] } ]

以下示例将集群配置为导出 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": [] } ] } ]

前面的示例具有以下属性:

  • 代理每 20 秒会从运行 Hadoop Namenode 服务的实例中收集 BlockCapacityCapacityUsedGB 指标。

  • 代理每 30 秒会从运行 Hadoop Datanode 服务的实例中收集 MemNonHeapUsedM 指标。

  • 代理每 30 秒就会从运行 Hadoop YARN 的实例收集AllocateNumOpsNodeUpdateNumOps指标。 ResourceManaager

Amazon Managed Service for Prometheus 示例

以下示例演示如何配置 CloudWatch 代理以将指标导出到适用于 Prometheus 的亚马逊托管服务。

如果您当前正在将指标导出到 Amazon Managed Service for Prometheus,想要重新配置集群的指标,并继续将指标导出到 Amazon Managed Service for Prometheus,则必须包含属性 metrics_destinationprometheus_endpoint

[ { "Classification": "emr-metrics", "Properties": { "metrics_destination": "prometheus", "prometheus_endpoint": "http://amp-workspace/api/v1/remote_write" }, "Configurations": [] } ]

要使用 CloudWatch 代理将指标导出到 CloudWatch,请使用以下示例。

[ { "Classification": "emr-metrics", "Properties": { "metrics_destination": "cloudwatch" }, "Configurations": [] } ]
注意

CloudWatch 代理有一个 Prometheus 导出器,可以重命名某些属性。对于默认指标标签,亚马逊 Prometheus 托管服务使用下划线字符代替亚马逊使用的句点。 CloudWatch 如果您使用 Amazon Managed Grafana 来可视化 Amazon Managed Service for Prometheus 中的默认指标,则标签将显示为 cluster_idinstance_idnode_typeservice_name

下一主题:

Amazon EMR 7.0.0

上一主题:

配置
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。