Параметр health_check#
Группа параметров health_check предназначена для проверки работоспособности сервиса.
Обязательные параметры:
enabledВкл./Откл. модуля
health_check.Тип параметра: логическое значение:
true;
false.
Опциональные параметры:
check_intervalВ значении параметра указывается интервал времени проверки запроса в ms.
Тип параметра: целочисленное значение.
По умолчанию:
check_interval: 30000check_interval_downВ значении параметра указывается интервал времени для запроса hc в ms, если пир не доступен (находится в состоянии down).
check_interval_down: 10Тип параметра: целочисленное значение.
По умолчанию: значение задается пользователем.
fail_countВ значении параметра указывается количество неудачных запросов на сервер для маркировки сервера „down“.
Тип параметра: целочисленное значение.
По умолчанию:
fail_count: 5rise_countВ значении параметра указывается количество удачных запросов на сервер для маркировки сервера „up“.
Тип параметра: целочисленное значение.
По умолчанию:
rise_count: 2drainВ значении параметра указывается количество неудачных запросов для маркировки сервера как „drain“.
Тип параметра: целочисленное значение.
По умолчанию:
drain: 2timeoutВ значении параметра задается таймаут проверки запроса в ms.
Тип параметра: целочисленное значение.
По умолчанию:
timeout: 1000default_stateВ значении параметра указывается состояние сервера по умолчанию.
Тип параметра: текстовое значение:
up;
down.
По умолчанию:
default_state: downportВ значении параметра указывается порт, на который отправляется запрос для проверки состояния.
Тип параметра: целочисленное значение.
По умолчанию: значение параметра будет браться из значений параметра server последовательности upstream_groups.
typeВ значении параметра указывается тип запроса проверки.
type: httpТип параметра: текстовое значение:
tcp;
ssl_hello;
http;
mysql;
ajp;
fastcgi.
По умолчанию:
type: tcphttp_send_methodВ значении параметра указывается http метод запроса.
Если
http_send_reqопределен, то значением параметраhttp_send_methodдолжно быть POST. Иначе — GET.Если
http_send_methodне определен, но определенhttp_send_req, тоhttp_send_methodавтоматически проставляется — POST.Используется в случае:
type: http.
Тип параметра: текстовое значение.
GET;
POST.
По умолчанию: значение задается пользователем.
http_send_urlВ значении параметра задается url-адрес для проверки работоспособности сервиса.
Тип параметра: текстовое значение.
По умолчанию:
http_send_url: /http_send_versionВ значении параметра указывается http версия запроса.
Тип параметра: текстовое значение:
1.0;
1.1.
По умолчанию:
http_send_version: 1.0http_send_headersВ значении параметра задаются строки заголовков запросов.
http_send_headers: - "X-MyHeader: foo"Существует возможность использовать внутренние переменные:
$upstream_server_name — имя сервера из конфигурационного файла «as is».
$upstream_server_host — имя хоста (без порта) из конфигурационного файла.
http_send_headers: - "Host: $upstream_server_host"Тип параметра: последовательность параметров и их значения.
По умолчанию: значение задается пользователем.
http_send_reqВ значении параметра задается тело запроса. Если задан хотя бы один из http_send_*, то в http_send_req указывается только передаваемое тело сообщения.
http_send_req: "user_message"Используется в случае:
type: http.
http_send_method не GET.
Реализован до версии 2.1:
http_send_req: "GET /extgw/healthcheck/v1 HTTP/1.0\\r\\n\\r\\n"Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
fastcgi_paramВ значении параметра указывается, какой запрос отправить, когда тип проверки — fastcgi.
Используется в случае:
type: fastcgi.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
http_status_aliveВ значении параметра определяется, какой код возврата считать положительным.
http_status_alive: "http_2xx http_3xx"Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
check_shm_sizeВ значении параметра указывается размер общей памяти для проверки больших групп серверов.
Тип параметра: текстовое значение.
По умолчанию:
check_shm_size: 1MДанного размера хватает на группу из 512 серверов.
check_response_bodyВ значении параметра указывается нечувствительный к регистру поиск в теле ответа.
Используется в случае:
type: http.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
check_response_body_patternВ значении параметра указывается нечувствительное к регистру регулярное выражение для поиска соответствия в теле ответа.
Используется в случае:
type: http.
check_response_body_pattern: '.*OK.*'Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
check_response_body_drainВ значении параметра указывается нечувствительный к регистру поиск в теле ответа, чтобы отметить сервер как „drain“.
Используется в случае:
type: http.
Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
check_response_body_drain_patternВ значении параметра указывается нечувствительное к регистру регулярное выражение для поиска соответствия в теле ответа, чтобы отметить сервер как „drain“.
Используется в случае:
type: http.
check_response_body_drain_pattern: '.*FULL.*'Тип параметра: текстовое значение.
По умолчанию: значение задается пользователем.
check_keepalive_reqВ значении параметра указывается количество запросов, отправленных по соединению.
Тип параметра: целочисленное значение.
По умолчанию: значение задается пользователем.
check_status_typeВ значении параметра определяется, какой тип возврата считать положительным.
check_status_type: jsonТип параметра: текстовое значение:
html;
csv;
json.
По умолчанию: значение задается пользователем.
check_status_typeВ значении параметра определяется, какой тип возврата считать положительным.
check_status_type: jsonТип параметра: текстовое значение:
html;
csv;
json.
По умолчанию: значение задается пользователем.
ssl_optionsГруппа параметров, задающая настройки ssl/tls соединения с upstream (backend).
Группа, включающая в себя параметры, описанные в разделе Параметр upstream_ssl.
Тип параметра: группа параметров и их значения.
По умолчанию: значение задается пользователем.
Пример:
health_check:
enabled: true
check_interval: 3000
check_interval_down: 120000
fail_count: 3
rise_count: 1
drain: 1
timeout: 5000
default_state: up
type: http
check_status_type: json
check_response_body_pattern: '.*OK.*'
check_response_body_drain_pattern: '.*FULL.*'
http_status_alive: "http_2xx http_3xx"
http_send_req: "GET /extgw/healthcheck/v1 HTTP/1.0\\r\\n\\r\\n"
port: {{ uko_web_upstream_v1_port }}
ssl_options:
ssl_use: true
ssl_protocols:
- 'TLSv1.2'
ssl_ciphers:
- value:
- "HIGH"
- prefix: "!"
value:
- "aNULL"
- value:
- "NULL-SHA256"
ssl_certificate: client_dev.cer
ssl_certificate_key: client_dev.key
ssl_verify: 'on'
ssl_name: 'example.ru'
ssl_trusted_certificate: ca_dev.cer # Задается файл с доверенными сертификатами CA в формате PEM, используемый при проверке сертификата проксируемого HTTPS-сервера.