2015-11-11 2 views
0

Я создаю балансировщик нагрузки и проверку работоспособности для него, а затем я хочу проверить, что проверка работоспособности была правильно установлена ​​для балансировки нагрузки.получить балансировщик нагрузки healthchecks in boto

Я не могу найти способ получить медицинскую проверку (что означает определение санитарной чистоты) для балансировки нагрузки из объекта балансировки нагрузки.

Кроме того, я могу использовать существующую проверку работоспособности для другого балансировщика нагрузки.

любые идеи?

ответ

2

Проверки здоровья ELB записываются в CloudWatch, поэтому вам необходимо получить эти данные от CloudWatch, а не ELB.

Вот руководство по CloudWatch and Boto.

Вы можете использовать API-адрес get_metric_statistics, чтобы получить эти данные. Вы можете увидеть, как использовать его here

EDIT:

Из ваших комментариев ниже: Итак, вы создали конечную точку на ваши EC2 узлах, и вы используете проверки работоспособности УЗА, чтобы тестирование конечных точек и вы хотите получить статус этих проверок здоровья.

Вы не можете получить эту информацию из «объекта ELB». В зависимости от конкретных данных, которые вы хотите, чтобы получить у вас есть 2 вариант:

  1. Если вы просто хотите, количество хостов здоровья, вы можете сделать это с помощью запросов метрики HealthyHostCount для каждого AZ вашего ELB работает с. Read more about this metric.
  2. Если вам нужен статус каждого конкретного экземпляра, вам необходимо отправить API-адрес ec2:DescribeInstanceHealth. К счастью, это встроено в boto.

На боковой ноте вы должны попытаться предоставить более подробную информацию в своих вопросах, чтобы быстрее получить правильный ответ. Надеюсь, что это информация вам нужна :)

+0

Привет, это не совсем то, что я имел в виду: я не могу показаться, чтобы найти путь к (см. определение санитарной проверки) ** для балансировки нагрузки из объекта балансировки нагрузки. –

+0

«определение санитарной чести» неоднозначно и не является термином, используемым AWS, по крайней мере, насколько мне известно. Можете ли вы быть более конкретным и подробным о том, какую точную информацию вы пытаетесь получить? :) – mickzer

+0

Я создаю санузел для «/ развертывания/статус» с интервалом в 5 секунд. Я хочу вернуть конечную точку: интервал «/ deployments/status»: 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_, он отвечает на вопрос. Предоставление этого дополнительного контекста значительно улучшит его долгосрочную образовательную ценность. Пожалуйста, отредактируйте свой ответ, чтобы добавить объяснение, включая ограничения и допущения. –

Смежные вопросы