乘客 - 使用"队列中的请求"作为自动缩放的AWS指标

时间:2017-10-22 11:48:57

标签: amazon-web-services amazon-ec2 ruby-on-rails-5 passenger autoscaling

我很惊讶地发现很少有关于使用Phusion Passenger进行EC2自动缩放的信息。

我实际上不久前发现了一个指标"队列中的请求"在运行passenger-status

时暴露

我想知道这个统计数据是否会成为一个很好的指标来帮助自动缩放。

目前大多数AWS EC2自动调节指南都提到使用CPU和内存来编写自动调节规则,但我觉得这不足够。当我考虑自动缩放应该解决的问题,即能够扩展到需求时,我宁愿将这些规则基于报告节点运行状况或集群拥塞的待处理/已完成请求的数量,以及乘客"队列中的请求" (以及每个流程,"上次使用"以及"已处理"计数)似乎很有用。

我想知道它可以报告这个"队列中的请求" stat(以及最终其他)定期作为AWS指标。我认为以下规则对于自动缩放是理想的:如果队列中的"请求的平均数量为#34;在自动调整的实例上,如果超过阈值,则会触发从自动缩放组生成新计算机。

这可能吗? 有没有人尝试过这种方式基于队列中的请求数量来实现自动调节规则?

1 个答案:

答案 0 :(得分:4)

这是完全可能的(也是一种很好的方法)。

第1步。为“队列中的请求”创建自定义CloudWatch指标。 您必须编写运行passenger-status的自己的代理,提取值并将其发送到CloudWatch。您可以使用任何AWS开发工具包或仅使用AWS CLI:http://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-data.html

第2步。根据您的自定义指标创建向上扩展和缩小的警报。

第3步。修改Auto Scaling组的扩展策略,以使用自定义警报向上/向下扩展。