7

アプリケーションにAWSCloudFormationを使用しており、それぞれのテンプレートを介してリクエストカウントアラームを作成しようとしています。Elastic Load Balancerのリクエストカウントアラームを直接正常に作成できますが、CloudFormationテンプレートを介して同じことを達成しようとすると、 AmazonCloudWatch内のアラーム状態は「不十分なデータ」になります。

私のELBJSONは次のとおりです。

"ElasticLoadBalancer": {
  "Type": "AWS::ElasticLoadBalancing::LoadBalancer",
  "Properties": {
    "AvailabilityZones": {
      "Fn::GetAZs": ""
    },
    "Listeners": [
      {
        "LoadBalancerPort": "80",
        "InstancePort": {
          "Ref": "WebServerPort"
        },
        "Protocol": "HTTP"
      }
    ],
    "HealthCheck": {
      "Target": {
        "Fn::Join": [
          "",
          [
            "HTTP:",
            {
              "Ref": "WebServerPort"
            },
            "/"
          ]
        ]
      },
      "HealthyThreshold": "3",
      "UnhealthyThreshold": "5",
      "Interval": "30",
      "Timeout": "5"
    }
  }
},

私のアラームJSONは次のとおりです。

"StatisticAlarmLow": {
  "Type": "AWS::CloudWatch::Alarm",
  "Properties": {
    "AlarmDescription": "Alarm if there are too many unhealthy hosts.",
    "MetricName": "RequestCount",
    "Namespace": "AWS/ELB",
    "Statistic": "Sum",
    "Period": "60",
    "EvaluationPeriods": "2",
    "ComparisonOperator": "LessThanThreshold",
    "Threshold": "1500",
    "AlarmActions": [
      {
        "Ref": "WebServerScaleUpPolicy"
      }
    ],
    "Unit": "Count",
    "Dimensions": [
      {
        "Name": "AutoScalingGroupName",
        "Value": {
          "Ref": "WebServerGroup"
        }
      }
    ]
  }
},

"StatisticAlarmHigh": {
  "Type": "AWS::CloudWatch::Alarm",
  "Properties": {
    "AlarmDescription": "Alarm if there are too many unhealthy hosts.",
    "MetricName": "RequestCount",
    "Namespace": "AWS/ELB",
    "Statistic": "Sum",
    "Period": "60",
    "EvaluationPeriods": "2",
    "ComparisonOperator": "GreaterThanThreshold",
    "Threshold": "4000",
    "AlarmActions": [
      {
        "Ref": "WebServerScaleUpPolicy"
      }
    ],
    "Unit": "Count",
    "Dimensions": [
      {
        "Name": "AutoScalingGroupName",
        "Value": {
          "Ref": "WebServerGroup"
        }
      }
    ]
  }
},

以上のことから、「データ不足」を状態としてアラームを発生させます。誰かが理由を教えてもらえますか?また、ELBでリクエストカウントアラームを使用するために利用できるサンプル/サンプルテンプレートがある場合は、それをいただければ幸いです。

4

1 に答える 1

7

AmazonCloudFormationテンプレートのElasticLoadBalancing (ELB)フラグメントアラームフラグメントは問題ないようですが、Amazon CloudWatchフラグメントには、 WebServerGroupという名前のAutoScalingGroupNameを参照している限り、おそらく正しくないディメンションが含まれています。これは、Elasticのディメンションのセクションでサポートされているディメンションではありません。CloudWatchを使用したロードバランサーのモニタリングページの「負荷分散メトリクス」では、 ElasticLoadBalancingデータを次のディメンションのいずれかに沿って集約できると述べています。

  • LoadBalancerName-メトリックスデータを、指定されたロードバランサーに接続されているAmazonEC2インスタンスに制限します
  • AvailabilityZone-メトリックデータを、指定されたアベイラビリティーゾーンのロードバランサーに制限します。
于 2012-04-07T21:33:39.400 に答える