.. _envoy_v3_api_file_envoy/admin/v3/clusters.proto: Clusters (proto) ================ .. _envoy_v3_api_msg_admin.v3.Clusters: admin.v3.Clusters ----------------- :repo:`[admin.v3.Clusters proto] ` Admin endpoint uses this wrapper for ``/clusters`` to display cluster status information. See :ref:`/clusters ` for more information. .. code-block:: json :force: { "cluster_statuses": [] } .. _envoy_v3_api_field_admin.v3.Clusters.cluster_statuses: cluster_statuses (**repeated** :ref:`admin.v3.ClusterStatus `) Mapping from cluster name to each cluster's status. .. _envoy_v3_api_msg_admin.v3.ClusterStatus: admin.v3.ClusterStatus ---------------------- :repo:`[admin.v3.ClusterStatus proto] ` Details an individual cluster's current status. .. code-block:: json :force: { "name": ..., "added_via_api": ..., "success_rate_ejection_threshold": {...}, "host_statuses": [], "local_origin_success_rate_ejection_threshold": {...}, "circuit_breakers": {...}, "observability_name": ..., "eds_service_name": ... } .. _envoy_v3_api_field_admin.v3.ClusterStatus.name: name (`string `_) Name of the cluster. .. _envoy_v3_api_field_admin.v3.ClusterStatus.added_via_api: added_via_api (`bool `_) Denotes whether this cluster was added via API or configured statically. .. _envoy_v3_api_field_admin.v3.ClusterStatus.success_rate_ejection_threshold: success_rate_ejection_threshold (:ref:`type.v3.Percent `) The success rate threshold used in the last interval. * If :ref:`outlier_detection.split_external_local_origin_errors` is ``false``, all errors: externally and locally generated were used to calculate the threshold. * If :ref:`outlier_detection.split_external_local_origin_errors` is ``true``, only externally generated errors were used to calculate the threshold. The threshold is used to eject hosts based on their success rate. For more information, see the :ref:`Cluster outlier detection ` documentation. .. note:: This field may be omitted in any of the three following cases: 1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection. 2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that interval. 3. Outlier detection is not enabled for this cluster. .. _envoy_v3_api_field_admin.v3.ClusterStatus.host_statuses: host_statuses (**repeated** :ref:`admin.v3.HostStatus `) Mapping from host address to the host's current status. .. _envoy_v3_api_field_admin.v3.ClusterStatus.local_origin_success_rate_ejection_threshold: local_origin_success_rate_ejection_threshold (:ref:`type.v3.Percent `) The success rate threshold used in the last interval when only locally originated failures were taken into account and externally originated errors were treated as success. This field should be interpreted only when :ref:`outlier_detection.split_external_local_origin_errors` is ``true``. The threshold is used to eject hosts based on their success rate. For more information, see the :ref:`Cluster outlier detection ` documentation. .. note:: This field may be omitted in any of the three following cases: 1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection. 2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that interval. 3. Outlier detection is not enabled for this cluster. .. _envoy_v3_api_field_admin.v3.ClusterStatus.circuit_breakers: circuit_breakers (:ref:`config.cluster.v3.CircuitBreakers `) :ref:`Circuit breaking ` settings of the cluster. .. _envoy_v3_api_field_admin.v3.ClusterStatus.observability_name: observability_name (`string `_) Observability name of the cluster. .. _envoy_v3_api_field_admin.v3.ClusterStatus.eds_service_name: eds_service_name (`string `_) The :ref:`EDS service name ` if the cluster is an EDS cluster. .. _envoy_v3_api_msg_admin.v3.HostStatus: admin.v3.HostStatus ------------------- :repo:`[admin.v3.HostStatus proto] ` Current state of a particular host. .. code-block:: json :force: { "address": {...}, "stats": [], "health_status": {...}, "success_rate": {...}, "weight": ..., "hostname": ..., "priority": ..., "local_origin_success_rate": {...}, "locality": {...} } .. _envoy_v3_api_field_admin.v3.HostStatus.address: address (:ref:`config.core.v3.Address `) Address of this host. .. _envoy_v3_api_field_admin.v3.HostStatus.stats: stats (**repeated** :ref:`admin.v3.SimpleMetric `) List of stats specific to this host. .. _envoy_v3_api_field_admin.v3.HostStatus.health_status: health_status (:ref:`admin.v3.HostHealthStatus `) The host's current health status. .. _envoy_v3_api_field_admin.v3.HostStatus.success_rate: success_rate (:ref:`type.v3.Percent `) The success rate for this host during the last measurement interval. * If :ref:`outlier_detection.split_external_local_origin_errors` is ``false``, all errors: externally and locally generated were used in success rate calculation. * If :ref:`outlier_detection.split_external_local_origin_errors` is ``true``, only externally generated errors were used in success rate calculation. For more information, see the :ref:`Cluster outlier detection ` documentation. .. note:: The message will be missing if the host didn't receive enough traffic to calculate a reliable success rate, or if the cluster had too few hosts to apply outlier ejection based on success rate. .. _envoy_v3_api_field_admin.v3.HostStatus.weight: weight (`uint32 `_) The host's weight. If not configured, the value defaults to 1. .. _envoy_v3_api_field_admin.v3.HostStatus.hostname: hostname (`string `_) The hostname of the host, if applicable. .. _envoy_v3_api_field_admin.v3.HostStatus.priority: priority (`uint32 `_) The host's priority. If not configured, the value defaults to 0 (highest priority). .. _envoy_v3_api_field_admin.v3.HostStatus.local_origin_success_rate: local_origin_success_rate (:ref:`type.v3.Percent `) The success rate for this host during the last interval, considering only locally generated errors. Externally generated errors are treated as successes. This field is only relevant when :ref:`outlier_detection.split_external_local_origin_errors` is set to ``true``. For more information, see the :ref:`Cluster outlier detection ` documentation. .. note:: The message will be missing if the host didn’t receive enough traffic to compute a success rate, or if the cluster didn’t have enough hosts to perform outlier ejection based on success rate. .. _envoy_v3_api_field_admin.v3.HostStatus.locality: locality (:ref:`config.core.v3.Locality `) locality of the host. .. _envoy_v3_api_msg_admin.v3.HostHealthStatus: admin.v3.HostHealthStatus ------------------------- :repo:`[admin.v3.HostHealthStatus proto] ` Health status for a host. .. code-block:: json :force: { "failed_active_health_check": ..., "failed_outlier_check": ..., "failed_active_degraded_check": ..., "pending_dynamic_removal": ..., "pending_active_hc": ..., "excluded_via_immediate_hc_fail": ..., "active_hc_timeout": ..., "eds_health_status": ... } .. _envoy_v3_api_field_admin.v3.HostHealthStatus.failed_active_health_check: failed_active_health_check (`bool `_) The host is currently failing active health checks. .. _envoy_v3_api_field_admin.v3.HostHealthStatus.failed_outlier_check: failed_outlier_check (`bool `_) The host is currently considered an outlier and has been ejected. .. _envoy_v3_api_field_admin.v3.HostHealthStatus.failed_active_degraded_check: failed_active_degraded_check (`bool `_) The host is currently being marked as degraded through active health checking. .. _envoy_v3_api_field_admin.v3.HostHealthStatus.pending_dynamic_removal: pending_dynamic_removal (`bool `_) The host has been removed from service discovery, but is being stabilized due to active health checking. .. _envoy_v3_api_field_admin.v3.HostHealthStatus.pending_active_hc: pending_active_hc (`bool `_) The host has not yet been health checked. .. _envoy_v3_api_field_admin.v3.HostHealthStatus.excluded_via_immediate_hc_fail: excluded_via_immediate_hc_fail (`bool `_) The host should be excluded from panic, spillover, etc. calculations because it was explicitly taken out of rotation via protocol signal and is not meant to be routed to. .. _envoy_v3_api_field_admin.v3.HostHealthStatus.active_hc_timeout: active_hc_timeout (`bool `_) The host failed active HC due to timeout. .. _envoy_v3_api_field_admin.v3.HostHealthStatus.eds_health_status: eds_health_status (:ref:`config.core.v3.HealthStatus `) Health status as reported by EDS. Note: only HEALTHY and UNHEALTHY are currently supported here.