amazon-web-services - AWS Cloudwatch 警报 Terraform
问题描述
我目前正在尝试通过 Terraform 推出 AWS cloudwatch 指标警报,但遇到以下错误。
Error applying plan:
1 error(s) occurred:
* aws_cloudwatch_metric_alarm.alarm_name: 1 error(s) occurred:
* aws_cloudwatch_metric_alarm.alarm_name: Creating metric alarm failed: ValidationError: Exactly one element of the metrics list should return data.
status code: 400, request id: xxxxxxxx-xxxxxxx-xxxxxx\n\nTerraform does not automatically rollback in the face of errors.
Instead, your Terraform state file has been partially updated with
any resources that successfully completed. Please address the error
above and apply again to incrementally change your infrastructure."
这是 Terraform 代码:
resource "aws_cloudwatch_metric_alarm" "elb_monitor" {
alarm_name = "openam-elb-monitor"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "2"
threshold = "1"
alarm_description = "UnHealthyHostCount for openam elbs"
insufficient_data_actions = []
metric_query {
id = "elb_unhealthy_host_count"
metric {
metric_name = "UnHealthyHostCount"
namespace = "AWS/ELB"
period = "120"
stat = "Maximum"
unit = "Count"
dimensions = {
LoadBalancerName = "development_lb"
}
}
}
}
关于为什么会发生这种情况的任何想法?
解决方案
所以事实证明这是我的配置。metric_query 嵌套块的编写方式,您需要定义您希望作为警报返回的指标查询。因为这没有配置,所以我收到了exactly one error
因为默认情况下度量查询用于多个查询。