Terraform для сигнала тревоги AWS CloudWatch для порогового значения ApproximateNumberOfMessagesVisible - PullRequest
0 голосов
/ 11 марта 2019

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

...