如何从 Amazon EMR 集群实例收集自定义指标,然后在 CloudWatch 中进行发布?

上次更新日期:2020 年 4 月 13 日

我想要为 Amazon EMR 集群实例配置自定义指标,例如内存、CPU 和磁盘空间使用。然后,我想要将指标发布到 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.    在导航窗格中,选择指标。您的自定义指标将显示带有前缀系统/Linux

您也可以使用 Ganglia 为 EMR 集群或单个集群实例监控指标,例如 CPU 和磁盘空间使用。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?