Поддержка потока вверх по течению проверки здоровья (TCP/UDP/HTTP) и предоставьте интерфейс HTTP для получения статуса сервера сервера »
Этот модуль может предоставить NGINX с активными контролями сервера сервера (проверяйте типы поддержки TCP/UDP/HTTP).
Git Clone https://github.com/zhouchangxun/nginx/nginx.git git clone https://github.com/zhouchxun/ngx_stream_upstream_check_module.git
CD nginx/; GIT применить ../ngx_stream_upstream_check_module/nginx-stable-1.12+.patch
./auto/configure ---th-stream -add-module = ../ngx_stream_upstream_check_module/
сделать && сделать установку
stream {
upstream tcp - cluster {
# simple round-robin
server 192.168 .0 .1 : 22 ;
server 192.168 .0 . 2 : 22 ;
check interval = 3000 rise = 2 fall = 5 timeout = 5000 default_down = true type = tcp ;
}
upstream udp - cluster {
# simple round-robin
server 192.168 .0 .3 : 53 ;
server 192.168 .0 . 4 : 53 ;
check interval = 3000 rise = 2 fall = 5 timeout = 5000 default_down = true type = udp ;
}
upstream http - cluster {
# simple round-robin
server 192.168 .0 .5 : 80 ;
server 192.168 .0 . 6 : 80 ;
check interval = 3000 rise = 2 fall = 5 timeout = 5000 type = http ;
check_keepalive_requests 100 ;
check_http_send "HEAD / HTTP/1.1 r n Connection: keep-alive r n r n " ;
check_http_expect_alive http_2xx http_3xx ;
}
server {
listen 522 ;
proxy_pass tcp - cluster ;
}
server {
listen 53 ;
proxy_pass udp - cluster ;
}
server {
listen 8080 ;
proxy_pass http - cluster ;
}
}
http {
server {
listen 80 ;
location / status {
l4check_status ;
}
}
}Синтаксис:
Проверьте интервал = миллисекунды [fall = count] [rist = count] [timeout = milliseconds] [default_down = true | false] [type = tcp | udp | http] [port = check_port]
По умолчанию: интервал = 30000 Fall = 5 rese = 2 тайм -аут = 1000 default_down = true type = tcp
Контекст: Stream/Upstream
Эта команда может включить функцию проверки здоровья сервера бэкэнд.
Интервал: интервал между проверкой здоровья, отправленные на бэкэнд.
Fall (fall_count): если количество последовательных сбоев достигает Fall_count, сервер считается вниз.
RISE (RISE_COUNT): Если количество успехов достигает RISE_COUNT, сервер считается, что он был вновлен.
Тайм -аут: тайм -аут запроса на здоровье.
default_down: устанавливает статус сервера в начале. Если это правда, это означает, что по умолчанию снижено. Если это ложь, это все в порядке. Значение по умолчанию верно, что означает, что сервер изначально считает, что он недоступен, и он будет считаться здоровым только после того, как пакет проверки здоровья достигнет определенного количества успешных времен.
Тип: тип пакета проверки здоровья, теперь поддерживает следующие типы
Порт: Укажите контрольный порт бэкэнд -сервера. Вы можете указать порт бэкэнд -сервера, который отличается от реальной службы. Например, бэкэнд предоставляет приложение с портом 443. Вы можете проверить состояние порта 80, чтобы определить состояние здоровья бэкэнда. По умолчанию 0, что означает то же самое, что и порт, предоставляемый сервером бэкэнд.
Синтаксис: check_keepalive_requests request_num
По умолчанию: 1
Контекст: Stream/Upstream
Эта инструкция может настроить количество запросов, отправляемых подключением, и ее значение по умолчанию составляет 1, что означает, что Nginx закрывает соединение после выполнения одного запроса.
Синтаксис: check_http_send http_packet
По умолчанию: "get / http / 1.0 r n r n"
Контекст: Stream/Upstream
Эта директива может настроить контент запроса, отправленный пакетом HTTP Health Check. Чтобы уменьшить количество передаваемых данных, рекомендуется использовать метод «головы».
При использовании длинного подключения для проверки здоровья вам необходимо добавить заголовок запроса Keep-Alive в эту команду, например: «Head / Http / 1.1 r nconnection: Keep-alive r r n». В то же время, при использовании метода «получить» размер запрошенного URI не должен быть слишком большим, чтобы убедиться, что он может быть передан в течение 1 интервала, в противном случае он будет рассматриваться как сервер или исключение сети с помощью модуля проверки здоровья.
Синтаксис: Check_http_expect_alive [http_2xx | http_3xx | http_4xx | http_5xx]
По умолчанию: http_2xx | http_3xx
Контекст: Stream/Upstream
Эта директива определяет успешный статус ответа HTTP, и по умолчанию статус 2xx и 3xx считается здоровым.
Синтаксис : check_shm_size размер
По умолчанию : 1м
Contex : поток
Все статусы проверки здоровья сервера сервера хранятся в общей памяти, и эта инструкция может установить размер общей памяти. По умолчанию 1м. Если у вас есть более 1000 серверов и у вас есть ошибки во время конфигурации, вам может потребоваться расширить размер памяти.
Синтаксис: l4check_status [html | csv | json]
По умолчанию: l4check_status html
Контекст: http/server/location