我已经建立了一个AWS AutoScaling组。如果平均负载超过65%,可以使用2个警报来增加服务器数量,如果平均负载小于35%,则增加服务器数量。不确定最后的数字是什么,但这是我最初使用的。我在linux服务器上运行了一个yes >& /dev/null命令,负载很快就上升到100% (正如linux top命令所报告的那样),但是没有启动新的实例,因为我认为警报没有触发。自动扩展器是如何计算/检索cpu平均负载的?
作为一个实验,我还杀死了响应来自服务器的AWS命令,因此,AWS认为它不健康。服务器已被终止,并启动了一个新服务器。因此,我知道由于“健康”的原因,服务器的启动/终止在Auto中工作。
发布于 2014-07-09 12:57:05
这是一个评论,不是回答。
您可以在aws中使用设定报警状态来触发警报。
aws cloudwatch set-alarm-state --alarm-name "myalarm" --state-value ALARM --state-reason "testing purposes"这样你就可以很容易地测试出它们。如果您仍然有问题,那么也许您可以发布
aws cloudwatch describe-alarms --alarm-names "myalarm"发布于 2016-08-17 06:53:17
注意:只有当一个新实例启动时,来自这两个实例的平均负载应该超过65%。因此,在您的情况下,两个实例的负载必须超过65%。只有到那时,AutoScaling组才会启动一个新实例。
您可以使用诸如BeesWithMachineGuns、Loadrunner和其他负载测试工具来增加服务器的负载,使其达到65%以上。
建议:根据Cloudwatch指标检查服务器负载,而不是从服务器内部(使用顶部)检查服务器负载。这将使您清楚地了解AWS是如何计算实例负载的。
https://stackoverflow.com/questions/24642955
复制相似问题