Product SiteDocumentation Site

4.6.3. Подраздел EDIT MONITORING SCRIPTS

Ссылка MONITORING SCRIPTS в верхней части панели предоставляет доступ к панели подраздела EDIT MONITORING SCRIPTS. Этот подраздел позволяет администратору задать последовательность send/expect строк для проверки работоспособности сервиса на каждом реальном сервере. Здесь также можно разместить специализированные скрипты для проверки сервисов, требующих динамически изменяемых данных.
The EDIT MONITORING SCRIPTS Subsection
Подраздел EDIT MONITORING SCRIPTS
Рисунок 4.9. Панель подраздела EDIT MONITORING SCRIPTS

Sending Program
Если требуется сложная проверка работоспособности сервиса, в этом поле можно указать путь к скрипту, проверяющему работоспособность сервиса. Эта функциональность особенно полезна в случаях, когда требуется проверить сервисы, которым требуются динамически изменяемые данные, например, HTTPS or SSL.
Для использования этой возможности нужно написать скрипт, в качестве результата возвращающий строку текста, сделать его исполняемым и ввести путь к этому скрипту в поле 4.6.3. Подраздел EDIT MONITORING SCRIPTSSending Program.

Замечание

Для того, чтобы проверялся каждый сервер в пуле, нужно использовать специальный маркер %h в конце строки, указывающей на расположение скрипта. Этот маркер заменяется на IP-адрес каждого реального сервера, когда скрипт вызывается демоном nanny.
Ниже приведен пример, который можно использовать при написании внешнего проверочного скрипта:
#!/bin/sh

TEST=`dig -t soa example.com @$1 | grep -c dns.example.com

if [ $TEST != "1" ]; then
	echo "OK
else
	echo "FAIL"
fi

Замечание

Если в поле Sending Program указана внешняя программа, то поле Send игнорируется.
Send
В это поле вводится строка, которую демон nanny посылает каждому реальному серверу. По умолчанию поле Send содержит строку для HTTP. Если это поле оставить пустым, демон nanny попытается открыть порт и в случае успеха признает сервис работоспособным.
В этом поле допускается только одна send-последовательность. При этом она должна содержать только печатаемые символы ASCII и следующие escape-последовательности:
  • \n для перехода на новую строку.
  • \r для возврата каретки.
  • \t для табуляции.
  • \ для экранирования следующего символа.
Expect
В это поле вводится строка ответа сервера в случае, если он функционирует правильно. Если оценку работоспособности сервиса производит внешняя программа, в это поле вводится строка, возвращаемая внешней программой в случае успешного завершения.

Замечание

Для определения строки, посылаемой определенному сервису, можно открыть telnet-соединение на порт реального сервера, соответствующий сервису и посмотреть на возвращаемые значения. Например, FTP возвращает 220 после подключения, поэтому в поле Send можно ввести quit а в поле Expect - 220.

Внимание

Для сохранения всех внесенных изменений нужно нажать кнопку ACCEPT перед тем, как перейти на другую панель.
После завершения настройки виртуальных серверов при помощи Piranha Configuration Tool, необходимо скопировать определенные конфигурационные файлы на резервный LVS-маршрутизатор. Информация об этом приводится в разделе 4.7. Синхронизация конфигурационных файлов.