Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Amazon CloudWatch-报警时重复操作_Amazon Web Services_Amazon Ec2_Amazon Sqs_Amazon Cloudwatch - Fatal编程技术网

Amazon web services Amazon CloudWatch-报警时重复操作

Amazon web services Amazon CloudWatch-报警时重复操作,amazon-web-services,amazon-ec2,amazon-sqs,amazon-cloudwatch,Amazon Web Services,Amazon Ec2,Amazon Sqs,Amazon Cloudwatch,我正在使用Amazon CloudWatch服务来管理一组EC2实例。更准确地说,当警报从OK状态更改为alarm状态时,我会执行自动缩放操作 考虑以下示例:当SQS队列长度连续5分钟小于1时,有一个缩减操作终止一个实例。假设有5个实例正在运行,然后发出警报,我们有4个实例正在运行。但是我希望CloudWatch在我处于报警状态时继续执行我的操作!我想有3个,然后是2个,然后只有一个实例,当我没有什么要处理的时候 我尝试了另一种方法:在自动缩放操作之后立即将报警状态重置为不足的_数据。通过这种方

我正在使用Amazon CloudWatch服务来管理一组EC2实例。更准确地说,当警报从OK状态更改为alarm状态时,我会执行自动缩放操作

考虑以下示例:当SQS队列长度连续5分钟小于1时,有一个缩减操作终止一个实例。假设有5个实例正在运行,然后发出警报,我们有4个实例正在运行。但是我希望CloudWatch在我处于报警状态时继续执行我的操作!我想有3个,然后是2个,然后只有一个实例,当我没有什么要处理的时候

我尝试了另一种方法:在自动缩放操作之后立即将报警状态重置为不足的_数据。通过这种方式,我可以有效地将我的池缩小到一个实例,但随后整个系统陷入“无限循环”:我将状态更改为不足的_数据,然后Amazon立即再次发出警报,然后我更改状态等等

所以,我想要:亚马逊在出现警报状态时重复我的警报动作,或者有一些警报冷却期,以防止亚马逊在状态改变后立即启动警报


请帮助我找到解决问题的正确方法。

当触发报警时,自动校准将根据您的自动校准策略进行缩放。但是,它还将锁定自动缩放组,以便在该时间段内不接受任何其他缩放请求

一旦资源被配置/取消配置,那么自动缩放冷却期就开始了,在此期间它不会接受任何其他cloudwatch触发器。一旦冷却期结束,它就可以接受Cloudwatch alarm发出的任何新的缩放请求

详细说明了整个过程

所以

基本上,您需要的是让自动缩放不间断地响应cloudwatch警报。换句话说,您不希望有冷却期,或者希望冷却期为零。默认冷却时间为300秒。您可以将自动缩放策略配置为零冷却期,以便在警报在该时间范围内保持活动的情况下,将实例数从5减少到4,从3减少到2,从1…等等

单击可配置冷却时间的命令


将冷却降至零意味着什么?嗯,我不知道,但从技术上/理论上讲,这是您必须期待的。

当触发警报时,自动校准将根据您的自动校准策略进行缩放。但是,它还将锁定自动缩放组,以便在该时间段内不接受任何其他缩放请求

一旦资源被配置/取消配置,那么自动缩放冷却期就开始了,在此期间它不会接受任何其他cloudwatch触发器。一旦冷却期结束,它就可以接受Cloudwatch alarm发出的任何新的缩放请求

详细说明了整个过程

所以

基本上,您需要的是让自动缩放不间断地响应cloudwatch警报。换句话说,您不希望有冷却期,或者希望冷却期为零。默认冷却时间为300秒。您可以将自动缩放策略配置为零冷却期,以便在警报在该时间范围内保持活动的情况下,将实例数从5减少到4,从3减少到2,从1…等等

单击可配置冷却时间的命令


将冷却降至零意味着什么?嗯,我不知道,但从技术上/理论上讲,这是您必须期待的。

嗯,也许我应该提供有关问题的更多细节。我不能在策略中使用默认缩放,因为自动缩放只是在实例有未完成的工作时关闭它们。为了避免这种情况,我在过程中实现了如下scale:当发出警报时,CloudWatch将消息放入特殊的SQS队列。其中一个正在运行的EC2实例处理它,完成所有任务并自行关闭。我真正想要的是CloudWatch在发出警报时定期将我的实例关闭消息放入队列。。。我知道我可以“用手”实现这样的功能,但这是额外的运行机器,代码和维护成本更高,我希望能够避免它。对于其他任何登陆这里的人来说:通过2015年12月发布的“终止保护”功能,现在可以防止实例被中断。嗯,也许我应该提供更多关于这个问题的细节。我不能在策略中使用默认缩放,因为自动缩放只是在实例有未完成的工作时关闭它们。为了避免这种情况,我在过程中实现了如下scale:当发出警报时,CloudWatch将消息放入特殊的SQS队列。其中一个正在运行的EC2实例处理它,完成所有任务并自行关闭。我真正想要的是CloudWatch在发出警报时定期将我的实例关闭消息放入队列。。。我知道我可以“用手”实现这样的功能,但这是额外的运行机器,代码和维护成本更高,我希望能够避免它。对于在此登陆的任何其他人:通过2015年12月发布的“终止保护”功能,现在可以防止实例中断。