HealthCheck#

В случае нескольких объявленных экземпляров HealthCheck, с одними и теми же использующимися shared map и ключами, они могут перезаписывать данные (перезаписывать данные ключи в зависимости от того, в какой последовательности будут выполняться).

Общие параметры, используемые для настройки init handler, приведены в разделе Параметр init_handlers.

Ниже приведено описание параметров, используемых для настройки обработчика HealthCheck.

HealthCheck - параметры#

Название

Обязательность

Описание

Возможные значения

Значение по умолчанию

url

Обязательный

URL, на который будут отправляться healthCheck запросы

Текстовое значение

—

storage

Обязательный

Имя хранилища, в которое будет помещен результат healthCheck запроса (true — запрос прошел успешно; false — запрос завершился с ошибкой)

Параметры, описанные в разделе «HealthCheck - storage»

—

check_interval

Обязательный

Период для отправки healthcheck запросов в миллисекундах

Целочисленное значение

—

executors_count

Опциональный

Количество исполнителей для каждого экземпляра healthcheck

Целочисленное значение

2

method

Опциональный

HTTP метод отправки запроса

GET, POST

GET

headers

Опциональный

Массив HTTP заголовков, имена и значения которых разделены пробелом (например, „X-MyHeader foo“)

Последовательность строковых значений

—

body

Опциональный

Тело healthcheck запроса. Используется, если method не GET

Текстовое значение

—

response_body_pattern

Опциональный

Регулярное выражение, которому должно соответствовать тело ответа

Текстовое значение

—

response_code_pattern

Обязательный

Регулярное выражение, которому должен соответствовать код ответа

Текстовое значение

—

http_version

Опциональный

HTTP версия, с которой будут отправляться healthcheck запросы

1.0, 1.1, 2.0

1.1

connection_request_timeout

Опциональный

Таймаут для установки соединения запроса в миллисекундах

Целочисленное значение

60000

response_timeout

Опциональный

Таймаут ожидания ответа в миллисекундах

Целочисленное значение

60000

default_value

Опциональный

Значение healthcheck до отправки первого запроса

true, false

false

ssl

Опциональный

Настройки SSL

Параметры, описанные в разделе «HealthCheck - ssl»

—

HealthCheck - storage#

Название

Обязательность

Описание

Возможные значения

Значение по умолчанию

name

Обязательный

Имя предварительно объявленного хранилища, в которое будет помещаться результат

Строковое значение

—

key

Обязательный

Ключ для помещения результата в хранилище

Текстовое значение

—

HealthCheck - ssl#

Название

Обязательность

Описание

Возможные значения

Значение по умолчанию

use

Опциональный

Будут ли использоваться SSL сертификаты при отправке запроса

true, false

false

verify

Опциональный

Необходимость верификации сертификатов

true, false

false

certificate

Обязательный (если use: true)

Настройки сертификата

Параметры, описанные в разделе «HealthCheck - ssl.certificate»

—

ca

Опциональный

Настройки CA сертификата

Параметры, описанные в разделе «HealthCheck - ssl.ca»

—

key

Обязательный (если use: true)

Настройки ключа сертификата

Параметры, описанные в разделе «HealthCheck - ssl.key»

—

HealthCheck - ssl.certificate#

Название

Обязательность

Описание

Возможные значения

Значение по умолчанию

path

Обязательный

Путь к сертификату

Текстовое значение

—

type

Обязательный

Тип файла

Текстовое значение (например, file_secure)

—

HealthCheck - ssl.ca#

Название

Обязательность

Описание

Возможные значения

Значение по умолчанию

path

Обязательный

Путь к CA сертификату

Текстовое значение

—

type

Обязательный

Тип файла

Текстовое значение (например, file_secure)

—

HealthCheck - ssl.key#

Название

Обязательность

Описание

Возможные значения

Значение по умолчанию

path

Обязательный

Путь к ключу сертификата

Текстовое значение

—

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.