Amazon EMR クラスターインスタンスからカスタムメトリックを収集して CloudWatch で公開する方法を教えてください。

最終更新日: 2020 年 4 月 13 日

メモリ、CPU、ディスク容量の使用状況など、Amazon EMR クラスターインスタンスのカスタムメトリクスを設定したいと思います。次に、メトリクスを Amazon CloudWatch に公開します。どうすればいいですか?

解決方法

注: カスタム CloudWatch メトリクスは無料ではありません。詳細については、Amazon CloudWatch の料金を参照し、有料ティアセクションの [メトリクス] タブを確認してください。

1.    EMR クラスターを起動するときに、モニタリングスクリプトを Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにダウンロードするブートストラップアクションを指定します。

次のスクリプト例では、cron ジョブを使用して 5 分ごとにモニタリングスクリプトを実行しています。ユースケースに合わせてこのスクリプトをカスタマイズしてください。たとえば、スクリプトの最後の行で、収集して CloudWatch に公開するカスタムメトリクスを指定します。

#!/bin/bash
echo "install additional Perl modules"
sudo yum install -y perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA.x86_64
echo "download, install, and configure the monitoring scripts"
cd /home/hadoop
curl https://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.2.zip -O
unzip CloudWatchMonitoringScripts-1.2.2.zip && \
rm CloudWatchMonitoringScripts-1.2.2.zip && \
cd aws-scripts-mon
echo "setting cron"
echo "*/5 * * * * /home/hadoop/aws-scripts-mon/mon-put-instance-data.pl --mem-used-incl-cache-buff --mem-util --disk-space-util --disk-path=/mnt --from-cron" | crontab

2.    EMR クラスターが起動されたら、CloudWatch コンソールを開きます。

3.    ナビゲーションペインで [メトリクス] を選択します。カスタムメトリクスは、プレフィックス System/Linux で表示されます。

Ganglia を使用して、EMR クラスターまたは個々のクラスターインスタンスの CPU やディスク領域の使用状況などのメトリックをモニタリングすることもできます。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合