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

Страница монитора реального сервера

Страница "Мониторы реального сервера" состоит из трех разделов.
·     Подробности
·     Загрузить
·     Индивидуальные мониторы
Подробности
Раздел Подробности используется для добавления новых мониторов и удаления тех, которые вам не нужны. Вы также можете редактировать существующий монитор, дважды щелкнув по нему.
Имя
Имя по вашему выбору для вашего монитора.
Описание
Текстовое описание для этого Монитора, и мы рекомендуем сделать его максимально описательным.
Метод мониторинга
Выберите метод мониторинга из раскрывающегося списка. Доступны следующие варианты:
·     HTTP 200 OK
·     HTTP 200 Head
·     Параметры HTTP 200
·     Головка HTTP
·     Параметры HTTP
·     HTTP-ответ
·     Многопортовый монитор TCP
·     TCP вне диапазона
·     DICOM
·     SNMP v2
·     Проверка сервера DNS
·     LDAPS
Расположение страницы
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):
ПРИМЕЧАНИЕ: Пользовательский мониторинг - использование глобальных переменных невозможно. Используйте только локальные переменные - переменные, определенные внутри функций