CloudWatch によるメトリクスのモニタリング - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CloudWatch によるメトリクスのモニタリング

メトリクスは 5 分ごとに更新され、自動的に収集され、 CloudWatch すべての Amazon EMR クラスター用。この間隔は設定できません。CloudWatch で報告される Amazon EMR メトリクスに料金はかかりません。これらの 5 分のデータポイントメトリクスは 63 日間アーカイブされ、その期間が経過したデータは破棄されます。

Amazon EMR のメトリクスを使用するには、どうすればよいですか?

Amazon EMR で報告されるメトリクスの一般的な使用法を次の表に示します。ここで紹介するのは使用開始するための提案事項であり、総括的な一覧ではありません。Amazon EMR によって報告されるメトリクスの詳細なリストについては、「Amazon EMR によって CloudWatch に報告されるメトリクス」を参照してください。

どうすればよいか? 関連するメトリクス
クラスターの進行を追跡する RunningMapTasksRemainingMapTasksRunningReduceTasks、および RemainingReduceTasks メトリクスを確認します。
アイドル状態のクラスターを検出する IsIdle メトリクスは、クラスターが現在実行されていないライブのタスクかどうかを追跡します。クラスターのアイドル状態の時間が指定した長さ(たとえば、30 分)に達した場合に通知されるようアラームを設定できます。
ノードのストレージがいつ使い果たされるかを検出する -MRUnhealthyNodesメトリックは、1つ以上のコアノードまたはタスク・ノードがローカル・ディスク・ストレージを使い果たし、UNHEALTHYYARN 状態。たとえば、コアノードまたはタスクノードはディスク容量が不足しており、タスクを実行できません。
クラスターのストレージがいつ使い果たされるかを検出する -HDFSUtilizationメトリックは、クラスターの合計 HDFS 容量を監視し、コアノードを追加するにはクラスターのサイズを変更する必要があります。たとえば、HDFS の使用率が高いため、ジョブやクラスターの健全性に影響する可能性があります。
クラスターが減少した容量で実行されている時期を検出する -MRLostNodesメトリクスでは、1 つ以上のコアノードまたはタスクノードがマスターノードと通信できないことを追跡します。たとえば、コアノードまたはタスクノードはマスターノードから到達できません。

詳細については、次を参照してください。NO_SLAVE_LEFT でクラスターが終了し、FAILED_BY_MASTER でコアノードが終了するそしてAWSSupport-AnalyzeEMRlogs

へのアクセス CloudWatch Amazon EMR のメトリクス

Amazon EMR が報告するメトリクスを表示できます。 CloudWatch Amazon EMR コンソールまたは CloudWatch コンソールを使用します。を使用して、メトリクスを取得することもできます。 CloudWatch CLI コマンドmon-get-statsまたは CloudWatchGetMetricStatisticsアピ。CloudWatch を使用した Amazon EMR メトリクスの表示または取得の詳細については、「アマゾン CloudWatch ユーザーガイド

Amazon EMR コンソールにメトリクスを表示するには

  1. で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/

  2. クラスターのメトリクスを表示するには、クラスターを選択して、[Summary] ペインを表示します。

  3. [Monitoring] を選択して、クラスターに関する情報を表示します。[クラスターステータス][マップ/低減][ノードステータス]、または [IO] というタブのいずれか 1 つを選択して、クラスターの進行状況と状態に関するレポートをロードします。

  4. 表示するメトリクスを選択したら、グラフサイズを選択できます。[Start] および [End] フィールドを編集して、特定の時間枠にメトリクスを絞り込みます。

メトリクスにアラームを設定する

Amazon EMR はメトリクスを CloudWatch にプッシュします。つまり、 CloudWatch をクリックして、Amazon EMR メトリックスにアラームを設定します。たとえば、でアラームを設定できます。 CloudWatch HDFS の使用率が 80% を超えた場合にいつでもメールが届くようにします。詳細な手順については、「」を参照してください。の作成または編集 CloudWatch アラームアマゾン CloudWatch ユーザーガイド

Amazon EMR によって CloudWatch に報告されるメトリクス

Amazon EMR がコンソールに報告し、CloudWatch にプッシュするメトリクスを次の表に示します。

Amazon EMR のメトリクス

