我已经使用terraform配置了以下AWS Cloudwatch警报。但是,当我查看警报数据时,我没有看到任何值。不会触发警报。
resource "aws_cloudwatch_metric_alarm" "Test_Alarm" {
alarm_name = "Test_Alarm"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = "RequestCount"
namespace = "AWS/ApplicationELB"
period = "60"
statistic = "Sum"
threshold = "2"
alarm_description = "Test_Alarm_ALB"
treat_missing_data = "notBreaching"
alarm_actions = ["${aws_sns_topic.sns_topic.arn}"]
ok_actions = ["${aws_sns_topic.sns_topic.arn}"]
dimensions = {
LoadBalancer = aws_alb.application_load_balancer.name
}
}
# SNS Topic for Errors
resource "aws_sns_topic" "sns_topic" {
name = "${var.app_name}-sns_topic"
}
resource "aws_sns_topic_policy" "notify_policy" {
arn = aws_sns_topic.sns_topic.arn
policy = data.aws_iam_policy_document.notify_policy.json
}
data "aws_iam_policy_document" "notify_policy" {
statement {
actions = [
"SNS:Publish",
]
resources = [
"${aws_sns_topic.sns_topic.arn}",
]
principals {
type = "Service"
identifiers = ["cloudwatch.amazonaws.com"]
}
}
}发布于 2021-09-01 15:00:41
解决了这个问题。在“维度”中有问题。
而不是.name的负载均衡器值
dimensions = {
LoadBalancer = aws_alb.application_load_balancer.name
}应该使用.arn_suffix
dimensions = {
LoadBalancer = aws_alb.application_load_balancer.arn_suffix
}https://stackoverflow.com/questions/69007663
复制相似问题