отслеживать входящие http-запросы на веб-сайт с помощью балансировщика нагрузки

Я столкнулся с проблемой мониторинга http-запросов веб-сайта с помощью балансировщика нагрузки, подключенного к Интернету. Чтобы быть конкретным, я разместил веб-сайт, который использует ферму серверов экземпляров AWS EC2 с балансировщиком нагрузки (ELB) впереди. Теперь я хочу получить представление о скорости поступления запросов в секунду (или в минуту) для масштабирования фермы серверов.

Я подумал о подходе к выполнению этой задачи онлайн. Идея состоит в том, чтобы каждую минуту получать журнал ELB и анализировать его на предмет количества HTTP-запросов за последнюю минуту. Просто интересно, есть ли какой-нибудь эффективный способ сделать это онлайн.

Любая помощь будет высоко оценен.


person sim    schedule 06.01.2015    source источник
comment
Анализ журналов — это хороший способ, или вы можете использовать инструмент wireshark для мониторинга http-трафика на ELB. Недостатком ELB являются накладные расходы, но они намного меньше.   -  person Nachiket Kate    schedule 06.01.2015
comment
Где я должен установить Wireshark? Может ли он отслеживать запросы с любого компьютера по URL-адресу веб-приложения?   -  person sim    schedule 07.01.2015
comment
Вам необходимо установить его на балансировщик нагрузки (ELB). Вы можете отслеживать все запросы, поступающие в ELB. Он имеет множество фильтров, основанных на URL-адресе, IP-адресе, протоколе и т. д. Он может предоставить файл журнала, из которого вы можете извлечь количество запросов, поступающих в ELB за определенный период времени, и, таким образом, узнать скорость поступления. примеры подробностей: howtogeek. com/104278/   -  person Nachiket Kate    schedule 07.01.2015
comment
@NachiketKate неясно, о чем вы думаете, но это не Amazon ELB. ELB — это управляемая служба, которая предоставляет автоматически масштабируемый кластер узлов, к которым у вас нет административного доступа. Вы не можете ничего установить на ELB.   -  person Michael - sqlbot    schedule 08.01.2015


Ответы (1)


Лучше всего использовать облачные часы AWS для мониторинга:

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_MonitoringLoadBalancerWithCW.html

Elastic Load Balancing публикует в Amazon CloudWatch точки данных о ваших балансировщиках нагрузки и экземплярах серверных приложений. CloudWatch позволяет получать статистику об этих точках данных в виде упорядоченного набора данных временных рядов, известных как метрики. Думайте о метрике как о переменной, которую нужно отслеживать, а точки данных представляют значения этой переменной во времени. Каждая точка данных имеет связанную отметку времени и (необязательно) единицу измерения. Например, метрикой может быть общее количество работоспособных экземпляров EC2 за балансировщиком нагрузки за указанный период времени.

Amazon CloudWatch предоставляет статистику на основе точек данных метрик, опубликованных Elastic Load Balancing. Статистические данные представляют собой совокупность метрических данных за определенные периоды времени. Доступны следующие статистические данные: Минимум (мин), Максимум (макс), Сумма, Среднее и Количество. Когда вы запрашиваете статистику, возвращаемый поток данных идентифицируется по имени метрики и измерению. Измерение — это пара имя/значение, которая помогает однозначно идентифицировать метрику. Например, вы можете запросить статистику обо всех работоспособных инстансах EC2 за балансировщиком нагрузки, запущенным в определенной зоне доступности.

person E.J. Brennan    schedule 07.01.2015
comment
Я давно работаю с AWS CloudWatch. Однако CloudWatch не предоставляет сведения о скорости поступления запросов. Метрика RequestCount в ELB — это показатель количества выполненных запросов в минуту, а не скорости поступления. - person sim; 07.01.2015