기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EMR 7.1.0용 CloudWatch 에이전트 구성
Amazon EMR 7.1.0부터 Amazon EMR 구성 API를 사용하여 추가 시스템 지표를 사용하고, 애플리케이션 지표를 추가하며, 지표 대상을 변경하도록 Amazon 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 서버 JMX 지표 구성
다음 표에서는 모든 분류에 대해 사용 가능한 속성 및 구성을 설명합니다.
emr-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 | Notes |
---|---|---|---|---|---|
metrics_destination |
선택 사항 | 클러스터 지표가 Amazon CloudWatch 또는 Amazon Managed Service for Prometheus에 게시되는지 여부를 결정합니다. | "CLOUDWATCH" | "CLOUDWATCH", "PROMETHEUS" | 이 속성은 대소문자를 구분하지 않습니다. 예를 들어 "Cloudwatch"는 "CLOUDWATCH"와 동일합니다. |
prometheus_endpoint |
선택 사항 | metrics_destination 이 "PROMETHEUS"로 설정된 경우 이 속성은 제공된 Amazon Managed Service for Prometheus 원격 쓰기 엔드포인트로 지표를 전송하도록 CloudWatch 에이전트를 구성합니다. |
N/A | 유효한 Amazon Managed Service for Prometheus 원격 쓰기 URL. 원격 쓰기 URL 형식은 다음과 같습니다.
|
metrics_destination 이 "PROMETHEUS"로 설정된 경우 이 필드는 필수입니다. 키를 제공하지 않거나 값이 빈 문자열인 경우 프로비저닝이 실패합니다. |
emr-system-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 | Notes |
---|---|---|---|---|---|
metrics_collection_interval |
선택 사항 | CloudWatch 에이전트에서 지표를 수집 및 게시하는 빈도(초 단위). | "60" | 초 수를 지정하는 문자열. 정수만 수락합니다. | 개별 지표 그룹의 속성으로 이 metrics_collection_interval 속성을 재정의할 수 있습니다. |
emr-system-metrics 구성
emr-hadoop-hdfs-datanode-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|---|
|
선택 사항 | N/A | CloudWatch 에이전트에서 지표를 수집해야 하는 MBean(예: Hadoop:service=DataNode,name=DataNodeActivity ). Amazon EMR 릴리스 7.0에 대한 JMX YAML 파일 예제 |
MBean과 연결된 쉼표로 구분된 지표 목록을 포함하는 문자열. 예를 들어 BlocksCached,BlocksRead 입니다. |
otel.metric.export.interval |
선택 사항 | Hadoop DataNode 지표를 수집하는 빈도(밀리초 단위). | "60000" | 밀리초 수를 지정하는 문자열. 정수만 수락합니다. |
emr-hadoop-hdfs-namenode-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|---|
|
선택 사항 | N/A | CloudWatch 에이전트에서 지표를 수집해야 하는 MBean(예: Hadoop:service=NameNode,name=FSNamesystem ). Amazon EMR 릴리스 7.0에 대한 JMX YAML 파일 예제 |
MBean과 연결된 쉼표로 구분된 지표 목록을 포함하는 문자열. 예를 들어 BlockCapacity,CapacityUsedGB 입니다. |
otel.metric.export.interval |
선택 사항 | Hadoop NameNode 지표를 수집하는 빈도(밀리초 단위). | "60000" | 밀리초 수를 지정하는 문자열. 정수만 수락합니다. |
emr-hadoop-yarn-nodemanager-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|---|
|
선택 사항 | N/A | CloudWatch 에이전트에서 지표를 수집해야 하는 MBean(예: Hadoop:service=NodeManager,name=NodeManagerMetrics ). Amazon EMR 릴리스 7.0에 대한 JMX YAML 파일 예제 |
MBean과 연결된 쉼표로 구분된 지표 목록을 포함하는 문자열. 예를 들어 MaxCapacity,AllocatedGB 입니다. |
otel.metric.export.interval |
선택 사항 | Hadoop YARN NodeManager 지표를 수집하는 빈도(밀리초 단위). | "60000" | 밀리초 수를 지정하는 문자열. 정수만 수락합니다. |
emr-hadoop-yarn-resourcemanager-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|---|
|
선택 사항 | N/A | CloudWatch 에이전트에서 지표를 수집해야 하는 MBean(예: Hadoop:service=ResourceManager,name=PartitionQueueMetrics ). Amazon EMR 릴리스 7.0에 대한 JMX YAML 파일 예제 |
MBean과 연결된 쉼표로 구분된 지표 목록을 포함하는 문자열. 예를 들어 MaxCapacity,MaxCapacityVCores 입니다. |
otel.metric.export.interval |
선택 사항 | Hadoop YARN ResourceManager 지표를 수집하는 빈도(밀리초 단위). | "60000" | 밀리초 수를 지정하는 문자열. 정수만 수락합니다. |
emr-hbase-master-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|---|
|
선택 사항 | N/A | CloudWatch 에이전트에서 지표를 수집해야 하는 MBean(예: Hadoop:service=HBase,name=Master,sub=AssignmentManager ). Amazon EMR 릴리스 7.0에 대한 JMX YAML 파일 예제 |
MBean과 연결된 쉼표로 구분된 지표 목록을 포함하는 문자열. 예를 들어 AssignFailedCount,AssignSubmittedCount 입니다. |
otel.metric.export.interval |
선택 사항 | HBase Master 지표를 수집하는 빈도(밀리초 단위). | "60000" | 밀리초 수를 지정하는 문자열. 정수만 수락합니다. |
emr-hbase-region-server-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|---|
|
선택 사항 | N/A | CloudWatch 에이전트에서 지표를 수집해야 하는 MBean(예: Hadoop:service=HBase,name=RegionServer,sub=IPC ). Amazon EMR 릴리스 7.0에 대한 JMX YAML 파일 예제 |
MBean과 연결된 쉼표로 구분된 지표 목록을 포함하는 문자열. 예를 들어 numActiveHandler,numActivePriorityHandler 입니다. |
otel.metric.export.interval |
선택 사항 | HBase 리전 서버 지표를 수집하는 빈도(밀리초 단위). | "60000" | 밀리초 수를 지정하는 문자열. 정수만 수락합니다. |
emr-hbase-rest-server-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|---|
|
선택 사항 | N/A | CloudWatch 에이전트에서 지표를 수집해야 하는 MBean(예: Hadoop:service=HBase,name=REST ). Amazon EMR 릴리스 7.0에 대한 JMX YAML 파일 예제 |
MBean과 연결된 쉼표로 구분된 지표 목록을 포함하는 문자열. 예를 들어 successfulPut,successfulScanCount 입니다. |
otel.metric.export.interval |
선택 사항 | HBase Rest Server 지표를 수집하는 빈도(밀리초 단위). | "60000" | 밀리초 수를 지정하는 문자열. 정수만 수락합니다. |
emr-hbase-thrift-server-metrics 속성
속성 | 필수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|---|
|
선택 사항 | N/A | CloudWatch 에이전트에서 지표를 수집해야 하는 MBean(예: Hadoop:service=HBase,name=Thrift,sub=ThriftOne ). Amazon EMR 릴리스 7.0에 대한 JMX YAML 파일 예제 |
MBean과 연결된 쉼표로 구분된 지표 목록을 포함하는 문자열. 예를 들어 BatchGet_max,BatchGet_mean 입니다. |
otel.metric.export.interval |
선택 사항 | HBase Thrift 서버 지표를 수집하는 빈도(밀리초 단위). | "60000" | 밀리초 수를 지정하는 문자열. 정수만 수락합니다. |
시스템 지표 구성 예제
다음 예제에서는 모든 시스템 지표 내보내기를 중지하도록 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에 대해
cpu_guest
지표를 수집합니다. CloudWatch 네임스페이스CWAgent > cluster.id, instance.id, node.type, service.name
에서 집계된 지표를 찾을 수 있습니다. -
에이전트는 30초마다 모든 CPU에 대해
cpu_idle
지표를 수집합니다. CloudWatch 네임스페이스CWAgent > cluster.id, instance.id, node.type, service.name
에서 집계된 지표를 찾을 수 있습니다. 에이전트는 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
에서 집계된 지표를 찾을 수 있습니다. 에이전트는 탑재당 지표도 수집합니다. 동일한 네임스페이스에서 이를 찾을 수 있습니다.drop_original_metrics
속성에disk_used_percent
가 포함되어 있지 않으므로 에이전트는 이 지표를 수집합니다. 에이전트는 지표를 무시하지 않습니다.
애플리케이션 지표 구성 예제
다음 예제에서는 Hadoop Namenode 서비스에 대한 지표 내보내기를 중지하도록 CloudWatch 에이전트를 구성합니다.
[ { "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 ResourceManager 실행하는 인스턴스에서
AllocateNumOps
및NodeUpdateNumOps
지표를 수집합니다.
Amazon Managed Service for Prometheus 예제
다음 예제에서는 Amazon Managed Service for Prometheus로 지표를 전송하도록 CloudWatch 에이전트를 구성하는 방법을 보여줍니다.
현재 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 익스포터가 있습니다. Amazon Managed Service for Prometheus는 기본 지표 레이블의 경우 Amazon CloudWatch에서 사용하는 기간 대신 밑줄 문자를 사용합니다. Amazon Managed Grafana를 사용하여 Amazon Managed Service for Prometheus에서 기본 지표를 시각화하는 경우 레이블은 cluster_id
, instance_id
, node_type
및 service_name
으로 표시됩니다.