EdgeADC
Руководство по администрированию Edgenexus ADC
×
Menu

Мониторы реальных серверов

При настройке балансировки нагрузки полезно отслеживать состояние реальных серверов и работающих на них приложений. Например, в веб-серверах можно настроить специальную страницу, которую можно использовать для мониторинга состояния, или воспользоваться одной из других систем мониторинга, имеющихся в ADC.
Страница Library > Real Server Monitors позволяет добавлять, просматривать и редактировать пользовательский мониторинг. Это "Проверки здоровья" сервера уровня 7, которые выбираются из поля Мониторинг сервера на вкладке Основные для определенной вами виртуальной службы.
Страница "Мониторы реального сервера" состоит из трех разделов.
·     Подробности
·     Загрузить
·     Индивидуальные мониторы
Подробности
Раздел Подробности используется для добавления новых мониторов и удаления тех, которые вам не нужны. Вы также можете редактировать существующий монитор, дважды щелкнув по нему.
Имя
Имя по вашему выбору для вашего монитора.
Описание
Текстовое описание для этого Монитора, и мы рекомендуем сделать его максимально описательным.
Метод мониторинга
Выберите метод мониторинга из раскрывающегося списка. Доступны следующие варианты:
Метод мониторинга
Описание
Пример
HTTP 200 OK
Создается TCP-соединение с реальным сервером. После установления соединения на реальный сервер отправляется короткий HTTP-запрос. Ожидается HTTP-ответ от сервера, который затем проверяется на наличие кода ответа "200 OK". Если получен код ответа "200 OK", считается, что Реальный сервер работает. Если по какой-либо причине код ответа "200 OK" не получен, включая тайм-ауты или невозможность подключения, то считается, что реальный сервер не работает и недоступен. Этот метод мониторинга можно использовать только для типов служб HTTP и Accelerated HTTP. Однако, если для HTTP-сервера используется тип службы уровня 4, его все равно можно использовать, если SSL не используется на реальном сервере или обрабатывается соответствующим образом с помощью средства "Content SSL".
Имя: 200OK
Описание: Проверка производственного веб-сайта
Метод мониторинга: HTTP 200 OK
Расположение страницы: /main/index.html ИЛИ HTTP://www.edgenexus.io/main/index.html Требуемое содержание: N/A
HTTP-ответ
К реальному серверу устанавливается соединение и HTTP-запрос/ответ, который проверяется, как описано в предыдущем примере. Но вместо того, чтобы проверять код ответа "200 OK", заголовок HTTP-ответа проверяется на наличие пользовательского текстового содержимого. Текст может быть полным заголовком, частью заголовка, строкой из части страницы или просто одним словом. Если текст найден, считается, что Real Server работает. Этот метод мониторинга можно использовать только для типов служб HTTP и Accelerated HTTP. Однако, если для HTTP-сервера используется тип службы уровня 4, его все равно можно использовать, если SSL не используется на реальном сервере или обрабатывается соответствующим образом средством "Content SSL".
Имя: Сервер поднят
Описание: Проверьте содержимое страницы на наличие "Server Up. "
Метод мониторинга: HTTP-ответ
Расположение страницы: /main/index.html ИЛИ HTTP://www.edgenexus.io/main/index.html Требуемое содержание: Загрузка сервера
DICOM
Мы отправляем DICOM-эхо, используя значение "Source Calling" AE Title в колонке требуемого содержимого. Вы также можете установить значение AE Title "Destination Called" в разделе Notes каждого сервера. Вы можете найти столбец Notes в IP Services-.
-Виртуальные службы - Страница сервера.
Имя: DICOM
Описание: Проверка работоспособности L7 для службы DICOM
Метод мониторинга: DICOM
Расположение страницы: N/A
Необходимое содержание: Значение AET
TCP вне диапазона
Метод TCP Out of Band похож на TCP Connect, за исключением того, что вы можете указать порт, который хотите отслеживать, в колонке требуемого содержимого. Этот порт обычно не совпадает с портом трафика и используется, когда вы хотите связать службы вместе
Имя: TCP вне диапазона
Описание: Мониторинг порта вне диапазона/трафика
Расположение страницы: N/A
Необходимое содержание: 555
Многопортовый монитор TCP
Этот метод похож на описанный выше, за исключением того, что вы можете использовать несколько различных портов. Монитор считается успешным только в том случае, если все порты, указанные в разделе требуемого содержимого, отвечают правильно.
Название: Многопортовый монитор
Описание: Мониторинг нескольких портов для успешной работы
Расположение страницы: N/A
Необходимое содержание: 135,59534,59535
 
 
 
