Параметр 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;
2.0.
По умолчанию:
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 (util_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-сервера.