概要

Data Jobs Monitoring は、EMR クラスター上の Spark ジョブの観測、トラブルシューティング、コスト最適化を支援します。

Amazon EMR は、膨大な量のデータを迅速かつコスト効率よく簡単に処理できる Web サービスです。

このインテグレーションを有効にすると、EMR メトリクスを Datadog に表示できます。

セットアップ

インストール

Amazon Web Services インテグレーションをまだセットアップしていない場合は、最初にセットアップします。

メトリクスの収集

  1. AWS インテグレーションページで、Metric Collection タブの下にある EMR が有効になっていることを確認します。

  2. Amazon EMR のメトリクスを収集するには、次のアクセス許可を Datadog IAM ポリシーに追加します。詳細については、AWS ウェブサイト上の EMR ポリシーを参照してください。

    AWS アクセス許可説明
    elasticmapreduce:ListClusters使用できるクラスターを一覧表示します。
    elasticmapreduce:DescribeClusterCloudWatch EMR メトリクスにタグを追加します。
  3. Datadog - Amazon EMR インテグレーションをインストールします。

ログ収集

ログの有効化

Amazon EMR から S3 バケットまたは CloudWatch のいずれかにログを送信するよう構成します。

: S3 バケットにログを送る場合は、Target prefixamazon_emr に設定されているかを確認してください。

ログを Datadog に送信する方法

  1. Datadog Forwarder Lambda 関数をまだセットアップしていない場合は、セットアップします。

  2. Lambda 関数がインストールされたら、AWS コンソールから、Amazon EMR ログを含む S3 バケットまたは CloudWatch のロググループに手動でトリガーを追加します。

収集データ

メトリクス

