【发布时间】:2021-04-26 08:05:15
【问题描述】:
我想配置一个 cloudwatch 警报,当检测到自动扩缩组中的一个实例“空闲”时,该警报可以调低自动扩缩组的所需容量。空闲可以定义为,例如,CPU 利用率持续低于 1%。
我正在使用 terraform,所以现在我的警报配置如下。
resource "aws_cloudwatch_metric_alarm" "backend-x86_64" {
alarm_name = "backend-x86_64-is-idle"
comparison_operator = "LessThanOrEqualToThreshold"
evaluation_periods = "4"
period = "120"
metric_name = "CPUUtilization"
namespace = "AWS/EC2"
statistic = "Average"
threshold = "1"
treat_missing_data = "notBreaching"
dimensions = {
AutoScalingGroupName = aws_autoscaling_group.backend-x86_64.name
}
alarm_description = "This metric monitors ec2 cpu utilization"
alarm_actions = [aws_autoscaling_policy.backend-x86_64-shutdown.arn]
}
但是,它不起作用。下面是 CPU 利用率随时间变化的图表——它在 2 小时内处于 0%,但它没有触发。我怀疑这是因为我误解了“evaluation_periods”和“period”的交互方式。
谁能解释一下如何配置 terraform /cloudwatch 来做我想做的事?
【问题讨论】:
-
您有很多缺失的数据被视为
notBreaching。我认为您需要调整此设置。
标签: amazon-web-services amazon-ec2 terraform amazon-cloudwatch