

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

# 为亚马逊 EMR 7.1.0 配置 CloudWatch 代理
<a name="AmazonCloudWatchAgent-config-710"></a>

从 Amazon EMR 7.1.0 开始，您可以使用亚马逊 EMR 配置 API 将亚马逊 CloudWatch 代理配置为使用其他系统指标、添加应用程序指标和更改指标目标。有关如何使用 EMR 配置 API 来配置集群应用程序的更多信息，请参阅[配置应用程序](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html)。

**注意**  
7.1.0 仅支持重新配置类型 `OVERWRITE`。有关重新配置类型的更多信息，请参阅[重新配置实例组时的注意事项](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps-running-cluster.html#emr-configure-apps-running-cluster-considerations)。

**Topics**
+ [配置架构](#AmazonCloudWatchAgent-config-710-config-schema)
+ [系统指标配置示例](#AmazonCloudWatchAgent-config-710-system-examples)
+ [应用程序指标配置示例](#AmazonCloudWatchAgent-config-710-application-examples)
+ [Amazon Managed Service for Prometheus 示例](#AmazonCloudWatchAgent-config-710-prometheus-examples)

## 配置架构
<a name="AmazonCloudWatchAgent-config-710-config-schema"></a>

`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 主 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\$1destination | 可选 | 确定集群指标是发布到亚马逊 CloudWatch 还是发布到亚马逊 Prometheus 托管服务。 | "CLOUDWATCH" | "CLOUDWATCH"、"PROMETHEUS" | 此属性不区分大小写。例如，"Cloudwatch" 与 "CLOUDWATCH" 相同。 | 
| prometheus\$1endpoint | 可选 | 如果设置metrics\$1destination为 “PROMETHEUS”，则此属性将 CloudWatch 代理配置为向提供的亚马逊托管服务 Prometheus 远程写入端点发送指标。 | 不适用 | 任何有效的 Amazon Managed Service for Prometheus 远程写入 URL。远程写入 URL 格式为 <pre>https://aps-workspaces.<region>.amazonaws.com/workspaces/<workspace_id>/api/v1/remote_write</pre> | 如果 metrics\$1destination 设置为 "PROMETHEUS"，则该字段为必填字段。如果未提供键或如果值为空字符串，则预置将失败。 | 

**emr-system-metrics 属性**


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics\$1collection\$1interval | 可选 | 从 CloudWatch 代理收集和发布指标的频率（以秒为单位）。 | "60" | 指定秒数的字符串。只接受整数。 | 您可以使用各个指标组中的 metrics\$1collection\$1interval 属性来覆盖此属性。 | 

**emr-system-metrics 配置**

------
#### [ cpu ]


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics | 可选 | 代理要收集的 CPU 指标列表。 | [使用 Amazon EMR 查看 CloudWatch 代理的默认指标](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) | 以逗号分隔的有效 CPU 指标名称列表，带或不带 cpu\$1 前缀，比如 usage\$1active 和 cpu\$1time\$1idle。有关有效[指标，请参阅 CloudWatch 代理收集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)的指标。 | 指定空字符串意味着不发布任何 CPU 指标。 | 
| metrics\$1collection\$1interval | 可选 | 代理应收集和发布 CPU 指标的频率（秒）。 | 全局 metrics\$1collection\$1interval 的值。 | 指定秒数的字符串。只接受整数。 | 此值仅会覆盖 CPU 指标的全局 metrics\$1collection\$1interval 属性。 | 
| drop\$1original\$1metrics | 可选 | 不发布未聚合指标的 CPU 指标列表。 | 不发布未聚合的 CPU 指标。 | 以逗号分隔的 CPU 指标列表，这些指标也在 metrics 属性中指定。空字符串表示发布所有 CPU 指标。 |  CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下， CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。 | 
| resources | 可选 | 确定代理是否发布 per-core 指标。 | "\$1" | "\$1" 启用 per-core 指标。"" 禁用 per-core 指标。 | 该 CloudWatch 代理仅发布未被放入的 CPU 指标的每核指标。drop\$1original\$1metrics | 

------
#### [ disk ]


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics | 可选 | 代理要收集的磁盘指标列表。 | [使用 Amazon EMR 查看 CloudWatch 代理的默认指标](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) | 以逗号分隔的有效磁盘指标名称列表，带或不带 disk\$1 前缀，比如 disk\$1total 和 used\$1percent。有关有效[指标，请参阅 CloudWatch 代理收集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)的指标。 | 指定空字符串意味着不发布任何磁盘指标。 | 
| metrics\$1collection\$1interval | 可选 | 代理应收集和发布磁盘指标的频率（秒）。 | 全局 metrics\$1collection\$1interval 的值。 | 指定秒数的字符串。只接受整数。 | 此值仅会覆盖磁盘指标的全局 metrics\$1collection\$1interval 属性。 | 
| drop\$1original\$1metrics | 可选 | 不发布未聚合指标的磁盘指标列表。 | 不发布未聚合的磁盘指标。 | 以逗号分隔的磁盘指标列表，这些指标也在 metrics 属性中指定。空字符串表示发布所有磁盘指标。 |  CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下， CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。 | 
| resources | 可选 | 确定代理是否将发布 per-mount-point指标。 | "\$1" | "\$1" 表示所有挂载点，"" 表示没有挂载点，或以逗号分隔的挂载点列表。例如 "/,/emr"。 |  CloudWatch 代理仅发布 per-mount-point未放入的磁盘指标的指标drop\$1original\$1metrics。 | 

------
#### [ diskio ]


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics | 可选 | 代理要收集的磁盘 IO 指标列表。 | [使用 Amazon EMR 查看 CloudWatch 代理的默认指标](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) | 以逗号分隔的有效磁盘 IO 指标名称列表，带或不带 diskio\$1 前缀，比如 diskio\$1reads 和 writes。有关有效[指标，请参阅 CloudWatch 代理收集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)的指标。 | 指定空字符串意味着不发布任何磁盘 IO 指标。 | 
| metrics\$1collection\$1interval | 可选 | 代理应收集和发布磁盘 IO 指标的频率（秒）。 | 全局 metrics\$1collection\$1interval 的值。 | 指定秒数的字符串。只接受整数。 | 此值仅会覆盖磁盘 IO 指标的全局 metrics\$1collection\$1interval 属性。 | 
| drop\$1original\$1metrics | 可选 | 不发布未聚合指标的磁盘 IO 指标列表。 | 不发布未聚合的磁盘 IO 指标。 | 以逗号分隔的磁盘 IO 指标列表，这些指标也在 metrics 属性中指定。空字符串表示发布所有磁盘 IO 指标。 |  CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下， CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。 | 
| resources | 可选 | 确定代理是否发布 per-device 指标。 | "\$1" | "\$1" 表示所有存储设备，"" 表示没有存储设备，或以逗号分隔的设备名称列表。例如 "nvme0n1,nvme1n1"。 |  CloudWatch 代理仅发布未放入的磁盘 IO 指标的每台设备指标。drop\$1original\$1metrics | 

------
#### [ mem ]


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics | 可选 | 代理要收集的内存指标列表。 | [使用 Amazon EMR 查看 CloudWatch 代理的默认指标](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) | 以逗号分隔的有效内存指标名称列表，带或不带 mem\$1 前缀，比如 mem\$1available 和 available\$1percent。有关有效[指标，请参阅 CloudWatch 代理收集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)的指标。 | 指定空字符串意味着不发布任何内存指标。 | 
| metrics\$1collection\$1interval | 可选 | 代理应收集和发布内存指标的频率（秒）。 | 全局 metrics\$1collection\$1interval 的值。 | 指定秒数的字符串。只接受整数。 | 此值仅会覆盖内存指标的全局 metrics\$1collection\$1interval 属性。 | 

------
#### [ net ]


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics | 可选 | 代理要收集的网络指标列表。 | [使用 Amazon EMR 查看 CloudWatch 代理的默认指标](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) | 以逗号分隔的有效网络指标名称列表，带或不带 net\$1 前缀，比如 net\$1packets\$1sent 和 packets\$1recv。有关有效[指标，请参阅 CloudWatch 代理收集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)的指标。 | 指定空字符串意味着不发布任何网络指标。 | 
| metrics\$1collection\$1interval | 可选 | 代理应收集和发布网络指标的频率（秒）。 | 全局 metrics\$1collection\$1interval 的值。 | 指定秒数的字符串。只接受整数。 | 此值仅会覆盖网络指标的全局 metrics\$1collection\$1interval 属性。 | 
| drop\$1original\$1metrics | 可选 | 不发布未聚合指标的网络指标列表。 | 不发布未聚合的网络指标。 | 以逗号分隔的网络指标列表，这些指标也在 metrics 属性中指定。空字符串表示发布所有网络指标。 |  CloudWatch 代理按集群 ID、实例 ID、节点类型和服务名称汇总所有指标。默认情况下， CloudWatch 代理不会为具有多个资源的指标发布每种资源的指标。 | 
| resources | 可选 | 确定代理是否发布 per-interface 指标。 | "\$1" | "\$1" 表示所有网络接口，"" 表示没有网络接口，或以逗号分隔的接口名称列表。例如 "eth0,eth1"。 |  CloudWatch 代理仅发布未放入的网络指标的每个接口指标。drop\$1original\$1metrics | 

------
#### [ netstat ]


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics | 可选 | 代理要收集的网络统计数据列表。 | [使用 Amazon EMR 查看 CloudWatch 代理的默认指标](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) | 以逗号分隔的有效内存指标名称列表，带或不带 netstat\$1 前缀，比如 tcp\$1listen 和 netstat\$1udp\$1socket。有关有效[指标，请参阅 CloudWatch 代理收集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)的指标。 | 指定空字符串意味着不发布任何网络统计数据指标。 | 
| metrics\$1collection\$1interval | 可选 | 代理应收集和发布网络统计数据指标的频率（秒）。 | 全局 metrics\$1collection\$1interval 的值。 | 指定秒数的字符串。只接受整数。 | 此值仅会覆盖网络统计数据指标的全局 metrics\$1collection\$1interval 属性。 | 

------
#### [ processes ]


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics | 可选 | 代理要收集的进程指标列表。 | [使用 Amazon EMR 查看 CloudWatch 代理的默认指标](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) | 以逗号分隔的有效内存指标名称列表，带或不带 processes\$1 前缀，比如 processes\$1running 和 total。有关有效[指标，请参阅 CloudWatch 代理收集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)的指标。 | 指定空字符串意味着不发布任何进程指标。 | 
| metrics\$1collection\$1interval | 可选 | 代理应收集和发布系统进程指标的频率（秒）。 | 全局 metrics\$1collection\$1interval 的值。 | 指定秒数的字符串。只接受整数。 | 此值仅会覆盖系统进程指标的全局 metrics\$1collection\$1interval 属性。 | 

------
#### [ swap ]


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 注意 | 
| --- | --- | --- | --- | --- | --- | 
| metrics | 可选 | 代理要收集的交换指标列表。 | [使用 Amazon EMR 查看 CloudWatch 代理的默认指标](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) | 以逗号分隔的有效内存指标名称列表，带或不带 swap\$1 前缀，比如 swap\$1free 和 used\$1percent。有关有效[指标，请参阅 CloudWatch 代理收集](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent)的指标。 | 指定空字符串意味着不发布任何交换指标。 | 
| metrics\$1collection\$1interval | 可选 | 代理应收集和发布交换指标的频率（秒）。 | 全局 metrics\$1collection\$1interval 的值。 | 指定秒数的字符串。只接受整数。 | 此值仅会覆盖交换指标的全局 metrics\$1collection\$1interval 属性。 | 

------

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


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 
| --- | --- | --- | --- | --- | 
| <custom\$1bean\$1name> | 可选 | 不适用 |  MBean 该 CloudWatch 代理应从中收集指标，例如Hadoop:service=DataNode,name=DataNodeActivity。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件[示例 JMX YAML 文件](https://github.com/aws-samples/aws-emr-utilities/tree/main/applications/cloudwatch-agent/configuration/7.0/application-metrics/mappings)中找到示例 MBean 名称及其对应的指标。 | 一个字符串，其中包含与相关联的以逗号分隔的指标列表。 MBean例如 BlocksCached,BlocksRead。 | 
| otel.metric.export.interval | 可选 | 收集 Hadoop 指标的频率（以毫秒为单位）。 DataNode  | "60000" | 指定毫秒数的字符串。只接受整数。 | 

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


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 
| --- | --- | --- | --- | --- | 
| <custom\$1bean\$1name> | 可选 | 不适用 |  MBean 该 CloudWatch 代理应从中收集指标，例如Hadoop:service=NameNode,name=FSNamesystem。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件[示例 JMX YAML 文件](https://github.com/aws-samples/aws-emr-utilities/tree/main/applications/cloudwatch-agent/configuration/7.0/application-metrics/mappings)中找到示例 MBean 名称及其对应的指标。 | 一个字符串，其中包含与相关联的以逗号分隔的指标列表。 MBean例如 BlockCapacity,CapacityUsedGB。 | 
| otel.metric.export.interval | 可选 | 收集 Hadoop 指标的频率（以毫秒为单位）。 NameNode  | "60000" | 指定毫秒数的字符串。只接受整数。 | 

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


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 
| --- | --- | --- | --- | --- | 
| <custom\$1bean\$1name> | 可选 | 不适用 |  MBean 该 CloudWatch 代理应从中收集指标，例如Hadoop:service=NodeManager,name=NodeManagerMetrics。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件[示例 JMX YAML 文件](https://github.com/aws-samples/aws-emr-utilities/tree/main/applications/cloudwatch-agent/configuration/7.0/application-metrics/mappings)中找到示例 MBean 名称及其对应的指标。 | 一个字符串，其中包含与相关联的以逗号分隔的指标列表。 MBean例如 MaxCapacity,AllocatedGB。 | 
| otel.metric.export.interval | 可选 | 收集 Hadoop YARN 指标的频率（以毫秒为单位）。 NodeManager  | "60000" | 指定毫秒数的字符串。只接受整数。 | 

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


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 
| --- | --- | --- | --- | --- | 
| <custom\$1bean\$1name> | 可选 | 不适用 |  MBean 该 CloudWatch 代理应从中收集指标，例如Hadoop:service=ResourceManager,name=PartitionQueueMetrics。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件[示例 JMX YAML 文件](https://github.com/aws-samples/aws-emr-utilities/tree/main/applications/cloudwatch-agent/configuration/7.0/application-metrics/mappings)中找到示例 MBean 名称及其对应的指标。 | 一个字符串，其中包含与相关联的以逗号分隔的指标列表。 MBean例如 MaxCapacity,MaxCapacityVCores。 | 
| otel.metric.export.interval | 可选 | 收集 Hadoop YARN 指标的频率（以毫秒为单位）。 ResourceManager  | "60000" | 指定毫秒数的字符串。只接受整数。 | 

**emr-hbase-master-metrics 属性**


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 
| --- | --- | --- | --- | --- | 
| <custom\$1bean\$1name> | 可选 | 不适用 |  MBean 该 CloudWatch 代理应从中收集指标，例如Hadoop:service=HBase,name=Master,sub=AssignmentManager。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件[示例 JMX YAML 文件](https://github.com/aws-samples/aws-emr-utilities/tree/main/applications/cloudwatch-agent/configuration/7.0/application-metrics/mappings)中找到示例 MBean 名称及其对应的指标。 | 一个字符串，其中包含与相关联的以逗号分隔的指标列表。 MBean例如 AssignFailedCount,AssignSubmittedCount。 | 
| otel.metric.export.interval | 可选 | 收集 HBase 主指标的频率（以毫秒为单位）。 | "60000" | 指定毫秒数的字符串。只接受整数。 | 

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


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 
| --- | --- | --- | --- | --- | 
| <custom\$1bean\$1name> | 可选 | 不适用 |  MBean 该 CloudWatch 代理应从中收集指标，例如Hadoop:service=HBase,name=RegionServer,sub=IPC。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件[示例 JMX YAML 文件](https://github.com/aws-samples/aws-emr-utilities/tree/main/applications/cloudwatch-agent/configuration/7.0/application-metrics/mappings)中找到示例 MBean 名称及其对应的指标。 | 一个字符串，其中包含与相关联的以逗号分隔的指标列表。 MBean例如 numActiveHandler,numActivePriorityHandler。 | 
| otel.metric.export.interval | 可选 | 收集 HBase 区域服务器指标的频率（以毫秒为单位）。 | "60000" | 指定毫秒数的字符串。只接受整数。 | 

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


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 
| --- | --- | --- | --- | --- | 
| <custom\$1bean\$1name> | 可选 | 不适用 |  MBean 该 CloudWatch 代理应从中收集指标，例如Hadoop:service=HBase,name=REST。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件[示例 JMX YAML 文件](https://github.com/aws-samples/aws-emr-utilities/tree/main/applications/cloudwatch-agent/configuration/7.0/application-metrics/mappings)中找到示例 MBean 名称及其对应的指标。 | 一个字符串，其中包含与相关联的以逗号分隔的指标列表。 MBean例如 successfulPut,successfulScanCount。 | 
| otel.metric.export.interval | 可选 | 收集 HBase Rest Server 指标的频率（以毫秒为单位）。 | "60000" | 指定毫秒数的字符串。只接受整数。 | 

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


| 属性 | 必需 | 说明 | 默认 值 | 可能的值 | 
| --- | --- | --- | --- | --- | 
| <custom\$1bean\$1name> | 可选 | 不适用 |  MBean 该 CloudWatch 代理应从中收集指标，例如Hadoop:service=HBase,name=Thrift,sub=ThriftOne。您可以在 Amazon EMR 7.0 版本的 JMX YAML 文件[示例 JMX YAML 文件](https://github.com/aws-samples/aws-emr-utilities/tree/main/applications/cloudwatch-agent/configuration/7.0/application-metrics/mappings)中找到示例 MBean 名称及其对应的指标。 | 一个字符串，其中包含与相关联的以逗号分隔的指标列表。 MBean例如 BatchGet\$1max,BatchGet\$1mean。 | 
| otel.metric.export.interval | 可选 | 收集 T HBase hrift 服务器指标的频率（以毫秒为单位）。 | "60000" | 指定毫秒数的字符串。只接受整数。 | 

## 系统指标配置示例
<a name="AmazonCloudWatchAgent-config-710-system-examples"></a>

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

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

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

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

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

前面的示例配置具有以下属性：
+ 代理每 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`，因此代理不会忽略此指标。

## 应用程序指标配置示例
<a name="AmazonCloudWatchAgent-config-710-application-examples"></a>

以下示例将 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 服务的实例中收集 `BlockCapacity` 和 `CapacityUsedGB` 指标。
+ 代理每 30 秒会从运行 Hadoop Datanode 服务的实例中收集 `MemNonHeapUsedM` 指标。
+ 代理每 30 秒就会从运行 Hadoop YARN 的实例收集`AllocateNumOps`和`NodeUpdateNumOps`指标。 ResourceManaager

## Amazon Managed Service for Prometheus 示例
<a name="AmazonCloudWatchAgent-config-710-prometheus-examples"></a>

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

如果您当前正在将指标导出到 Amazon Managed Service for Prometheus，想要重新配置集群的指标，并继续将指标导出到 Amazon Managed Service for Prometheus，则必须包含属性 `metrics_destination` 和 `prometheus_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_id`、`instance_id`、`node_type` 和 `service_name`。