Раздел "Сведения" используется для добавления новых мониторов и удаления ненужных. Вы также можете отредактировать существующий монитор, дважды щелкнув на нем.
Имя
Название монитора по вашему выбору.
Описание
Текстовое описание для этого монитора, и мы рекомендуем сделать его как можно более подробным.
Метод мониторинга
Выберите метод мониторинга из раскрывающегося списка. Доступны следующие варианты:
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".
SSL/TLS
В этом поле можно указать, использовать или не использовать SSL. Настройки могут быть следующими:
Вкл.
Выключить - отключение SSL
Авто - останется в текущем состоянии
Примеры монитора реального сервера
Монитор загрузки
Во многих случаях пользователи захотят создать свои собственные мониторы, и этот раздел позволяет загрузить их в ADC.
Пользовательские мониторы пишутся с помощью сценариев PERL и имеют расширение файла .pl.
Дайте монитору имя, чтобы его можно было идентифицировать в списке "Метод мониторинга".
Найдите файл .pl
Нажмите кнопку Загрузить новый монитор
Ваш файл будет загружен в нужное место и станет виден как новый метод мониторинга.
Индивидуальные мониторы
В этом разделе вы можете просмотреть загруженные пользовательские мониторы и удалить их, если они больше не нужны.
Нажмите на раскрывающееся окно
Выберите имя пользовательского монитора
Нажмите кнопку Удалить
Ваш пользовательский монитор больше не будет отображаться в списке "Метод мониторинга".
Создание пользовательского Perl-сценария монитора
ВНИМАНИЕ: Этот раздел предназначен для людей, имеющих опыт использования и написания текстов на языке Perl
В этом разделе показаны команды, которые можно использовать в сценарии на Perl.
Команда #Monitor-Name: - это имя, используемое для Perl-скрипта, хранящегося на ADC. Если вы не включите эту строку, то ваш скрипт не будет найден!
Следующие пункты являются обязательными:
#Monitor-Name
использовать строго;
предупреждение об использовании;
Сценарии Perl выполняются в среде CHROOTED. Они часто вызывают другие приложения, такие как WGET или CURL. Иногда их нужно обновить для определенных функций, например SNI.
Динамические ценности
my $host = $_[0]; ### IP или имя хоста (берется из данных RS или OOB, если используется)
my $port = $_[1]; ### Порт хоста (берется из данных RS или OOB, если используется)
my $content = $_[2]; ### Требуемое содержимое из настроек монитора (то, что должно быть видно в ответе)
my $notes = $_[3]; ### заметки из данных RS в IP Services (используйте это для уникальной настройки каждого монитора RS)
my $page = $_[4]; ### расположение страницы в настройках монитора
my $user = $_[5]; ### имя пользователя из настроек монитора
my $password = $_[6]; ### пароль из настроек монитора
my $threshold = $_[7]; ### параметр порога из настроек монитора
my $rsaddr = $_[8]; ### IP-адрес RS (отличается от _[0] в случае внеполосного мониторинга)
my $rsport = $_[9]; ### RS-порт (отличается от _[1], если речь идет о внеполосном мониторинге)
my $timeout = $_[10]; ### мониторинг таймаута контакта в секундах из IP Services > Real Server > Advanced > Monitoring Timeout
Индивидуальные проверки здоровья имеют два результата
Успешно
Возвращаемое значение 1
Печать сообщения об успехе в Syslog
Отметить реальный сервер в режиме онлайн (при условии совпадения IN COUNT)
Неудачный
Возвращаемое значение 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":
}
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";
возврат(1);
}
else
{
print "HTTPs://${notes}${page} ищет - $content - Health check failed.\n";
возврат(2)
}
}
monitor(@ARGV):
ПРИМЕЧАНИЕ:
Пользовательский мониторинг - использование глобальных переменных невозможно. Используйте только локальные переменные - переменные, определенные внутри функций
Использование RegEx - Все регулярные выражения должны использовать синтаксис операторов, совместимый с Perl.