Amazon EMR は、いくつかのメトリクスのデータを CloudWatch に送信します。すべての Amazon EMR クラスターが、5 分ごとにメトリクスを自動送信します。2 週間分のメトリクスがアーカイブされ、その期間が経過したデータは破棄されます。

AWS/ElasticMapReduce 名前空間には、次のメトリクスが含まれます。

注記

Amazon EMR は、クラスターからメトリクスを取得します。クラスターにアクセスできなくなると、そのクラスターが再度利用できるようになるまでメトリクスは報告されません。

次のメトリクスは、Hadoop 2.x バージョンを実行しているクラスターで使用できます。

メトリクス 説明
クラスターステータス

IsIdle

クラスターが作業を行っていないが、まだ有効で課金されていることを示します。タスクもジョブも実行されていない場合は 1 に設定され、それ以外の場合は 0 に設定されます。この値は 5 分間隔で確認され、値が 1 の場合は、確認時にクラスターがアイドル状態だったことのみを示します。5 分間ずっとアイドル状態だったことを示すわけではありません。誤検出を避けるには、5 分ごとの確認で、複数回連続して値が 1 の場合に通知するようアラームを指定する必要があります。たとえば、30 分間にわたってこの値が 1 だった場合に通知するようアラームを指定できます。

ユースケース: クラスターのパフォーマンスをモニタリングする

単位: [Boolean] (ブール値)

ContainerAllocated

ResourceManager によって割り当てられるリソース コンテナの数。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

ContainerReserved

予約されているコンテナの数。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

ContainerPending

キュー内にあり、まだ割り当てられていないコンテナの数。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

ContainerPendingRatio

割り当てられたコンテナに対する保留中のコンテナの比率 (ContainerPendingRatio = ContainerPending /ContainerAllocated)。もし ContainerAllocated = 0 ContainerPendingRatio = containerPending。の価値 ContainerPendingRatio は、パーセンテージではなく数値を表します。この値は、コンテナ割り当て動作に基づくクラスターリソースのスケーリングに役立ちます。

単位: [Count] (カウント)

AppsCompleted

YARN に送信され、完了したアプリケーションの数。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

AppsFailed

YARN に送信され、完了できなかったアプリケーションの数。

ユースケース: クラスターの進捗状況を監視し、クラスターの状態を監視する

単位: [Count] (カウント)

AppsKilled

YARN に送信され、強制終了されたアプリケーションの数。

ユースケース: クラスターの進捗状況を監視し、クラスターの状態を監視する

単位: [Count] (カウント)

AppsPending

YARN に送信され、保留状態になっているアプリケーションの数。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

AppsRunning

YARN に送信され、実行中であるアプリケーションの数。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

AppsSubmitted

YARN に送信されたアプリケーションの数。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

ノードのステータス

CoreNodesRunning

動作中のコアノードの数。このメトリクスのデータポイントは、対応するインスタンスグループが存在する場合にのみ報告されます。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

CoreNodesPending

割り当て待機中のコアノードの数。リクエストされたすべてのコアノードが直ちに使用可能になるとは限りません。このメトリクスでは、保留中のリクエストを報告します。このメトリクスのデータポイントは、対応するインスタンスグループが存在する場合にのみ報告されます。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

LiveDataNodes

Hadoop から処理を受け取るデータノードの割合。

ユースケース: クラスターの状態を監視する

単位: パーセント

MRTotalNodes

MapReduce ジョブで現在使用できるノードの数。YARN メトリクス mapred.resourcemanager.TotalNodes と同等。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

MRActiveNodes

現在実行しているノードの数 MapReduce タスクまたはジョブ。YARN メトリクス mapred.resourcemanager.NoOfActiveNodes と同等。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

MRLostNodes

に割り当てられているノードの数 MapReduce LOST 状態としてマークされています。YARN メトリクス mapred.resourcemanager.NoOfLostNodes と同等。

ユースケース: クラスターの状態を監視し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

MRUnhealthyNodes

で使用できるノードの数 MapReduce ジョブが異常状態としてマークされています。YARN メトリクス mapred.resourcemanager.NoOfUnhealthyNodes と同等。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

MRDecommissionedNodes

MapReduce アプリケーションに割り当てられており、DECOMMISSIONED 状態としてマークされているノードの数。YARN メトリクス mapred.resourcemanager.NoOfDecommissionedNodes と同等。

ユースケース: クラスターの状態を監視し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

MRRebootedNodes

