【发布时间】:2019-08-01 19:58:19
【问题描述】:
所以我正在尝试创建一个 Cloudwatch 警报,当“ApproximateNumberOfMessagesVisible”指标超过给定阈值时,该警报将达到“警报”状态。我已经对此进行了很多修改,但我无法让它达到“警报”状态,即使队列中可见的消息数量肯定超过了阈值。我可能弄错了尺寸或其他东西,或者它可能无法以某种方式轮询队列......但我不确定如何解决它,因为一切看起来或多或少都是正确的......?我真的很感激一些帮助。
我也不太确定treat_missing_data 字段...有没有办法设置它来轮询队列?
这是我的 Terraform。目前,自动缩放政策与此问题无关。
resource "aws_cloudwatch_metric_alarm" "queue-depth-alarm-2" {
alarm_name = "queue-depth-alarm"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = "ApproximateNumberOfMessagesVisible"
namespace = "AWS/SQS"
period = "60"
statistic = "Average"
threshold = "5000"
treat_missing_data = "notBreaching"
dimensions = {
QueueName = "${aws_sqs_queue.my_sqs_inbound_all.name}"
AutoScalingGroupName = "${aws_autoscaling_group.myapp.name}"
}
alarm_description = "This metric monitors queue depth and scales up or down accordingly."
alarm_actions = ["${aws_autoscaling_policy.myapp-scaleup-policy.arn}", "${aws_sns_topic.myqueue_depth_alert_topic.arn}"]
ok_actions = ["${aws_autoscaling_policy.myapp-scaledown-policy.arn}"]
}
这是警报在 CloudWatch 控制台中的外观: https://i.stack.imgur.com/9Jqv8.png
【问题讨论】:
-
警报配置在 CloudWatch 控制台中是否正确?上面的代码看起来不错,但是如果没有实际看到您的队列,很难说这里出了什么问题。您是否能够通过 CloudWatch 控制台创建一个警报来触发您想要的方式?
-
我已经编辑了问题以在控制台中包含警报状态的图片:)。我无法在实际控制台中创建警报,因为它不会在下拉列表中显示我的 ASG,这很奇怪,因为它们确实存在......
-
为什么要添加 Auto Scaling Group 作为维度?很确定 SQS 不关心 Auto Scaling 组。唯一的维度应该是队列名称。
-
^ 这就是问题所在!非常感谢!!!
标签: amazon-web-services terraform amazon-cloudwatch