aws.elasticmapreduce.apps_completed
(gauge)
The average number of applications submitted to YARN that have completed. (Hadoop v2 only)
aws.elasticmapreduce.apps_completed.sum
(gauge)
The sum of the number of applications submitted to YARN that have completed. (Hadoop v2 only)
aws.elasticmapreduce.apps_failed
(gauge)
The average number of applications submitted to YARN that have failed to complete. (Hadoop v2 only)
aws.elasticmapreduce.apps_failed.sum
(gauge)
The sum of the number of applications submitted to YARN that have failed to complete. (Hadoop v2 only)
aws.elasticmapreduce.apps_killed
(gauge)
The average number of applications submitted to YARN that have been killed. (Hadoop v2 only)
aws.elasticmapreduce.apps_killed.sum
(gauge)
The sum of the number of applications submitted to YARN that have been killed. (Hadoop v2 only)
aws.elasticmapreduce.apps_pending
(gauge)
The average number of applications submitted to YARN that are in a pending state. (Hadoop v2 only)
aws.elasticmapreduce.apps_pending.sum
(gauge)
The sum of the number of applications submitted to YARN that are in a pending state. (Hadoop v2 only)
aws.elasticmapreduce.apps_running
(gauge)
The average number of applications submitted to YARN that are running. (Hadoop v2 only)
aws.elasticmapreduce.apps_running.sum
(gauge)
The sum of the number of applications submitted to YARN that are running. (Hadoop v2 only)
aws.elasticmapreduce.apps_submitted
(gauge)
The average number of applications submitted to YARN. (Hadoop v2 only)
aws.elasticmapreduce.apps_submitted.sum
(gauge)
The sum of the number of applications submitted to YARN. (Hadoop v2 only)
aws.elasticmapreduce.backup_failed
(count)
Whether the last backup failed. (Hadoop v1 only)
aws.elasticmapreduce.capacity_remaining_gb
(gauge)
The average amount of remaining HDFS disk capacity. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.capacity_remaining_gb.sum
(gauge)
The sum of the amount of remaining HDFS disk capacity. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.container_allocated
(gauge)
The average number of resource containers allocated by the ResourceManager. (Hadoop v2 only)
aws.elasticmapreduce.container_allocated.sum
(gauge)
The sum of the number of resource containers allocated by the ResourceManager. (Hadoop v2 only)
aws.elasticmapreduce.container_pending
(gauge)
The average number of containers in the queue that have not yet been allocated. (Hadoop v2 only)
aws.elasticmapreduce.container_pending.sum
(gauge)
The sum of the number of containers in the queue that have not yet been allocated. (Hadoop v2 only)
aws.elasticmapreduce.container_pending_ratio
(gauge)
The average percentage of containers in the queue that have not yet been allocated. (Hadoop v2 only)
Shown as percent
aws.elasticmapreduce.container_reserved
(gauge)
The average number of containers reserved. (Hadoop v2 only)
aws.elasticmapreduce.container_reserved.sum
(gauge)
The sum of the number of containers reserved. (Hadoop v2 only)
aws.elasticmapreduce.core_nodes_pending
(gauge)
The average number of core nodes waiting to be assigned. All of the core nodes requested may not be immediately available; this metric reports the pending requests. Data points for this metric are reported only when a corresponding instance group exists.
Shown as node
aws.elasticmapreduce.core_nodes_pending.sum
(gauge)
The sum of the number of core nodes waiting to be assigned. All of the core nodes requested may not be immediately available; this metric reports the pending requests. Data points for this metric are reported only when a corresponding instance group exists.
Shown as node
aws.elasticmapreduce.core_nodes_requested
(gauge)
The average number of core nodes in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.core_nodes_requested.sum
(gauge)
The sum of the number of core nodes in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.core_nodes_running
(gauge)
The average number of core nodes working. Data points for this metric are reported only when a corresponding instance group exists.
Shown as node
aws.elasticmapreduce.core_nodes_running.sum
(gauge)
The sum of the number of core nodes working. Data points for this metric are reported only when a corresponding instance group exists.
Shown as node
aws.elasticmapreduce.core_units_requested
(gauge)
The average number of core units in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.core_units_requested.sum
(gauge)
The sum of the number of core units in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.core_units_running
(gauge)
The target number of core units working. Data points for this metric are reported only when a corresponding instance group exists.
Shown as node
aws.elasticmapreduce.core_units_running.sum
(gauge)
The sum of the number of core units working. Data points for this metric are reported only when a corresponding instance group exists.
Shown as node
aws.elasticmapreduce.core_vcpu_requested
(gauge)
The average number of core vCPUs in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.core_vcpu_requested.sum
(gauge)
The sum of the number of core vCPUs in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.core_vcpu_running
(gauge)
The average number of core vCPUs working. Data points for this metric are reported only when a corresponding instance group exists.
Shown as node
aws.elasticmapreduce.core_vcpu_running.sum
(gauge)
The sum of the number of core vCPUs working. Data points for this metric are reported only when a corresponding instance group exists.
Shown as node
aws.elasticmapreduce.corrupt_blocks
(gauge)
The average number of blocks that HDFS reports as corrupted. (Hadoop v2 only)
Shown as block
aws.elasticmapreduce.corrupt_blocks.sum
(gauge)
The sum of the number of blocks that HDFS reports as corrupted. (Hadoop v2 only)
Shown as block
aws.elasticmapreduce.dfs_fsnamesystem_pending_replication_blocks
(gauge)
The status of block replication: blocks being replicated, age of replication requests, and unsuccessful replication requests. (Hadoop v2 only)
aws.elasticmapreduce.hbase_backup_failed
(gauge)
Whether the last backup failed. This is set to 0 by default and updated to 1 if the previous backup attempt failed. This metric is only reported for HBase clusters. (Hadoop v2 only)
aws.elasticmapreduce.hbase_most_recent_backup_duration
(gauge)
The amount of time it took the previous backup to complete. This metric is set regardless of whether the last completed backup succeeded or failed. While the backup is ongoing, this metric returns the number of minutes after the backup started. This metric is only reported for HBase clusters.
Shown as minute
aws.elasticmapreduce.hbase_time_since_last_successful_backup
(gauge)
The number of elapsed minutes after the last successful HBase backup started on your cluster. This metric is only reported for HBase clusters.
Shown as minute
aws.elasticmapreduce.hdfsbytes_read
(gauge)
The average number of bytes read from HDFS.
Shown as byte
aws.elasticmapreduce.hdfsbytes_read.sum
(gauge)
The sum of the number of bytes read from HDFS.
Shown as byte
aws.elasticmapreduce.hdfsbytes_written
(gauge)
The average number of bytes written to HDFS.
Shown as byte
aws.elasticmapreduce.hdfsbytes_written.sum
(gauge)
The sum of the number of bytes written to HDFS.
Shown as byte
aws.elasticmapreduce.hdfsutilization
(gauge)
The percentage of HDFS storage currently used.
Shown as percent
aws.elasticmapreduce.is_idle
(gauge)
Indicates that a cluster is no longer performing work, but is still alive and accruing charges. It is set to 1 if no tasks are running and no jobs are running, and set to 0 otherwise. This value is checked at five-minute intervals and a value of 1 indicates only that the cluster was idle when checked, not that it was idle for the entire five minutes.
aws.elasticmapreduce.jobs_failed
(gauge)
The average number of jobs in the cluster that have failed. (Hadoop v1 only)
aws.elasticmapreduce.jobs_failed.sum
(gauge)
The sum of the number of jobs in the cluster that have failed. (Hadoop v1 only)
aws.elasticmapreduce.jobs_running
(gauge)
The average number of jobs in the cluster that are currently running. (Hadoop v1 only)
aws.elasticmapreduce.jobs_running.sum
(gauge)
The sum of the number of jobs in the cluster that are currently running. (Hadoop v1 only)
aws.elasticmapreduce.live_data_nodes
(gauge)
The percentage of data nodes that are receiving work from Hadoop.
Shown as percent
aws.elasticmapreduce.live_task_trackers
(gauge)
The percentage of task trackers that are functional. (Hadoop v1 only)
Shown as percent
aws.elasticmapreduce.map_slots_open
(gauge)
The average unused map task capacity. This is calculated as the maximum number of map tasks for a given cluster, less the total number of map tasks currently running in that cluster. (Hadoop v1 only)
aws.elasticmapreduce.map_slots_open.sum
(gauge)
The sum of the unused map task capacity. This is calculated as the maximum number of map tasks for a given cluster, less the total number of map tasks currently running in that cluster. (Hadoop v1 only)
aws.elasticmapreduce.memory_allocated_mb
(gauge)
The average amount of memory allocated to the cluster. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.memory_allocated_mb.sum
(gauge)
The sum of the amount of memory allocated to the cluster. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.memory_available_mb
(gauge)
The average amount of memory available to be allocated. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.memory_available_mb.sum
(gauge)
The sum of the amount of memory available to be allocated. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.memory_reserved_mb
(gauge)
The average amount of memory reserved. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.memory_reserved_mb.sum
(gauge)
The sum of the amount of memory reserved. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.memory_total_mb
(gauge)
The average total amount of memory in the cluster. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.memory_total_mb.sum
(gauge)
The sum of the total amount of memory in the cluster. (Hadoop v2 only)
Shown as byte
aws.elasticmapreduce.missing_blocks
(gauge)
The average number of blocks in which HDFS has no replicas. These might be corrupt blocks.
Shown as block
aws.elasticmapreduce.missing_blocks.sum
(gauge)
The sum of the number of blocks in which HDFS has no replicas. These might be corrupt blocks.
Shown as block
aws.elasticmapreduce.mractive_nodes
(gauge)
The average number of nodes presently running MapReduce tasks or jobs. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mractive_nodes.sum
(gauge)
The sum of the number of nodes presently running MapReduce tasks or jobs. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrdecommissioned_nodes
(gauge)
The average number of nodes allocated to MapReduce applications that have been marked in a DECOMMISSIONED state. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrdecommissioned_nodes.sum
(gauge)
The sum of the number of nodes allocated to MapReduce applications that have been marked in a DECOMMISSIONED state. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrlost_nodes
(gauge)
The average number of nodes allocated to MapReduce that have been marked in a LOST state. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrlost_nodes.sum
(gauge)
The sum of the number of nodes allocated to MapReduce that have been marked in a LOST state. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrrebooted_nodes
(gauge)
The average number of nodes available to MapReduce that have been rebooted and marked in a REBOOTED state. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrrebooted_nodes.sum
(gauge)
The sum of the number of nodes available to MapReduce that have been rebooted and marked in a REBOOTED state. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrtotal_nodes
(gauge)
The average number of nodes presently available to MapReduce jobs. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrtotal_nodes.sum
(gauge)
The sum of the number of nodes presently available to MapReduce jobs. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrunhealthy_nodes
(gauge)
The average number of nodes available to MapReduce jobs marked in an UNHEALTHY state. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.mrunhealthy_nodes.sum
(gauge)
The sum of the number of nodes available to MapReduce jobs marked in an UNHEALTHY state. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.multi_master_instance_group_nodes_requested
(count)
The number of requested master nodes. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.multi_master_instance_group_nodes_running
(count)
The number of running master nodes. (Hadoop v2 only)
Shown as node
aws.elasticmapreduce.multi_master_instance_group_nodes_running_percentage
(gauge)
The percentage of master nodes that are running over the requested master node instance count. (Hadoop v2 only)
Shown as percent
aws.elasticmapreduce.no_of_black_listed_task_trackers
(gauge)
The average number of blacklisted TaskTracker nodes.
Shown as node
aws.elasticmapreduce.no_of_black_listed_task_trackers.sum
(gauge)
The sum of the number of blacklisted TaskTracker nodes.
Shown as node
aws.elasticmapreduce.no_of_gray_listed_task_trackers
(gauge)
The average number of graylisted TaskTracker nodes.
Shown as node
aws.elasticmapreduce.no_of_gray_listed_task_trackers.sum
(gauge)
The sum of the number of graylisted TaskTracker nodes.
Shown as node
aws.elasticmapreduce.pending_deletion_blocks
(gauge)
The average number of blocks marked for deletion. (Hadoop v2 only)
Shown as block
aws.elasticmapreduce.pending_deletion_blocks.sum
(gauge)
The sum of the number of blocks marked for deletion. (Hadoop v2 only)
Shown as block
aws.elasticmapreduce.reduce_slots_open
(gauge)
Average unused reduce task capacity. This is calculated as the maximum reduce task capacity for a given cluster, less the number of reduce tasks currently running in that cluster. (Hadoop v1 only)
aws.elasticmapreduce.reduce_slots_open.sum
(gauge)
The sum of unused reduce task capacity. This is calculated as the maximum reduce task capacity for a given cluster, less the number of reduce tasks currently running in that cluster. (Hadoop v1 only)
aws.elasticmapreduce.remaining_map_tasks
(gauge)
The average number of remaining map tasks for each job. If you have a scheduler installed and multiple jobs running, multiple graphs are generated. A remaining map task is one that is not in any of the following states: Running, Killed, or Completed. (Hadoop v1 only)
Shown as task
aws.elasticmapreduce.remaining_map_tasks.sum
(gauge)
The sum of the number of remaining map tasks for each job. If you have a scheduler installed and multiple jobs running, multiple graphs are generated. A remaining map task is one that is not in any of the following states: Running, Killed, or Completed. (Hadoop v1 only)
Shown as task
aws.elasticmapreduce.remaining_map_tasks_per_slot
(gauge)
The ratio of the total map tasks remaining to the total map slots available in the cluster. (Hadoop v1 only)
aws.elasticmapreduce.remaining_reduce_tasks
(gauge)
The average number of remaining reduce tasks for each job. If you have a scheduler installed and multiple jobs running, multiple graphs are generated. (Hadoop v1 only)
Shown as task
aws.elasticmapreduce.remaining_reduce_tasks.sum
(gauge)
The sum of the number of remaining reduce tasks for each job. If you have a scheduler installed and multiple jobs running, multiple graphs are generated. (Hadoop v1 only)
Shown as task
aws.elasticmapreduce.running_map_tasks
(gauge)
The average number of running map tasks for each job. If you have a scheduler installed and multiple jobs running, multiple graphs are generated. (Hadoop v1 only)
Shown as task
aws.elasticmapreduce.running_map_tasks.sum
(gauge)
The sum of the number of running map tasks for each job. If you have a scheduler installed and multiple jobs running, multiple graphs are generated. (Hadoop v1 only)
Shown as task
aws.elasticmapreduce.running_reduce_tasks
(gauge)
The average number of running reduce tasks for each job. If you have a scheduler installed and multiple jobs running, multiple graphs are generated. (Hadoop v1 only)
Shown as task
aws.elasticmapreduce.running_reduce_tasks.sum
(gauge)
The sum of the number of running reduce tasks for each job. If you have a scheduler installed and multiple jobs running, multiple graphs are generated. (Hadoop v1 only)
Shown as task
aws.elasticmapreduce.s_3bytes_read
(gauge)
The average number of bytes read from Amazon S3.
Shown as byte
aws.elasticmapreduce.s_3bytes_read.sum
(gauge)
The sum of the number of bytes read from Amazon S3.
Shown as byte
aws.elasticmapreduce.s_3bytes_written
(gauge)
The average number of bytes written to Amazon S3.
Shown as byte
aws.elasticmapreduce.s_3bytes_written.sum
(gauge)
The sum of the number of bytes written to Amazon S3.
Shown as byte
aws.elasticmapreduce.task_nodes_pending
(gauge)
The average number of task nodes waiting to be assigned. All of the task nodes requested may not be immediately available; this metric reports the pending requests. Data points for this metric are reported only when a corresponding instance group exists. (Hadoop v1 only)
Shown as node
aws.elasticmapreduce.task_nodes_pending.sum
(gauge)
The sum of the number of task nodes waiting to be assigned. All of the task nodes requested may not be immediately available; this metric reports the pending requests. Data points for this metric are reported only when a corresponding instance group exists. (Hadoop v1 only)
Shown as node
aws.elasticmapreduce.task_nodes_requested
(gauge)
The average number of task nodes in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.task_nodes_requested.sum
(gauge)
The sum of the number of task nodes in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.task_nodes_running
(gauge)
The average number of task nodes working. Data points for this metric are reported only when a corresponding instance group exists. (Hadoop v1 only)
Shown as node
aws.elasticmapreduce.task_nodes_running.sum
(gauge)
The sum of the number of task nodes working. Data points for this metric are reported only when a corresponding instance group exists. (Hadoop v1 only)
Shown as node
aws.elasticmapreduce.task_units_requested
(gauge)
The average number of task units in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.task_units_requested.sum
(gauge)
The sum of the number of task units in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.task_units_running
(gauge)
The average number of task units working. Data points for this metric are reported only when a corresponding instance group exists. (Hadoop v1 only)
Shown as node
aws.elasticmapreduce.task_units_running.sum
(gauge)
The sum of the number of task units working. Data points for this metric are reported only when a corresponding instance group exists. (Hadoop v1 only)
Shown as node
aws.elasticmapreduce.task_vcpu_requested
(gauge)
The average number of task vCPUs in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.task_vcpu_requested.sum
(gauge)
The sum of the number of task vCPUs in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.task_vcpu_running
(gauge)
The average number of task vCPUs working. Data points for this metric are reported only when a corresponding instance group exists. (Hadoop v1 only)
Shown as node
aws.elasticmapreduce.task_vcpu_running.sum
(gauge)
The sum of the number of task vCPUs working. Data points for this metric are reported only when a corresponding instance group exists. (Hadoop v1 only)
Shown as node
aws.elasticmapreduce.total_load
(gauge)
The average total number of concurrent data transfers.
aws.elasticmapreduce.total_load.sum
(gauge)
The sum of the total number of concurrent data transfers.
aws.elasticmapreduce.total_map_tasks
(gauge)
The average total number of map tasks.
Shown as task
aws.elasticmapreduce.total_map_tasks.sum
(gauge)
The sum of the total number of map tasks.
Shown as task
aws.elasticmapreduce.total_nodes_requested
(gauge)
The sum total number of nodes in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.total_nodes_requested.average
(gauge)
The average of total number of nodes in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.total_nodes_running
(gauge)
The current average number of nodes available in a running cluster.
Shown as node
aws.elasticmapreduce.total_nodes_running.sum
(gauge)
The current sum of nodes available in a running cluster.
Shown as node
aws.elasticmapreduce.total_reduce_tasks
(gauge)
The average total number of reduce tasks.
Shown as task
aws.elasticmapreduce.total_reduce_tasks.sum
(gauge)
The sum of the total number of reduce tasks.
Shown as task
aws.elasticmapreduce.total_units_requested
(gauge)
The average total number of units in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.total_units_requested.sum
(gauge)
The sum of total number of units in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.total_units_running
(gauge)
The current average number of units available in a running cluster.
Shown as node
aws.elasticmapreduce.total_units_running.sum
(gauge)
The current sum of units available in a running cluster.
Shown as node
aws.elasticmapreduce.total_vcpu_requested
(gauge)
The average total number of vCPUs in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.total_vcpu_requested.sum
(gauge)
The sum of total number of vCPUs in a cluster as determined by managed scaling.
Shown as node
aws.elasticmapreduce.total_vcpu_running
(gauge)
The current average number of vCPUs available in a running cluster.
Shown as node
aws.elasticmapreduce.total_vcpu_running.sum
(gauge)
The current sum of vCPUs available in a running cluster.
Shown as node
aws.elasticmapreduce.under_replicated_blocks
(gauge)
The average number of blocks that need to be replicated one or more times. (Hadoop v2 only)
Shown as block
aws.elasticmapreduce.under_replicated_blocks.sum
(gauge)
The sum of the number of blocks that need to be replicated one or more times. (Hadoop v2 only)
Shown as block
aws.elasticmapreduce.yarnmemory_available_percentage
(gauge)
The percentage of remaining memory available to YARN. (Hadoop v2 only)
Shown as percent

AWS から取得される各メトリクスには、ホスト名やセキュリティ グループなど、AWS コンソールに表示されるのと同じタグが割り当てられます。

イベント

Amazon EMR インテグレーションには、イベントは含まれません。

サービスチェック

Amazon EMR インテグレーションには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。