Amazon 7.0.0 EMR の CloudWatch エージェントを設定する - Amazon EMR

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

Amazon 7.0.0 EMR の CloudWatch エージェントを設定する

デフォルトの CloudWatch エージェント設定で提供されるもの以外の追加のシステムメトリクスを使用するように Amazon エージェントを設定できます。 CloudWatch 7.0.0 の設定では、ブートストラップアクションを使用する必要があります。ブートストラップアクションについては、以下のセクションで例を挙げています。今後のリリースで、Amazon EMRは Amazon EMR を通じて追加の設定オプションを提供しますAPI。

Amazon 7.0.0 EMR で追加のシステムメトリクスを設定する

Amazon 7.0.0 で異なるシステムメトリクスのセットを使用するようにエージェントを設定するにはEMR、次のステップを実行します。

  1. CloudWatch エージェントメトリクスを指定する設定ファイルを保存する Amazon S3 アカウントでバケットを作成または選択します。

  2. 希望するメトリクスを指定して emr-amazon-cloudwatch-agent.json 設定ファイルを作成します。これを行うには、 CloudWatch 「エージェント設定ファイルの作成」で説明されている方法のいずれかを使用します。 CloudWatch エージェント設定ファイルの構造の詳細については、「Amazon CloudWatch ユーザーガイド」の CloudWatch 「エージェント設定ファイルを手動で作成または編集する」を参照してください。

  3. 次に、 のaws-emr-utilitiesリポジトリに移動 GitHub し、次のシステムメトリクススクリプトをダウンロードします。

    • install_system_metrics_launcher.sh - ノードがブートストラップを完了できるように、install_system_metrics.sh をダウンロードしてバックグラウンドで実行するスクリプト。

    • install_system_metrics.sh – 実行中のインスタンスがブートストラップを完了するのを待ってから、 JSON ファイルで設定をダウンロードして適用するスクリプト。

  4. 各 SH ファイルを開き、my-s3-bucket をステップ 1 のバケットの名前に置き換えます。

  5. 1 つJSONと 2 つの SH ファイルを S3 バケットにアップロードします。

  6. これで、Amazon EMRコンソールに移動し、 CloudWatch エージェントを使用して新しいクラスターを作成できます。左側のナビゲーションの EMRでEC2クラスター を選択し、クラスター を作成します。

  7. 「名前とアプリケーション」セクションで、7.0.0 以降の Amazon EMRリリースを選択します。

  8. 「アプリケーションバンドル」で、クラスターにインストールするバンドルまたはアプリケーションを選択し、Amazon CloudWatch Agent を選択内容に含めます。

  9. [ブートストラップアクション] セクションで [追加] を選択します。

    • [名前] には、install_system_metrics_launcher.sh と入力します。

    • [スクリプトの場所] には、s3://my-s3-bucket/install_system_metrics_launcher.sh を挿入します。my-s3-bucket をお使いの S3 バケットへのパス名に置き換えます。

    • [引数] ブロックは空のままにしておきます。

  10. [ブートストラップアクションを追加] を選択します。

  11. 引き続き、ワークロードのニーズに合わせてクラスターを作成してください。

クラスターが起動すると、 CloudWatch エージェントは設定ファイルで指定したシステムメトリクスを に発行します CloudWatch。

Amazon 7.0.0 EMR でアプリケーションメトリクスを設定する

システムメトリクスYARNに加えて、 HDFSおよび のアプリケーションメトリクスを発行するように Amazon CloudWatch エージェントを設定できます。アプリケーションメトリクスを公開するようにエージェントを設定するには、次の手順を実行します。

  1. CloudWatch エージェントメトリクスを指定する設定ファイルを保存する Amazon S3 アカウントでバケットを作成または選択します。

  2. 次に、 のaws-emr-utilitiesリポジトリに移動 GitHub し、次のスクリプトをダウンロードします。

    • install_app_metrics_launcher.sh - ノードがブートストラップを完了できるように、install_app_metrics.sh をダウンロードしてバックグラウンドで実行するスクリプト。

    • install_app_metrics.sh – 実行中のインスタンスがブートストラップを完了するのを待ってから、次のステップでダウンロードするYAMLファイルに設定をダウンロードして適用するスクリプト。

  3. 各ファイルを開き、my-s3-bucket をステップ 1 のバケットの名前に置き換えます。

  4. 次に、次のYAMLマッピングファイルをダウンロードします。これらのYAMLファイルの構造については、リポジトリjavaagentOpenTelemetry Instrumentation for Java GitHub 「」を参照してください。

  5. 2 つの SH と 4 つのYAMLファイルを S3 バケットにアップロードします。

  6. これで、Amazon EMRコンソールに移動し、 CloudWatch エージェントを使用して新しいクラスターを作成できます。左側のナビゲーションの EMRでEC2クラスター を選択し、クラスター を作成します。

  7. 「名前とアプリケーション」セクションで、7.0.0 以降の Amazon EMRリリースを選択します。

  8. アプリケーションバンドル で、クラスターにインストールするアプリケーションのバンドルまたはカスタムグループを選択し、選択にCloudWatch エージェントを含めます。

  9. [ブートストラップアクション] セクションで [追加] を選択します。

    • [名前] には、install_app_metrics_launcher.sh と入力します。

    • [スクリプトの場所] には、s3://my-s3-bucket/install_app_metrics_launcher.sh を挿入します。my-s3-bucket をお使いの S3 バケットへのパス名に置き換えます。

    • [引数] ブロックは空のままにしておきます。

  10. [ブートストラップアクションを追加] を選択します。

  11. 引き続き、ワークロードのニーズに合わせてクラスターを作成してください。

