.. _envoy_api_file_api/health_check.proto: Health check ============ * Health checking :ref:`architecture overview `. * If health checking is configured for a cluster, additional statistics are emitted. They are documented :ref:`here `. .. _envoy_api_msg_HealthCheck: HealthCheck ----------- `[HealthCheck proto] `_ .. code-block:: json { "timeout": "{...}", "interval": "{...}", "interval_jitter": "{...}", "unhealthy_threshold": "{...}", "healthy_threshold": "{...}", "reuse_connection": "{...}", "http_health_check": "{...}", "tcp_health_check": "{...}", "redis_health_check": "{...}" } .. _envoy_api_field_HealthCheck.timeout: timeout (`Duration `_) The time to wait for a health check response. If the timeout is reached the health check attempt will be considered a failure. .. _envoy_api_field_HealthCheck.interval: interval (`Duration `_) The interval between health checks. .. _envoy_api_field_HealthCheck.interval_jitter: interval_jitter (`Duration `_) An optional jitter amount in millseconds. If specified, during every internal Envoy will add 0 to interval_jitter to the wait time. .. _envoy_api_field_HealthCheck.unhealthy_threshold: unhealthy_threshold (`UInt32Value `_) The number of unhealthy health checks required before a host is marked unhealthy. Note that for *http* health checking if a host responds with 503 this threshold is ignored and the host is considered unhealthy immediately. .. _envoy_api_field_HealthCheck.healthy_threshold: healthy_threshold (`UInt32Value `_) The number of healthy health checks required before a host is marked healthy. Note that during startup, only a single successful health check is required to mark a host healthy. .. _envoy_api_field_HealthCheck.reuse_connection: reuse_connection (`BoolValue `_) Reuse health check connection between health checks. Default is true. .. _envoy_api_field_HealthCheck.http_health_check: http_health_check (:ref:`HealthCheck.HttpHealthCheck `) HTTP health check. Precisely one of :ref:`http_health_check `, :ref:`tcp_health_check `, :ref:`redis_health_check ` must be set. .. _envoy_api_field_HealthCheck.tcp_health_check: tcp_health_check (:ref:`HealthCheck.TcpHealthCheck `) TCP health check. Precisely one of :ref:`http_health_check `, :ref:`tcp_health_check `, :ref:`redis_health_check ` must be set. .. _envoy_api_field_HealthCheck.redis_health_check: redis_health_check (:ref:`HealthCheck.RedisHealthCheck `) Redis health check. Precisely one of :ref:`http_health_check `, :ref:`tcp_health_check `, :ref:`redis_health_check ` must be set. .. _envoy_api_msg_HealthCheck.Payload: HealthCheck.Payload ------------------- `[HealthCheck.Payload proto] `_ Describes the encoding of the payload bytes in the payload. .. code-block:: json { "text": "..." } .. _envoy_api_field_HealthCheck.Payload.text: text (`string `_, *REQUIRED*) Hex encoded payload. E.g., "000000FF". Precisely one of :ref:`text ` must be set. .. _envoy_api_msg_HealthCheck.HttpHealthCheck: HealthCheck.HttpHealthCheck --------------------------- `[HealthCheck.HttpHealthCheck proto] `_ .. code-block:: json { "path": "...", "service_name": "..." } .. _envoy_api_field_HealthCheck.HttpHealthCheck.path: path (`string `_, *REQUIRED*) Specifies the HTTP path that will be requested during health checking. For example */healthcheck*. .. _envoy_api_field_HealthCheck.HttpHealthCheck.service_name: service_name (`string `_) An optional service name parameter which is used to validate the identity of the health checked cluster. See the :ref:`architecture overview ` for more information. .. _envoy_api_msg_HealthCheck.TcpHealthCheck: HealthCheck.TcpHealthCheck -------------------------- `[HealthCheck.TcpHealthCheck proto] `_ .. code-block:: json { "send": "{...}", "receive": [] } .. _envoy_api_field_HealthCheck.TcpHealthCheck.send: send (:ref:`HealthCheck.Payload `) Empty payloads imply a connect-only health check. .. _envoy_api_field_HealthCheck.TcpHealthCheck.receive: receive (:ref:`HealthCheck.Payload `) When checking the response, “fuzzy” matching is performed such that each binary block must be found, and in the order specified, but not necessarily contiguous. .. _envoy_api_msg_HealthCheck.RedisHealthCheck: HealthCheck.RedisHealthCheck ---------------------------- `[HealthCheck.RedisHealthCheck proto] `_ .. code-block:: json {}