CloudWatch 警告使用 terraform 作为负载均衡器

CloudWatch alarams using terraform for load balancer

我正在尝试使用以下代码使用 terraform 为 LB 创建 cloudwatch 警报。我收到一个错误 此处不应有名为“alb_arn_suffix”的参数。

这是我正在使用的示例代码。

   resource "aws_cloudwatch_metric_alarm" "this" { 
      alarm_name          = "alb-alarams"
      alarm_description   = "unhealthy"
      comparison_operator = "GreaterThanOrEqualToThreshold"
      evaluation_periods  = 1
      threshold           = 1
      period              = 60
      unit                = "Count"
      namespace   = "ALB"
      metric_name = "UnHealthyHostCount"
      statistic   = "Sum"
      alb_arn_suffix = ["arn:aws:elasticloadbalancing:eu-west-2:124531745575:loadbalancer/app/alb- 
                        123/1cd382a00a565a8b"]
      alarm_actions = ["arn:aws:sns:eu-west-2:124531745575:alb-alerts"]
      dimensions = {
     Name="ALB"
     Value="test"
     }

请指教

您的aws_cloudwatch_metric_alarm几个问题

  1. alb_arn_suffix无效,因此出错。
  2. dimensions也不正确
  3. namespace 可惜也错了

UnHealthyHostCount 指标是 AWS/ApplicationELB 命名空间的一部分,它只有两组维度:

  • 目标组,负载均衡器
  • 目标组、可用性区域、负载均衡器

假设您将使用第一组,aws_cloudwatch_metric_alarm 将类似于以下内容:

 resource "aws_cloudwatch_metric_alarm" "this" { 
    alarm_name          = "alb-alarams"
    alarm_description   = "unhealthy"
    comparison_operator = "GreaterThanOrEqualToThreshold"
    evaluation_periods  = 1
    threshold           = 1
    period              = 60
    unit                = "Count"
    namespace   = "AWS/ApplicationELB"
    metric_name = "UnHealthyHostCount"
    statistic   = "Sum"
    alarm_actions = ["arn:aws:sns:eu-west-2:124531745575:alb-alerts"]
    
    dimensions = {
       TargetGroup = aws_lb_target_group.lb-tg.arn_suffix
       LoadBalancer = aws_lb.lb.arn_suffix
   }   
}

您必须用 aws_lb_target_groupaws_lb 替换您的值。