[英]Put_metric_alarm - How to use comparison operator with "Equal to Threshold" in AWS - Python Boto3
[英]Boto3 CloudWatch - put_metric_alarm with multiple metrics and a math expression
我正在尝试使用 Boto3 - CloudWatch - put_metric_alarm 创建警报并且遇到了困难。
以下是提供给函数的关键字参数:
{'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):指标列表无效
此处的文档声称您可以定义一个警报,以便您可以使用最多 10 个指标和 10 个表达式,其中一个指标查询返回警报数据。
我不确定我在这里做错了什么。 谢谢
Id 必须以小写字母开头,尝试将CPU
和Net
更改为cpu
和net
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.