在AWS CloudWatch和AutoScaling中定位特定SQS队列

时间:2013-05-23 21:18:42

标签: amazon-web-services amazon-cloudwatch autoscaling

我是AWS AutoScaling和CloudWatch的新手,我在Windows命令行上使用这两个sdks。我要做的事情是不可能的,教程中缺少信息,或者我完全理解断开连接。请帮我弄清楚哪一个。

我已成功使用AWS设置了与这些策略相关的启动配置,自动调节器,策略和警报。但是,通过我所经历的所有教程以及Web上的示例,我还没有看到如何实际指定我希望我的警报监视指标的队列。

假设我在Amazon Cloud中有几个队列。如何在我的一个队列中指定设置自动缩放和警报,而不是其他队列?

我遵循了以下教程:

  1. http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_BasicSetup.html
  2. http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html
  3. 中创建政策和警报部分

1 个答案:

答案 0 :(得分:3)

确定。 简短的回答是你需要添加到--dimensions参数。

--dimensions="QueueName=TheNameOftheQueue"

答案很长,文档只是部分在他们的网站上。 假设你以此为出发点: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-using-sqs-queue.html, 你到了遇到麻烦的地方:

prompt>mon-put-metric-alarm --alarm-name AddCapacityToProcessQueue  --metric-name ApproximateNumberOfMessagesVisible --namespace “AWS/SQS” --statistic Average --period 60 --threshold 3 --comparison-operator GreaterThanOrEqualToThreshold --dimensions “AutoScalingGroupName=my-test-asg” --evaluation-periods 2 --alarm-actions arn:aws:autoscaling:us-east-1:803981987763:scalingPolicy:f4390e81-9a48-4655-ba57-f059d17799ea:autoScalingGroupName/my-test-asg:policyName/my-sqs-scaleout-policy

问题是尺寸未在其示例中完全填写:

--dimensions “AutoScalingGroupName=my-test-asg”

要知道这种特殊类型的警报可能具有哪些尺寸,这将是有用的...你会去这里:http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension,但是...当然只有以下列表:

  

Amazon EC2指标的维度

     

Elastic Load Balancing指标的维度

     

RDS指标的维度

这个帖子https://forums.aws.amazon.com/thread.jspa?threadID=72613最终/最后回答了这个问题。 (答案是json格式,所以你必须转换为命令行语法)。即。 --dimensions = “键名=键值,键名=键值”。

希望这会有所帮助。 :)