CloudWatch を使ったメトリクスのモニタリング - Amazon EMR

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

CloudWatch を使ったメトリクスのモニタリング

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

Amazon EMR メトリクスはどのように使用しますか?

次の表は、Amazon EMR で報告されるメトリクスの一般的な使用例を示しています。ここで紹介するのは開始するための提案事項です。すべてを網羅しているわけではありません。Amazon EMR によってレポートされるメトリクスの完全なリストについては、「」を参照してください。CloudWatch で Amazon EMR によって報告されたメトリックス

どうすればよいか? 関連するメトリクス
クラスターの進行を追跡する RunningMapTasksRemainingMapTasksRunningReduceTasks、および RemainingReduceTasks メトリクスを確認します。
アイドル状態のクラスターを検出する IsIdle メトリクスは、クラスターが現在実行されていないライブのタスクかどうかを追跡します。クラスターのアイドル状態の時間が指定した長さ(たとえば、30 分)に達した場合に通知されるようアラームを設定できます。
ノードのストレージがいつ使い果たされるかを検出する HDFSUtilization メトリクスは、現在使用されているディスク容量の割合です。これがアプリケーションの許容レベル(使用容量の 80% など)を超えると、クラスターのサイズを変更し、コアノードを追加しなければならない場合があります。

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

Amazon EMR コンソールまたは CloudWatch コンソールを使用して Amazon EMR が CloudWatch にレポートするメトリクスを表示できます。CloudWatch CLI コマンドを使用してメトリックスを取得することもできます。mon-get-statsまたは CloudWatchGetMetricStatisticsAPI. CloudWatch を使用した Amazon EMR のメトリクスの表示または取得の詳細については、「」を参照してください。Amazon CloudWatch ユーザーガイド

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

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

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

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

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

メトリクスのアラームの設定

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

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

次の表は、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 だった場合に通知するようアラームを指定できます。

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

単位: ブール値

ContainerAllocated

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

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

単位: カウント

ContainerReserved

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

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

単位: カウント

ContainerPending

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

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

単位: カウント

ContainerPendingRatio

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

単位: カウント

AppsCompleted

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

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

単位: カウント

AppsFailed

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

ユースケース: クラスターの進行状況の監視、クラスターの正常性の監視

単位: カウント

AppsKilled

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

ユースケース: クラスターの進行状況の監視、クラスターの正常性の監視

単位: カウント

AppsPending

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

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

単位: カウント

AppsRunning

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

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

単位: カウント

AppsSubmitted

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

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

単位: カウント

ノードのステータス

CoreNodesRunning

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

CoreNodesPending

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

LiveDataNodes

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

ユースケース: クラスター状態をモニタリングする

単位: パーセント

MRTotalNodes

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

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

単位: カウント

MRActiveNodes

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

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

単位: カウント

MRLostNodes

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

ユースケース: クラスターの状態の監視、クラスターの進行状況の監視

単位: カウント

MRUnhealthyNodes

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

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

単位: カウント

MRDecommissionedNodes

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

ユースケース: クラスターの状態の監視、クラスターの進行状況の監視

単位: カウント

MRRebootedNodes

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

ユースケース: クラスターの状態の監視、クラスターの進行状況の監視

単位: カウント

MultiMasterInstanceGroupNodesRunning

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

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

単位: カウント

MultiMasterInstanceGroupNodesRunningPercentage

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

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

単位: パーセント

MultiMasterInstanceGroupNodesRequested

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

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

単位: カウント

IO

S3BytesWritten

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

ユースケース: クラスタのパフォーマンスの分析、クラスタの進行状況の監視

単位: カウント

S3BytesRead

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

ユースケース: クラスタのパフォーマンスの分析、クラスタの進行状況の監視

単位: カウント

HDFSUtilization

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

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

単位: パーセント

HDFSBytesRead

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

ユースケース: クラスタのパフォーマンスの分析、クラスタの進行状況の監視

単位: カウント

HDFSBytesWritten

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

ユースケース: クラスタのパフォーマンスの分析、クラスタの進行状況の監視

単位: カウント

MissingBlocks

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

CorruptBlocks

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

TotalLoad

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

MemoryTotalMBMemoryTotalMB

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

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

単位: カウント

MemoryReservedMB

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

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

単位: カウント

MemoryAvailableMB

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

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

単位: カウント

YARNMemoryAvailablePercentage

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

単位: パーセント

MemoryAllocatedMB

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

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

単位: カウント

PendingDeletionBlocks

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

ユースケース: クラスターの進行状況の監視、クラスターの正常性の監視

単位: カウント

UnderReplicatedBlocks

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

ユースケース: クラスターの進行状況の監視、クラスターの正常性の監視

単位: カウント

DfsPendingReplicationBlocks

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

ユースケース: クラスターの進行状況の監視、クラスターの正常性の監視

単位: カウント

CapacityRemainingGB

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

ユースケース: クラスターの進行状況の監視、クラスターの正常性の監視

単位: カウント

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

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

IsIdle

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

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

単位: ブール値

JobsRunning

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

JobsFailed

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

マップ/低減

MapTasksRunning

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

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

単位: カウント

MapTasksRemaining

各ジョブの残存マップタスクの数。スケジューラがインストールされ、複数のジョブが実行中の場合は、複数のグラフが生成されます。残りのマップタスクとは、次のいずれかの状態のものをいいます。実行中、強制終了、または完了。

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

単位: カウント

MapSlotsOpen

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

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

単位: カウント

RemainingMapTasksPerSlot

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

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

単位: Ratio

ReduceTasksRunning

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

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

単位: カウント

ReduceTasksRemaining

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

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

単位: カウント

ReduceSlotsOpen

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

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

単位: カウント

ノードのステータス

CoreNodesRunning

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

CoreNodesPending

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

LiveDataNodes

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

ユースケース: クラスター状態をモニタリングする

単位: パーセント

TaskNodesRunning

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

TaskNodesPending

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

LiveTaskTrackers

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

ユースケース: クラスター状態をモニタリングする

単位: パーセント

IO

S3BytesWritten

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

ユースケース: クラスタのパフォーマンスの分析、クラスタの進行状況の監視

単位: カウント

S3BytesRead

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

ユースケース: クラスタのパフォーマンスの分析、クラスタの進行状況の監視

単位: カウント

HDFSUtilization

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

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

単位: パーセント

HDFSBytesRead

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

ユースケース: クラスタのパフォーマンスの分析、クラスタの進行状況の監視

単位: カウント

HDFSBytesWritten

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

ユースケース: クラスタのパフォーマンスの分析、クラスタの進行状況の監視

単位: カウント

MissingBlocks

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

ユースケース: クラスター状態をモニタリングする

単位: カウント

TotalLoad

クラスター内のすべての DataNode によって報告されたリーダーとライターの現在の合計数。

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

単位: カウント

クラスターキャパシティメトリクス

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

メトリクス 説明
  • TotalUnitsRequested

  • TotalNodesRequested

  • TotalVCPURequested

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

単位: カウント

  • TotalUnitsRunning

  • TotalNodesRunning

  • TotalVCPURunning

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

単位: カウント

  • CoreUnitsRequested

  • CoreNodesRequested

  • CoreVCPURequested

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

単位: カウント

  • CoreUnitsRunning

  • CoreNodesRunning

  • CoreVCPURunning

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

単位: カウント

  • TaskUnitsRequested

  • TaskNodesRequested

  • TaskVCPURequested

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

単位: カウント

  • TaskUnitsRunning

  • TaskNodesRunning

  • TaskVCPURunning

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

単位: カウント

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

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

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