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: 2
    
  • method

    Задает http метод отправки запроса.

    Тип параметра: текстовое значение.

    • GET;

    • POST.

    По умолчанию:

    method: GET
    
  • headers

    Задает массив http заголовков, имена и значения которых разделены пробелом. Например, „X-MyHeader foo“.

    Тип параметра: последовательность строковых значений.

  • body

    Задает тело healthcheck запроса.

    Используется в случае:

    • method is not GET.

    Тип параметра: текстовое значение.

  • response_body_pattern

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

    Тип параметра: текстовое значение.

  • response_code_pattern

    Задает регулярное выражение, которому должен соответствовать код ответа. Обязательный параметр.

    Тип параметра: текстовое значение.

  • http_version

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

    Тип параметра: строковое значение.

    • 1.0;

    • 1.1;

    • 2.0.

    По умолчанию:

    http_version: 1.1
    
  • connection_request_timeout

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

    Тип параметра: целочисленное значение.

    По умолчанию:

    connection_request_timeout: 60000
    
  • response_timeout

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

    Тип параметра: целочисленное значение.

    По умолчанию:

    response_timeout: 60000
    
  • default_value

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

    Тип параметра:

    • true;

    • false.

    По умолчанию:

    default_value: false
    
  • ssl

    Тип параметра: последовательность параметров и их значения.

    • use

      Определяет, будут ли использоваться ssl сертификаты при отправке запроса.

      Тип параметра:

      • true;

      • false.

      По умолчанию:

      use: false
      
    • verify

      Определяет необходимость верификации сертификатов.

      Тип параметра:

      • true;

      • false.

      По умолчанию:

      verify: false
      
    • certificate

      Тип параметра: последовательность параметров и их значения.

      Обязательно в случае:

      use: true
      
      • path

        Задает путь к сертификату. Обязательный параметр.

        Тип параметра: текстовое значение.

      • type

        Задает тип файла. Обязательный параметр.

        Тип параметра: текстовое значение.

        • file_secure.

    • ca

      Тип параметра: последовательность параметров и их значения.

      • path

        Задает путь к CA сертификату. Обязательный параметр.

        Тип параметра: текстовое значение.

      • type

        Задает тип файла. Обязательный параметр.

        Тип параметра: текстовое значение.

        • file_secure.

    • key

      Тип параметра: последовательность параметров и их значения.

      Обязательно в случае:

      use: true
      
      • 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.