で使用できるノードの数 MapReduce が再起動され、REBOOTED 状態としてマークされています。YARN メトリクス mapred.resourcemanager.NoOfRebootedNodes と同等。

ユースケース: クラスターの状態を監視し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

MultiMasterInstanceGroupNodesRunning

実行中のマスターノードの数。

ユースケース: マスターノードの障害のモニタリングと置換

単位: [Count] (カウント)

MultiMasterInstanceGroupNodesRunningPercentage

リクエストされたマスターノードインスタンス数で実行中のマスターノードの割合

ユースケース: マスターノードの障害のモニタリングと置換

単位: パーセント

MultiMasterInstanceGroupNodesRequested

リクエストされたマスターノードの数。

ユースケース: マスターノードの障害のモニタリングと置換

単位: [Count] (カウント)

IO

S3BytesWritten

Amazon S3 に書き込まれたバイト数。このメトリックスは集計されます MapReduce ジョブのみで、Amazon EMR の他のワークロードには適用されません。

ユースケース: クラスターのパフォーマンスを分析し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

S3BytesRead

Amazon S3 から読み込まれたバイト数。このメトリックスは集計されます MapReduce ジョブのみで、Amazon EMR の他のワークロードには適用されません。

ユースケース: クラスターのパフォーマンスを分析し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

HDFSUtilization

現在使用されている HDFS ストレージの割合。

ユースケース: クラスターのパフォーマンスをモニタリングする

単位: パーセント

HDFSBytesRead

HDFS からの読み込みバイト数。このメトリックスは集計されます MapReduce ジョブのみで、EMR の他のワークロードには適用されません。

ユースケース: クラスターのパフォーマンスを分析し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

HDFSBytesWritten

HDFS への書き込みバイト数。このメトリックスは集計されます MapReduce ジョブのみで、EMR の他のワークロードには適用されません。

ユースケース: クラスターのパフォーマンスを分析し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

MissingBlocks

HDFS にレプリカがないブロックの数。これらのブロックは破損している可能性があります。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

CorruptBlocks

HDFS が破損しているものと報告するブロックの数。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

TotalLoad

同時データ転送数の合計。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

MemoryTotalMBMemoryTotalMB

クラスターでのメモリの合計量。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

MemoryReservedMB

予約されているメモリの量。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

MemoryAvailableMB

割り当てに使用できるメモリの量。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

YARNMemoryAvailablePercentage

YARN に対する利用可能な残りのメモリの割合 (YARNMemoryAvailablePercentage = MemoryAvailableMB / MemoryTotalMB)。この値は、YARN のメモリの使用状況に基づくクラスターリソースのスケーリングに役立ちます。

単位: パーセント

MemoryAllocatedMB

クラスターに割り当てられているメモリの量。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

PendingDeletionBlocks

削除用にマークされているブロックの数。

ユースケース: クラスターの進捗状況を監視し、クラスターの状態を監視する

単位: [Count] (カウント)

UnderReplicatedBlocks

1 回以上レプリケートする必要があるブロックの数。

ユースケース: クラスターの進捗状況を監視し、クラスターの状態を監視する

単位: [Count] (カウント)

DfsPendingReplicationBlocks

ブロックレプリケーションのステータス: レプリケーション中のブロック、レプリケーションリクエストの有効期間、および成功しなかったレプリケーションリクエスト。

ユースケース: クラスターの進捗状況を監視し、クラスターの状態を監視する

単位: [Count] (カウント)

CapacityRemainingGB

残りの HDFS ディスク容量の合計。

ユースケース: クラスターの進捗状況を監視し、クラスターの状態を監視する

単位: [Count] (カウント)

次に示すのは Hadoop の 1 メトリクスです。

メトリクス 説明
クラスターステータス

IsIdle

クラスターが作業を行っていないが、まだ有効で課金されていることを示します。タスクもジョブも実行されていない場合は 1 に設定され、それ以外の場合は 0 に設定されます。この値は 5 分間隔で確認され、値が 1 の場合は、確認時にクラスターがアイドル状態だったことのみを示します。5 分間ずっとアイドル状態だったことを示すわけではありません。誤検出を避けるには、5 分ごとの確認で、複数回連続して値が 1 の場合に通知するようアラームを指定する必要があります。たとえば、30 分間にわたってこの値が 1 だった場合に通知するようアラームを指定できます。

