Boto3 CloudWatch put_metric_报警具有多个指标和一个数学表达式

2024-09-27 00:22:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Boto3-CloudWatch-put_metric_报警创建一个报警,但遇到了困难

以下是提供给函数的关键字参数:

{'ActionsEnabled': False,
 'AlarmDescription': 'Monitor for Idle instances',
 'AlarmName': 'IdleComponents',
 'ComparisonOperator': 'GreaterThanThreshold',
 'DatapointsToAlarm': 6,
 'EvaluationPeriods': 6,
 'Metrics': [{'Id': 'CPU',
              'MetricStat': {'Metric': {'Dimensions': [{'Name': 'InstanceId',
                                                        'Value': 'i-XX'}],
                                        'MetricName': 'CPUUtilization',
                                        'Namespace': 'AWS/EC2'},
                             'Period': 300,
                             'Stat': 'Average',
                             'Unit': 'Percent'},
              'ReturnData': False},
             {'Id': 'Net',
              'MetricStat': {'Metric': {'Dimensions': [{'Name': 'InstanceId',
                                                        'Value': 'i-XX'}],
                                        'MetricName': 'NetworkIn',
                                        'Namespace': 'AWS/EC2'},
                             'Period': 300,
                             'Stat': 'Average',
                             'Unit': 'Megabytes'},
              'ReturnData': False},
             {'Expression': 'IF(CPU < 5, 1, 0) AND IF(Net < 5, 1, 0)',
              'Id': 'e1',
              'ReturnData': True}],
 'Threshold': 0}

通过目视检查,这似乎是一个有效的输入,当在CloudWatch控制台上手动创建表达式时,表达式会按照预期工作,但通过Boto3运行时,我得到:

botocore.exceptions.ClientError:调用PutMetricAlarm操作时出错(ValidationError):无效度量列表

文档{a1}声称您可以定义一个报警,这样您最多可以使用10个度量和10个表达式,其中一个度量查询返回报警数据

我不确定我在这里做错了什么。 谢谢


Tags: nameidfalse报警度量value表达式cpu

热门问题