Назад | Перейти на главную страницу

Haproxy при сбое сервера

У меня есть установка с одним сервером HAproxy (фронтенд) и несколькими веб-серверами (бэкэнд). Можно ли настроить HAproxy так, чтобы скрипт выполнялся при выходе из строя веб-сервера?

Я думаю, вы спрашиваете, хотите ли вы отправить письмо, когда один из внутренних серверов выходит из строя, правильно? Я не верю, что есть способ вызвать это из самого HAProxy. Один из способов сделать это - сделать так, чтобы сценарий периодически проверял состояние серверных ВМ и отправлял электронное письмо, если серверная ВМ не работает. Вы можете использовать интерфейс сокета HAProxy, чтобы получить эту информацию. Документы Вот. Вероятно, вам потребуется проанализировать вывод show stat команда. Удачи!

Я считаю, что приведенный ниже сценарий поможет вам. Пожалуйста, измените его в соответствии с вашими потребностями. Вам нужно запланировать его в своем cron. Вы можете использовать mailx для отправки электронной почты, когда apache выходит из строя и когда он перезапускается.

RESTART="/etc/init.d/httpd restart"

#incase if you are on Deb based boxes
#RESTART="/etc/init.d/apache2 restart"


PGREP="/usr/bin/pgrep"

HTTPD="httpd"

# find httpd pid
$PGREP ${HTTPD}

if [ $? -ne 0 ] 
then
 # restart apache
 $RESTART
fi

Вы можете сделать это через сам HaProxy, он предоставляет вам директиву httpchk, ниже приведены некоторые примеры синтаксиса

option httpchk
option httpchk <uri>
option httpchk <method> <uri>
option httpchk <method> <uri> <version>