在boto

时间:2015-11-11 15:40:42

标签: amazon-web-services boto amazon-elb

我为它创建了一个负载均衡器和运行状况检查,之后我想验证是否已为负载均衡器正确设置运行状况检查。

我似乎找不到从负载均衡器对象中检索负载均衡器的运行状况检查(表示运行状况检查定义)的方法。

另外,我可能希望对不同的负载均衡器使用现有的运行状况检查。

任何想法?

2 个答案:

答案 0 :(得分:2)

ELB运行状况检查记录在CloudWatch中,因此您需要从CloudWatch而不是ELB获取此数据。

以下是CloudWatch and Boto的指南。

您可以使用get_metric_statistics API调用来获取此数据。您可以看到如何使用它here

修改

从下面的评论中:您已经在EC2节点上创建了一个端点,并且您正在使用ELB运行状况检查来继续测试您的端点,并且您希望检索这些运行状况检查的状态。

您无法从“ELB对象”获取此信息。根据您要检索的特定数据,您有两个选项:

  1. 如果您只想要健康主机的数量,可以通过查询ELB正在使用的每个AZ的HealthyHostCount指标来执行此操作。 Read more about this metric.
  2. 如果您需要每个特定实例的状态,则需要提交ec2:DescribeInstanceHealth API调用。值得庆幸的是,这是构建到boto
  3. 在旁注中,您应该尝试在问题中提供更多细节,以便更快地得到正确的答案。希望这是您需要的信息:)

答案 1 :(得分:0)

我认为你所追求的是这样的

#!/usr/bin/env python

import boto.ec2
import boto.vpc
import boto.ec2.elb

REGION="us-east-1"

# Connect
conn = boto.ec2.elb.connect_to_region(REGION)

# Get all ELB data for a single ELB to simplify code here
ELBset=  conn.get_all_load_balancers(load_balancer_names=[put ELB name here])
for ELB in ELBset:
    print ELB.health_check.target
    print ELB.health_check.healthy_threshold
    print
    print dir(ELB.health_check)