Итак, я пытаюсь создать сигнал тревоги 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