Мониторы реальных серверов
Когда балансировка нагрузки настроена, полезно следить за состоянием реальных серверов и приложений, работающих на них. Например, в веб-серверах Вы можете настроить определенную страницу, с помощью которой Вы сможете следить за состоянием, или использовать одну из других систем мониторинга, которыми располагает 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 Требуемое содержание: Н/Д
|
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 =;
если ($port)
{
$resolve = "$notes:$port:$host":
}
else {
$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";
return(1);
}
else
{
print "HTTPs://${notes}${page} ищет - $content - Health check failed.\n";
возврат(2)
}
}
monitor(@ARGV):
ПРИМЕЧАНИЕ: Пользовательский мониторинг - Использование глобальных переменных невозможно. Используйте только локальные переменные - переменные, определенные внутри функций