クラスターが起動すると、 CloudWatch エージェントは指定したアプリケーションメトリクスとシステムメトリクスを に発行します CloudWatch。

Amazon Managed Service for Prometheus を Amazon 7.0.0 EMR でメトリクスのクラウドストレージとして設定する

の代わりに Amazon Managed Service for Prometheus にメトリクスを発行するように Amazon CloudWatch エージェントを設定できます CloudWatch。

注記

Amazon CloudWatch エージェントから Amazon Managed Service for Prometheus または Amazon にメトリクスを発行することはできますが CloudWatch、同じクラスターの両方のサービスにメトリクスを発行することはできません。

Amazon Managed Service for Prometheus にメトリクスを発行するようにエージェントを設定するには、Amazon の Amazon EC2インスタンスプロファイルに aps:RemoteWrite AWS Identity and Access Management (IAM) アクセス許可を追加する必要がありますEMR。次のポリシー例は、必要なアクセス許可を含んでいます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aps:RemoteWrite", "Resource": "*" } ] }
EMR クラスターで CloudWatch エージェントを使用して Amazon Managed Service for Prometheus にメトリクスを発行する

サービスポリシーに正しいアクセス許可が付与されたら、次の手順を使用して、 CloudWatch エージェントを使用してメトリクスを Amazon Managed Service for Prometheus に発行するクラスターを起動します。

  1. AWS Management Console または AWS CLI を使用して、Amazon Managed Service for Prometheus ワークスペースを作成します。詳細については、「Amazon Managed Service for Prometheus ユーザーガイド」の「ワークスペースの作成」を参照してください。

  2. Amazon S3 アカウントで、Amazon Managed Service for Prometheus をクラウドストレージとして指定する起動ファイルを保存するバケットを作成または選択します。

  3. 次に、 のaws-emr-utilitiesリポジトリに移動 GitHub し、次のスクリプトをダウンロードします。

    • add_prometheus_endpoint_launcher.sh - ノードがブートストラップを完了できるように、add_prometheus_endpoint.sh をダウンロードしてバックグラウンドで実行するスクリプト。

    • add_prometheus_endpoint.sh – 実行中のインスタンスがブートストラップを完了するのを待ってから、クラスターの起動時に引数として指定した Amazon Managed Service for Prometheus エンドポイントに発行するように CloudWatch エージェントを設定するスクリプト。

  4. 各ファイルを開き、my-s3-bucket をステップ 2 のバケットの名前に置き換えます。

  5. を使用して AWS CLI 、add_prometheus_endpoint_launcher.shブートストラップアクションで EMRクラスターを作成します。次のコマンドで、my-s3-bucket をブートストラップアクションを保持するバケットに置き換え、managedpro-remote-write-workspace-url を Amazon Managed Service for Prometheus ワークスペースのリモート書き込みエンドポイントに置き換えます。emr-7.0.0 以上の Amazon EMRリリースラベルを必ず指定してください。

    aws emr create-cluster --name managedpro-cluster \ --release-label emr-7.0.0 \ --applications Name=Hadoop Name=AmazonCloudWatchAgent \ --ec2-attributes KeyName=myKey --instance-type m7g.2xlarge \ --instance-count 3 --use-default-roles --bootstrap-actions Name='Add Prometheus Endpoint',Path=s3://my-s3-bucket/add_prometheus_endpoint_launcher.sh,Args='managedpro-remote-write-workspace-url'

クラスターが起動すると、 CloudWatch エージェントは収集したメトリクスを Amazon Managed Service for Prometheus に発行します。

Amazon Managed Service for Prometheus を Amazon Managed Grafana 用データソースとして使用する

Amazon EMRがクラスターメトリクスを Amazon Managed Service for Prometheus に公開したら、次のステップを使用して Amazon Managed Grafana でメトリクスを視覚化できます。

  1. を使用して AWS Management Console 、適切なアクセス許可を持つ Amazon Managed Grafana ワークスペースとユーザーを作成します。詳細については、「Amazon Managed Grafana ユーザーガイド」の「ワークスペースの作成」を参照してください。

  2. Amazon Managed Service for Prometheus ワークスペースをデータソースとして Amazon Managed Grafana に追加します。詳細については、「Amazon Managed Grafana ユーザーガイド」の「AWS データソース設定を使用して Amazon Managed Service for Prometheus をデータソースとして追加する」を参照してください。

注記

CloudWatch エージェントには、特定の属性の名前を変更する Prometheus エクスポーターがあります。デフォルトのメトリクスラベルの場合、Amazon Managed Service for Prometheus は、Amazon が使用する期間の代わりにアンダースコア文字 CloudWatch を使用します。そのため、Amazon Managed Grafana を使用して Amazon Managed Service for Prometheus のデフォルトメトリクスを視覚化すると、ラベルは jobflow_idinstance_idservice_name のように表示されます。

また、 CloudWatch エージェントが Amazon Managed Service for Prometheus に発行するアプリケーションメトリクスは、 jobの代わりに ラベルを使用しますservice_name。ただし、システムメトリクスは引き続き service_name のラベルを使用します。