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

Как контролировать NLB-кластер с несколькими веб-приложениями?

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

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

На этих веб-серверах у нас есть 5+ веб-приложений ASP.NET, и в каждом приложении есть страница, на которой отображается ОК, если все в порядке. Проблема в том, что NLB не знает, не работает ли пул приложений, и в любом случае с радостью отправляет данные таким образом, а инструмент мониторинга, который проверяет страницу, может оказаться на другом сервере, который показывает, что все в порядке.

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

Спасибо.

Вероятно, есть несколько способов сделать это. Балансировщик нагрузки имеет общедоступный IP-адрес, мы назовем его A, и у каждого из ваших серверов есть IP-адрес, мы назовем B, C и D. Обычно конечный пользователь указывает на A, и NLB перенаправляет запрос на B, C или D возвращают результаты. Вы можете отслеживать B, C и D, напрямую ища сообщение OK, если ваша сеть настроена так, чтобы предоставить вам прямой доступ к B, C и D.

Xymon (ранее Hobbit) или Nagios - это инструменты мониторинга с открытым исходным кодом, которые могут отслеживать и предупреждать вас о проблемах с B, C или D.

Проблема с использованием внешнего монитора заключается в том, что вы не знаете, какой узел кластера вы достигнете, нажав IP-адрес кластера. И доступ к IP-адресу отдельного хоста не всегда совпадает с прохождением через кластер. Например, если у вас 5 веб-сайтов, это 5 IP-адресов кластера и только 1 IP-адрес хоста. Не говоря уже о привязке к нескольким IP-адресам, иногда это может приводить к проблемам в определенных приложениях, и если вы тоже используете заголовки хоста, удачи.

Я нахожусь в том же самом месте. Мы собираемся написать сценарий для каждого узла, который выполняет свою собственную проверку работоспособности (насколько я могу судить, трафик от узла кластера к кластеру всегда обрабатывается локальным узлом). Это будет запланированная задача, и если проверка не удалась, она может вызвать инструменты командной строки NLB для удаления этого узла из кластера.

Этот сценарий также может быть проверен Nagos через обычный IP-адрес управления хостом (с использованием nrpe / NSClient ++), чтобы сообщить нам, какие узлы не работают, но при этом видеть кластер как работающий.

Это довольно простые вещи, и я не понимаю, почему Microsoft не включает их в свои предложения. Сравните это с отказоустойчивой кластеризацией, которая позволяет проверять все виды ресурсов. Ну что ж...