亚马逊EC2 ELB警报 - 哪个实例不健康?

ale*_*kop 14 amazon-ec2 amazon-web-services amazon-elb

我们在Amazon EC2上托管了一些应用程序,并使用Elastic Load Balancer(ELB)来管理一个应用程序的多个实例.此外,我们已设置ELB警报以获得有关不健康主机的通知,即实例已关闭时.

到目前为止,除了AWS控制台中的ELB状态页面之外,我无法确定在警报响起时检查哪个实例确实已关闭的位置.但是,如果实例再次返回In Service状态,这对我也没有帮助.ELB发出的电子邮件通知不包含此信息; 我也无法在控制台的警报历史中找到它.

是否有办法告诉哪个实例已触发ELB警报,即使实例在此期间已恢复为OK状态?

干杯,亚历克斯

Ger*_*oli 7

遗憾的是,亚马逊没有提供运行状况检查日志,所以假设服务器不再不健康,则无法找出之后哪个实例未通过运行状况检查.您只能使用Per-Az指标来了解哪个AZ是实例.

但是,如果问题期间查询AWS api,您可以知道哪个实例已关闭.所以,我想到了一个可能的解决方法:

  • 设置新的SNS主题,并将HTTP操作添加到自定义URL,该URL触发枚举实例的作业并通过邮件向您发送该信息.
  • 然后为UnHealthyHostCount> 0设置CloudWatch警报,并将操作设置为SNS主题.

困难的部分是您的URL应该处理此处描述的SNS订阅和确认.

知道哪个实例当前是OutOfService的命令是:

elb-describe-instance-health *LoadBalancerName* --region *YourRegion*
Run Code Online (Sandbox Code Playgroud)