Расположение страницы
URL Расположение страницы для HTTP-монитора. Это значение может быть относительной ссылкой, например /folder1/folder2/page1.html. Вы также можете использовать абсолютную ссылку, где веб-сайт привязан к имени хоста.
Необходимое содержание
Это значение содержит любое содержимое, которое монитор должен обнаружить и использовать. Представленное здесь значение будет меняться в зависимости от выбранного метода мониторинга.
Применяется к VS
Это поле автоматически заполняется IP/портом виртуальной службы, к которой применяется монитор. Вы не сможете удалить монитор, который был использован с виртуальной службой.
Пользователь
Некоторые пользовательские мониторы могут использовать это значение вместе с полем пароля для входа в Real Server.
Пароль
Некоторые пользовательские мониторы могут использовать это значение вместе с полем User для входа в Real Server.
Порог
Поле Threshold - это общее целое число, используемое в пользовательских мониторах, где требуется порог, например, уровень ЦП.
ПРИМЕЧАНИЕ: Пожалуйста, убедитесь, что ответ сервера приложений не является "Chunked" ответом.
Примеры монитора реального сервера
Монитор загрузки
Во многих случаях пользователи захотят создать свои собственные мониторы, и этот раздел позволяет загрузить их в АЦП.
Пользовательские мониторы пишутся с помощью сценариев PERL и имеют расширение файла .pl.
·     Дайте своему монитору имя, чтобы вы могли идентифицировать его в списке Метод мониторинга
·     Найдите файл .pl
·     Нажмите Загрузить новый монитор
·     Ваш файл будет загружен в нужное место и будет виден как новый Метод мониторинга.
Индивидуальные мониторы
В этом разделе можно просмотреть загруженные пользовательские мониторы и удалить их, если они больше не нужны.
·     Нажмите на выпадающее поле
·     Выберите имя пользовательского монитора
·     Нажмите Удалить
·     Ваш пользовательский монитор больше не будет отображаться в списке Метод мониторинга
Создание пользовательского Perl-сценария монитора
ВНИМАНИЕ: Этот раздел предназначен для людей, имеющих опыт использования и написания текстов на языке Perl
В этом разделе показаны команды, которые можно использовать в сценарии Perl.
Команда #Monitor-Name: - это имя, используемое для Perl-скрипта, хранящегося на АЦП. Если вы не включите эту строку, то ваш сценарий не будет найден!
Следующие пункты являются обязательными:
·     #Monitor-Name
·     использовать строго;
·     предупреждение об использовании;
Сценарии Perl выполняются в среде CHROOTED. Они часто вызывают другое приложение, такое как WGET или CURL. Иногда их нужно обновить для определенных функций, например, SNI.
Динамические ценности
·     my $host = $_[0]; - Здесь используется "Адрес" из раздела "IP Services--Real Server".
·     my $port = $_[1]; - Здесь используется "Порт" из раздела "IP Services--Real Server".
·     my $content = $_[2]; - Здесь используется значение "Требуемое содержимое" из раздела Библиотека - Мониторинг реального сервера
·     my $notes = $_[3]; - Здесь используется колонка "Notes" в разделе Real Server раздела IP Services
·     my $page = $_[4]; - Здесь используются значения "Расположение страницы" из раздела Библиотека - Монитор реального сервера
·     my $user = $_[5]; - Здесь используется значение "User" из раздела Библиотека - Монитор реального сервера
·     my $password = $_[6]; - Здесь используется значение "Password" из раздела Библиотека - Монитор реального сервера
Индивидуальные медицинские осмотры имеют два результата
·     Успешный
Возвращаемое значение 1Печатать
сообщение об успехе в SyslogМаркировка
реального сервера в режиме онлайн (при условии совпадения IN COUNT)
·     Unsuccessful
Возвращаемое значение 2Печатать
сообщение о неудаче в SyslogПометить
реальный сервер как автономный (при условии совпадения OUT Count).
Пример пользовательского монитора здоровья
#Monitor-Name HTTPS_SNI
использовать строго:
предупреждения по использованию;
# Имя монитора, как указано выше, отображается в выпадающем списке Доступные проверки здоровья
# В этот скрипт передано 6 значений (см. ниже)
# Сценарий вернет следующие значения
# 1 - тест прошел успешно
# 2, если тест не удался sub monitor
{
my Shost=      $_[O]; ### IP или имя хоста
my Sport=      $_[1]; ### Порт хоста
my Scontent=      $_[2]; ### Содержание, которое нужно искать (в веб-странице и HTTP-заголовках)
my Snotes=      $_[3]; ### Имя виртуального хоста
my Spage=      $_[4]; ### Часть URL после адреса хоста
my Suser=      $_[5]: ### домен/имя пользователя (необязательно)
my Spassword=      $_[6]; ### пароль (необязательно)
my $resolve;
my $auth      =;    
if ($port)
{
     $resolve = "$notes:$port:$host":
}
иначе {
     $resolve = "$notes:$host";
}
if ($user && $password) {
     $auth = "-u $user:$password :
}
my @lines = 'curl -s -i -retry 1 -max-time 1 -k -H "Host:$notes --resolve $resolve $auth HTTPs://${notes}${page} 2>&1'; if(join(""@lines)=~/$content/)
     {
     print "HTTPs://$notes}${page} ищет - $content - Health check successful.\n";
     возврат(1);
     }
else
     {
     print "HTTPs://${notes}${page} ищет - $content - Health check failed.\n";
     возврат(2)
     }
}
monitor(@ARGV):
ПРИМЕЧАНИЕ: Пользовательский мониторинг - использование глобальных переменных невозможно. Используйте только локальные переменные - переменные, определенные внутри функций