【问题标题】:Configuring a cloudwatch "idle" alarm配置 cloudwatch “空闲”警报
【发布时间】: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


【解决方案1】:

这些差距表明您的实例仅具有基本监控功能,其中数据在 5 分钟内可用。

根据您当前的监控策略,该策略在 8 分钟内检查 4 个数据点的 CPU 利用率是否低于 1%,这意味着每 2 分钟一个数据点加上缺失的数据被视为良好,这意味着您的警报永远不会被触发.


启用Detailed Monitoring 会以 1 分钟的间隔为您获取数据,您应该能够正确获取此警报。

【讨论】:

    猜你喜欢
    • 2012-10-03
    • 2021-10-30
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2021-05-25
    • 2022-01-01
    相关资源
    最近更新 更多