python - 使用 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 世界的新手,有人可以帮我解决这个问题吗?先感谢您!
解决方案
EMR 指标的有效维度列在Amazon EMR 指标维度中:
JobFlowId - 与集群 ID 相同,是集群的唯一标识符,形式为 j-XXXXXXXXXXXXX。通过单击 Amazon EMR 控制台中的集群来查找此值。
JobId - 集群中作业的标识符。您可以使用它将从集群返回的指标过滤到适用于集群内单个作业的指标。JobId 采用 job_XXXXXXXXXXXX_XXXX 的形式。
推荐阅读
- google-colaboratory - 使用 TensorFlow Hub 时范围变量出错
- django - Django 生产站点在 3 周后持续下降
- swift - 如何让我的玩家站在地上而不是从地上摔下来?
- excel - 按目标值过滤电子表格,并隐藏没有目标的电子表格
- jquery - trigger(listzt:updated) - 不能使用 'in' 运算符来搜索 'length' in
- python - 如何修复我的内部本地主机挂断?
- swift - 不能对“[...]”类型的不可变值使用变异成员
- python - 如何获取 tkinter 窗口标题栏的高度
- elixir - 当我运行`mix test`时如何修复“**(混合)找不到任务“compile.all””
- excel - 在 Excel 中更新单元格值时,如何使自定义排序自动更新?