ユースケース: クラスターのパフォーマンスをモニタリングする

単位: [Boolean] (ブール値)

JobsRunning

クラスターの、現在実行中のジョブの数。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

JobsFailed

クラスターの、失敗したジョブの数。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

マップ/低減

MapTasksRunning

各ジョブの実行マップタスクの数。スケジューラがインストールされ、複数のジョブが実行中の場合は、複数のグラフが生成されます。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

MapTasksRemaining

各ジョブの残存マップタスクの数。スケジューラがインストールされ、複数のジョブが実行中の場合は、複数のグラフが生成されます。残りのマップタスクとは、以下のどの状態にもならないものです。ランニング、キル、または完了。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

MapSlotsOpen

未使用のマップタスクの容量。指定されたクラスターのマップタスクの最大数から、そのクラスターで現在実行中のマップタスクの合計数を差し引いて算出します。

ユースケース: クラスターのパフォーマンスを分析する

単位: [Count] (カウント)

RemainingMapTasksPerSlot

合計残存マップタスク数と、クラスター内で使用できる合計マップスロット数の比率。

ユースケース: クラスターのパフォーマンスを分析する

単位: Ratio

ReduceTasksRunning

各ジョブの実行削減タスクの数。スケジューラがインストールされ、複数のジョブが実行中の場合は、複数のグラフが生成されます。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

ReduceTasksRemaining

各ジョブの残存削減タスクの数。スケジューラがインストールされ、複数のジョブが実行中の場合は、複数のグラフが生成されます。

ユースケース: クラスターの進行状況をモニタリングする

単位: [Count] (カウント)

ReduceSlotsOpen

未使用の削減タスクの容量。指定されたクラスターの削減タスクの最大キャパシティーから、そのクラスターで現在実行中の削減タスクの数を差し引いて算出します。

ユースケース: クラスターのパフォーマンスを分析する

単位: [Count] (カウント)

ノードのステータス

CoreNodesRunning

動作中のコアノードの数。このメトリクスのデータポイントは、対応するインスタンスグループが存在する場合にのみ報告されます。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

CoreNodesPending

割り当て待機中のコアノードの数。リクエストされたすべてのコアノードが直ちに使用可能になるとは限りません。このメトリクスでは、保留中のリクエストを報告します。このメトリクスのデータポイントは、対応するインスタンスグループが存在する場合にのみ報告されます。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

LiveDataNodes

Hadoop から処理を受け取るデータノードの割合。

ユースケース: クラスターの状態を監視する

単位: パーセント

TaskNodesRunning

動作中のタスクノードの数。このメトリクスのデータポイントは、対応するインスタンスグループが存在する場合にのみ報告されます。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

TaskNodesPending

割り当て待機中のタスクノードの数。リクエストされたすべてのタスクノードが直ちに使用可能になるとは限りません。このメトリクスでは、保留中のリクエストを報告します。このメトリクスのデータポイントは、対応するインスタンスグループが存在する場合にのみ報告されます。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

LiveTaskTrackers

機能しているタスクトラッカーの割合。

ユースケース: クラスターの状態を監視する

単位: パーセント

IO

S3BytesWritten

Amazon S3 に書き込まれたバイト数。このメトリックスは集計されます MapReduce ジョブのみで、Amazon EMR の他のワークロードには適用されません。

ユースケース: クラスターのパフォーマンスを分析し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

S3BytesRead

Amazon S3 から読み込まれたバイト数。このメトリックスは集計されます MapReduce ジョブのみで、Amazon EMR の他のワークロードには適用されません。

ユースケース: クラスターのパフォーマンスを分析し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

HDFSUtilization

現在使用されている HDFS ストレージの割合。

ユースケース: クラスターのパフォーマンスを分析する

単位: パーセント

HDFSBytesRead

HDFS からの読み込みバイト数。

ユースケース: クラスターのパフォーマンスを分析し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

HDFSBytesWritten

HDFS への書き込みバイト数。

ユースケース: クラスターのパフォーマンスを分析し、クラスターの進捗状況を監視する

単位: [Count] (カウント)

MissingBlocks

HDFS にレプリカがないブロックの数。これらのブロックは破損している可能性があります。

ユースケース: クラスターの状態を監視する

単位: [Count] (カウント)

TotalLoad

すべての人が報告した読者とライターの現在の合計数 DataNodes クラスタ内にある。

