Назад | Перейти на главную страницу

предупреждать, когда сервер выходит из балансировщика нагрузки

У нас есть несколько сайтов в разных средах. Многие среды сбалансированы по нагрузке с помощью двух веб-серверов (а в некоторых случаях и двух серверов приложений). Дважды за последние два месяца мы сталкивались с ситуацией, когда сервер был непреднамеренно отключен от балансировщика нагрузки. Это укусило нас через несколько дней, когда второй сервер был отключен и сайт полностью отключился. В обоих случаях проблема была обнаружена и быстро исправлена, но это наводит меня на мысль, что нам нужно предупреждение, когда сервер выходит из балансировщика нагрузки. Наши обычные оповещения здесь не работают, потому что в обоих случаях веб-сайт на сервере работал и отвечал, его просто не было в LB.

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

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

Мы используем Windows, ASP.NET, IIS, если это важно.

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

Проверьте эту ссылку

http://rtomaszewski.blogspot.com/2013/07/default-adx-brocade-health-settings.html

Я больше знаком с терминологией F5, вам нужно создать irule, я не уверен, как их называет Brocade.

В итоге мы использовали Splunk. У нас есть предупреждение, которое сканирует журналы IIS и проверяет количество запросов на каждом сервере отдельно. Если количество запросов падает ниже определенного порога, он отправляет предупреждение по электронной почте.

Другая возможность - настроить на Brocade правило, согласно которому, если HTTP-запрос имеет определенный заголовок, например ForceServer = PROD1, всегда отправлять этот запрос на конкретный сервер. Это работает, если ваш веб-монитор поддерживает отправку пользовательских заголовков HTTP. AlertSite, который мы используем, работает, если вы используете их монитор API.