通过php以编程方式获取AWS Elastic Beanstalk运行状况代码

时间:2019-06-08 14:50:17

标签: php amazon-web-services amazon-elastic-beanstalk

我有一个AWS Elastic Beanstalk实例,在上面运行了一些cron。偶尔有问题

Environment health has transitioned from Ok to Severe. 4.5 % of the requests to the ELB are failing with HTTP 5xx (2 minutes ago)

我设置了警报以让我知道这一点,并且该部分正常工作。但是,如果环境健康状况不是“正常”或“警告”,我想阻止执行任务。有没有办法从运行在同一实例上的php脚本以编程方式获取运行状况状态代码(如下图所示,用红色圆圈圈出)?

AWS Elastic Beanstalk health code

2 个答案:

答案 0 :(得分:0)

在这种情况下,我将使用CloudWatch警报来触发发送通知电子邮件。

首先要了解的是,Elastic Beanstalk是一种方便的工具,可以在AWS上引导基础架构。通过Elastic Beanstalk的cli或控制台设置的任何内容,都可以在EC2页面上进行几乎相同的操作。

  1. 在AWS控制台上,转到EC2
  2. 转到负载平衡/目标组
  3. 找到附加到由Elastic Beanstalk创建的负载均衡器的正确目标组
  4. 选中“监视”选项卡,您应该看到“ CloudWatch警报:未配置警报”
  5. 单击“创建警报”并完成其余的操作,您可能需要创建主题,设置电子邮件地址并定义警报触发条件。

答案 1 :(得分:0)

假设您的应用程序中有一个health脚本,该脚本会定期对Bean进行ping操作,那么您应该能够确定您的应用程序是否正常运行。您不应该依赖于以编程方式从Benstalk获取状态。

例如,在您的health脚本中,可以设置应用程序是否正常的标志。这样的标志可以是文件系统中被触摸文件的形式。或在缓存中某处使用标志(如果您使用的话)。例如:内存缓存。