ユースケース: 高い I/O がジョブ実行パフォーマンスの低下につながる可能性の度合いを診断します。を実行するワーカーノード DataNode デーモンは、map タスクと Reduce タスクも実行する必要があります。永続的に高い TotalLoad 時間の経過に伴う値は、高い I/O がパフォーマンスの低下の原因となる可能性があることを示します。この値の一時的なスパイクは一般的なものであり、通常問題を示すものではありません。

単位: [Count] (カウント)

クラスター容量メトリクス

次のメトリクスは、クラスターの現在の容量またはターゲットの容量を示します。これらのメトリクスは、マネージドスケーリングまたは自動終了が有効になっているときにのみ使用できます。

インスタンスフリートで構成されるクラスターの場合、クラスター容量のメトリクスは Units 単位で測定されます。インスタンスグループで構成されるクラスターの場合、クラスター容量のメトリクスは、マネージドスケーリングポリシーで使用される単位タイプに基づき、Nodes 単位または VCPU 単位で測定されます。詳細については、「Amazon EMR 管理ガイド」の「EMR マネージドスケーリングの使用」を参照してください。

メトリクス 説明
  • TotalUnitsRequested

  • TotalNodesRequested

  • TotalVCPURequested

マネージドスケーリングによって決定された、クラスター内の単位/ノード/vCPU の合計ターゲット数。

単位: [Count] (カウント)

  • TotalUnitsRunning

  • TotalNodesRunning

  • TotalVCPURunning

実行中のクラスターで使用可能な単位/ノード/vCPU の現在の合計数。クラスターのサイズ変更がリクエストされると、クラスターに新しいインスタンスが追加または削除された後に、このメトリクスが更新されます。

単位: [Count] (カウント)

  • CoreUnitsRequested

  • CoreNodesRequested

  • CoreVCPURequested

マネージドスケーリングによって決定された、クラスター内の CORE 単位/ノード/vCPU のターゲット数。

単位: [Count] (カウント)

  • CoreUnitsRunning

  • CoreNodesRunning

  • CoreVCPURunning

クラスターで実行されている CORE 単位/ノード/vCPU の現在の数。

単位: [Count] (カウント)

  • TaskUnitsRequested

  • TaskNodesRequested

  • TaskVCPURequested

マネージドスケーリングによって決定された、クラスター内の TASK 単位/ノード/vCPU のターゲット数。

単位: [Count] (カウント)

  • TaskUnitsRunning

  • TaskNodesRunning

  • TaskVCPURunning

クラスターで実行されている TASK 単位/ノード/vCPU の現在の数。

単位: [Count] (カウント)

Amazon EMR は、自動終了ポリシーを使用して自動終了を有効にすると、次のメトリクスを 1 分単位で出力します。一部のメトリクスは Amazon EMR バージョン 6.4.0 以降でのみ利用できます。自動終了の詳細については、「自動終了ポリシーを使用する」を参照してください。

メトリクス 説明
TotalNotebookKernels クラスターで実行中とアイドル状態のノートブックカーネルの合計数。

このメトリクスは Amazon EMR バージョン 6.4.0 以降でのみ利用できます。

AutoTerminationIsClusterIdle クラスターが使用中かどうかを示します。

0 は、クラスターが次のコンポーネントのいずれかによってアクティブに使用されていることを示します。

  • YARN アプリケーション

  • HDFS

  • ノートブック

  • Spark History Server などのクラスター上の UI

1 は、クラスターがアイドル状態であることを示します。Amazon EMR は、クラスターの連続的なアイドル状態 (AutoTerminationIsClusterIdle = 1) を検査します。クラスターのアイドル時間が自動終了ポリシーの IdleTimeout 値と等しくなると、Amazon EMR はクラスターを終了します。

Amazon EMR メトリクスのディメンション

Amazon EMR データは、次の表のいずれかのディメンションを使用してフィルタリングできます。

ディメンション 説明
JobFlowId クラスター ID と同一で、j-XXXXXXXXXXXXX という形式のクラスターの一意の識別子です。この値を見つけるには、Amazon EMR コンソールでクラスターをクリックします。
JobId クラスター内のジョブの識別子。これを使用してクラスターから返されたメトリクスをフィルタリングし、クラスター内の単一のジョブに適用されるメトリクスに絞り込むことかできます。 JobId Job_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX