2015-11-11 54 views
0

我爲它創建負載均衡器和健康檢查,之後我想驗證負載均衡器的健康檢查已正確設置。在boto中獲取負載均衡器健康檢查

我似乎無法找到一種方法來從負載平衡器對象中檢索負載平衡器的健康檢查(表示健康檢查定義)

此外,我可能想要爲不同的負載平衡器使用現有的運行狀況檢查。

有什麼想法?

回答

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

在附註中,您應該嘗試在問題中提供更多的細節,以便更快地獲得正確答案。希望這是你需要:)的信息

+0

嗨,這不正是我的意思是: 我似乎無法找到一種方法來從負載均衡器對象中檢索負載均衡器的健康檢查**(表示健康檢查定義)**。 –

+0

「健康檢查定義」不明確,至少就我所知,它不是AWS使用的術語。你可以更具體和詳細地瞭解你想要檢索的確切信息嗎? :) – mickzer

+0

我使用5秒間隔爲「/ deployments/status」創建健康檢查。我想回到端點:「/ deployments/status」interval:5 –

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) 
+0

歡迎來到Stack Overflow!雖然這段代碼可能有助於解決問題,但它並沒有解釋_why_和/或_how_它是如何回答這個問題的。提供這種附加背景將顯着提高其長期教育價值。請[編輯]您的答案以添加解釋,包括適用的限制和假設。 –