HealthCheck#
В случае нескольких объявленных экземпляров HealthCheck, с одними и теми же использующимися shared map и ключами, они могут перезаписывать данные (перезаписывать данные ключи в зависимости от того, в какой последовательности будут выполняться).
Общие параметры, используемые для настройки init handler, приведены в разделе Параметр init_handlers.
Ниже приведено описание параметров, используемых для настройки обработчика HealthCheck.
urlЗадает url, на который будут отправляться healthCheck запросы. Обязательный параметр.
Тип параметра: текстовое значение.
storageЗадает имя хранилища, в которое будет помещен результат healthCheck запроса.
true — запрос прошел успешно;
false — запрос завершился с ошибкой.
Тип параметра: последовательность параметров и их значения.
nameЗадает имя предварительно объявленного хранилища, в которое будет помещаться результат. Обязательный параметр.
Тип параметра: строковое значение.
keyЗадает ключ для помещения результата в хранилище. Обязательный параметр.
Тип параметра: текстовое значение.
check_intervalЗадает период для отправки healthcheck запросов в миллисекундах. Обязательный параметр.
Тип параметра: целочисленное значение.
executors_countЗадает количество исполнителей для каждого экземпляра healthcheck.
Тип параметра: целочисленное значение.
По умолчанию:
executors_count: 2methodЗадает http метод отправки запроса.
Тип параметра: текстовое значение.
GET;
POST.
По умолчанию:
method: GETheadersЗадает массив http заголовков, имена и значения которых разделены пробелом. Например, „X-MyHeader foo“.
Тип параметра: последовательность строковых значений.
bodyЗадает тело healthcheck запроса.
Используется в случае:
methodis not GET.
Тип параметра: текстовое значение.
response_body_patternЗадает регулярное выражение, которому должно соответствовать тело ответа.
Тип параметра: текстовое значение.
response_code_patternЗадает регулярное выражение, которому должен соответствовать код ответа. Обязательный параметр.
Тип параметра: текстовое значение.
http_versionЗадает http версию, с которой будут отправляться healthcheck запросы.
Тип параметра: строковое значение.
1.0;
1.1;
2.0.
По умолчанию:
http_version: 1.1connection_request_timeoutЗадает таймаут для установки соединения запроса в миллисекундах.
Тип параметра: целочисленное значение.
По умолчанию:
connection_request_timeout: 60000response_timeoutЗадает таймаут ожидания ответа в миллисекундах.
Тип параметра: целочисленное значение.
По умолчанию:
response_timeout: 60000default_valueЗадает значение healthcheck до отправки первого запроса.
Тип параметра:
true;
false.
По умолчанию:
default_value: falsesslТип параметра: последовательность параметров и их значения.
useОпределяет, будут ли использоваться ssl сертификаты при отправке запроса.
Тип параметра:
true;
false.
По умолчанию:
use: falseverifyОпределяет необходимость верификации сертификатов.
Тип параметра:
true;
false.
По умолчанию:
verify: falsecertificateТип параметра: последовательность параметров и их значения.
Обязательно в случае:
use: truepathЗадает путь к сертификату. Обязательный параметр.
Тип параметра: текстовое значение.
typeЗадает тип файла. Обязательный параметр.
Тип параметра: текстовое значение.
file_secure.
caТип параметра: последовательность параметров и их значения.
pathЗадает путь к CA сертификату. Обязательный параметр.
Тип параметра: текстовое значение.
typeЗадает тип файла. Обязательный параметр.
Тип параметра: текстовое значение.
file_secure.
keyТип параметра: последовательность параметров и их значения.
Обязательно в случае:
use: truepathЗадает путь к ключу сертификата. Обязательный параметр.
Тип параметра: текстовое значение.
typeЗадает тип файла. Обязательный параметр.
Тип параметра: текстовое значение.
file_secure.
Пример объявления HealthCheck handler в конфигурационном файле приведен ниже:
optional:
log_level: debug
init_handlers:
- name: HealthCheck
id: 91
instances: auto
params:
url: "https://localhost:18091/hc"
storage:
name: healthCheck_old
key: health_check_status
check_interval: 60000
# method: POST
executors_count: 4
headers:
- test test
- test2 test2
- Header value
# body: "test"
# response_body_pattern: ".*true.*"
response_code_pattern: "^200$"
# http_version: "2.0"
connection_request_timeout: 61000
response_timeout: 61000
# default_value: true
ssl:
use: true
verify: False
certificate:
type: file_secure
path: server_dev.cer
key:
type: file_secure
path: server_dev.key
ca:
type: file_secure
path: ca_dev.cer
- name: HealthCheck
id: 93
# instances: single
params:
url: "http://localhost:18093/hc"
storage:
name: healthCheck_old
key: health_check_status
check_interval: 60000
# method: POST
headers:
- test test
- test2 test2
- Header value
# body: "test"
# response_body_pattern: ".*true.*"
response_code_pattern: "^200$"
# http_version: "2.0"
connection_request_timeout: 61000
response_timeout: 61000
Пример использования HealthCheck handler приведен в разделе Пример использования HealthCheck handler.