Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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 Elastic Beanstalk Worker sqsd在所有实例上都处于故障模式_Amazon Web Services_Amazon Sqs_Amazon Elastic Beanstalk - Fatal编程技术网

Amazon web services Elastic Beanstalk Worker sqsd在所有实例上都处于故障模式

Amazon web services Elastic Beanstalk Worker sqsd在所有实例上都处于故障模式,amazon-web-services,amazon-sqs,amazon-elastic-beanstalk,Amazon Web Services,Amazon Sqs,Amazon Elastic Beanstalk,我有一个弹性的beanstalk worker环境,从我的最新部署开始,该环境已过渡到“严重”健康状态。它给我的错误是: sqsd在所有实例上都处于故障模式 如何修复此问题/获取有关此问题的更多信息?这几乎可以肯定,因为您最近的部署未通过运行状况检查。请参阅/var/log/aws sqsd/default.log的内容(可通过环境的“日志”部分找到)。这将为您提供更多信息,例如: 对URL“”的服务运行状况检查失败,http状态代码为“500” sqsd处于故障模式错误可能有不同的原因,例如,

我有一个弹性的beanstalk worker环境,从我的最新部署开始,该环境已过渡到“严重”健康状态。它给我的错误是:

sqsd在所有实例上都处于故障模式


如何修复此问题/获取有关此问题的更多信息?

这几乎可以肯定,因为您最近的部署未通过运行状况检查。请参阅/var/log/aws sqsd/default.log的内容(可通过环境的“日志”部分找到)。这将为您提供更多信息,例如:

对URL“”的服务运行状况检查失败,http状态代码为“500”


sqsd处于故障模式
错误可能有不同的原因,例如,健康检查可能会失败,http状态代码为
400
500
,具体取决于一些潜在问题

要了解更多信息,您可以
ssh
进入worker实例(例如EC2管理控制台>实例>实例>实例上的RMB>连接),然后尝试探测
http://localhost/
,例如使用
curl

有一次,我们的工作环境出现了类似的
sqsd处于故障模式的
错误,状态为
400
。这是由于(Django)
settings.py中的
ALLOWED\u HOSTS
值不正确造成的

还有一次,在尝试更新到最新的Amazon Linux平台版本后,我们的worker环境中出现了类似的问题,状态为500。请注意,我们的worker env已经运行了好几个月,没有出现任何问题,并且我们没有修改应用程序版本,也没有修改环境配置

失败的平台更新尝试的日志(
aws sqsd/default.log
)显示:

2018-10-19T09:06:52Z healthcheck错误:服务healthcheck到URL”http://localhost/health/“失败,http状态代码为“500”

然而,更新尝试失败之前的日志显示:

2018-10-19T08:38:43Z消息:发送至http://localhost:80

有趣的是,根据《健康检查指南》,员工甚至不能使用健康检查URL(如果我理解正确的话…):

在单个实例或工作者层环境中,Elastic Beanstalk通过监视其Amazon EC2实例状态来确定实例的运行状况。弹性负载平衡运行状况设置,包括HTTP运行状况检查URL,不能在这些环境类型中使用。[我的重点]

奇怪的是,我们的worker环境当时是使用EB web控制台配置的,使用下拉菜单中的“基于健康的滚动更新”配置部署策略“使用附加批处理滚动”

这似乎与上面的引用直接矛盾,这意味着我们的活动配置实际上是无效的(即使env已经成功运行了很长时间)

果不其然,如果我现在尝试使用EB web控制台修改环境配置中的某些内容(任何内容),我会突然遇到一个以前从未出现过的错误:

“无效的选项值:'Health'(命名空间:'aws:autoscaling:updatepolicy:rollingupdate',选项名称:'RollingUpdateType'):无法为工作层环境启用基于运行状况的滚动更新。”

此外,“基于健康的滚动更新”选项不再出现在“滚动更新类型”下拉列表中(但在我尝试应用更改之前它就已经出现了)

--编辑--


上述问题已由AWS支持部门确认。

我使用示例应用程序创建了一个新的worker。它应该失败吗?@HaseebBurki您的任何环境都不应该通过健康检查。如果您遇到问题,请在Stackoverflow上发布新问题。