首页 > 解决方案 > 使用 boto3 的 EMR 上的 AWS CloudWatch 警报

问题描述

我需要使用 boto3 创建脚本,当集群中的实例不健康时,它应该会从 AWS CloudWatch 发送电子邮件通知。

我正在按照put_metric_alarm()文档创建 boto3 脚本,我发现为了实现我的要求,我可以使用MRUnhealthyNodes公制类型。我编写了一个小脚本来创建应该可以工作的警报:

client.put_metric_alarm (
AlarmName='name',
AlarmDescription='alarm description',
AlarmActions=[
    'sns:arn',
],
MetricName='MRUnhealthyNodes',
Namespace='AWS/ElasticMapReduce',
Statistic='Minimum',
Dimensions=[
    {
        'Name': 'string',
        'Value': 'string'
    },
],
Period=300,  
EvaluationPeriods=287,
Threshold=1,
ComparisonOperator='GreaterThanOrEqualToThreshold'

)

在这里,我有点困惑应该是什么价值:

Dimensions=[
    {
        'Name': 'string',
        'Value': 'string'
    },
]

我是 AWS 世界的新手,有人可以帮我解决这个问题吗?先感谢您!

标签: pythonamazon-web-servicesboto3amazon-cloudwatchamazon-emr

解决方案


EMR 指标的有效维度列在Amazon EMR 指标维度中

JobFlowId - 与集群 ID 相同,是集群的唯一标识符,形式为 j-XXXXXXXXXXXXX。通过单击 Amazon EMR 控制台中的集群来查找此值。

JobId - 集群中作业的标识符。您可以使用它将从集群返回的指标过滤到适用于集群内单个作业的指标。JobId 采用 job_XXXXXXXXXXXX_XXXX 的形式。


推荐阅读