7

Я использую AWS CloudFormation для своего приложения и пытаюсь сделать запрос подсчета количества запросов через соответствующий шаблон. Я могу успешно выполнить запрос подсчета количества запросов непосредственно для Elastic Load Balancer, но состояние тревоги в пределах Amazon CloudWatch - это «недостаточные данные», когда я пытаюсь достичь этого с помощью шаблона CloudFormation.Почему будильник запроса CloudWatch, созданный с помощью CloudFormation, дает «Недостаточно данных»?

Мои ELB JSON является:

"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, это будет оценено.

ответ

6

Фрагмент сигнализации Elastic Load Balancing (ELB) фрагмента ваших Amazon CloudFormation шаблона кажется, хорошо, но ваш Amazon CloudWatch фрагмент содержит предположительно неправильный размер, поскольку он ссылается на AutoScalingGroupName имя WebServerGroup - это не поддерживаются измерение в соответствии с разделом Размеров для Elastic Load Balancing Метрики на странице Monitoring Your Load Balancer Using CloudWatch, с указанием Упругие данные балансировки нагрузки могут быть объединены по любой из следующих размеров:

  • LoadBalancerName - Ограничивает метрические данные экземплярами Amazon EC2, подключенными к указанному балансировщику нагрузки.
  • AvailabilityZone - Ограничивает метрические данные для загрузки балансиров в указанной зоне доступности.
+0

Спасибо, Steffen Opel. Я изменил размеры, и он работает. –

Смежные вопросы