HAProxy: параметр httpchk
Параметр httpchk в HAProxy используется для выполнения проверки состояния (health check) бекендов с использованием HTTP. Это позволяет HAProxy регулярно отправлять HTTP-запросы на определённые бекенд-серверы для проверки их доступности. На основе этих проверок HAProxy может принимать решение, какие сервера активны и на них можно перенаправлять запросы, а какие нет.
Основные функции httpchk
- Запрос проверки состояния: Параметр
httpchkуказывает на HTTP-запрос, который будет отправлен на бекенд для проверки его состояния. Обычно это простой HTTP GET-запрос к определённому URL.Пример:
В данном случае HAProxy будет отправлять HTTP GET-запросы на12option httpchk GET /health/healthу каждого бекенд-сервера, чтобы проверить его доступность. - Ожидание определенного HTTP статуса: Если бекенд-сервер вернёт статус 2xx или 3xx, то HAProxy считает его рабочим и продолжает направлять на него запросы. Если сервер возвращает другой статус код или не отвечает, HAProxy помечает его как «нерабочий».
- Настройка HTTP версии: Можно указать полную строку запроса с версией протокола HTTP.Пример:
Здесь проверка будет происходить с запросом к корневому пути и указанием версии HTTP/1.1 и хоста.12option httpchk GET / HTTP/1.1\r\nHost: example.com
Конфигурация httpchk
Пример полной конфигурации с использованием httpchk:
|
1 2 3 4 5 |
backend my_backend option httpchk GET /status HTTP/1.1\r\nHost:\ www.example.com server server1 192.168.0.1:80 check server server2 192.168.0.2:80 check |
Параметры:
check— активирует проверку состояния на конкретном сервере.option httpchk— определяет запрос для проверки.- Если сервер не отвечает на проверку или возвращает ошибку, то он будет помечен как недоступный, и HAProxy не будет на него направлять запросы, пока он не станет доступен.
Пример с использованием POST-запроса:
Вы можете настроить проверку с другим HTTP-методом, например, POST:
|
1 2 |
option httpchk POST /health |
Польза использования httpchk
- Обеспечение высокой доступности: Проверки состояния позволяют избегать использования недоступных серверов, что повышает надежность системы.
- Более гибкое управление трафиком: Позволяет HAProxy направлять трафик только на работоспособные бекенды.
Таким образом, httpchk — это мощный инструмент для мониторинга состояния бекендов и управления доступностью серверов в HAProxy.
Recommended Posts
Плейбук Ansible по развертыванию haproxy
15.02.2024
