Clusters (proto)

admin.v3.Clusters

[admin.v3.Clusters proto]

Admin endpoint uses this wrapper for /clusters to display cluster status information. See /clusters for more information.

{
  "cluster_statuses": []
}
cluster_statuses

(repeated admin.v3.ClusterStatus) Mapping from cluster name to each cluster’s status.

admin.v3.ClusterStatus

[admin.v3.ClusterStatus proto]

Details an individual cluster’s current status.

{
  "name": ...,
  "added_via_api": ...,
  "success_rate_ejection_threshold": {...},
  "host_statuses": [],
  "local_origin_success_rate_ejection_threshold": {...},
  "circuit_breakers": {...},
  "observability_name": ...,
  "eds_service_name": ...
}
name

(string) Name of the cluster.

added_via_api

(bool) Denotes whether this cluster was added via API or configured statically.

success_rate_ejection_threshold

(type.v3.Percent) The success rate threshold used in the last interval. If outlier_detection.split_external_local_origin_errors is false, all errors: externally and locally generated were used to calculate the threshold. If 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. See Cluster outlier detection documentation for details.

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.

host_statuses

(repeated admin.v3.HostStatus) Mapping from host address to the host’s current status.

local_origin_success_rate_ejection_threshold

(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 outlier_detection.split_external_local_origin_errors is true. The threshold is used to eject hosts based on their success rate. See Cluster outlier detection documentation for details.

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.

circuit_breakers

(config.cluster.v3.CircuitBreakers) Circuit breaking settings of the cluster.

observability_name

(string) Observability name of the cluster.

eds_service_name

(string) The EDS service name if the cluster is an EDS cluster.

admin.v3.HostStatus

[admin.v3.HostStatus proto]

Current state of a particular host.

{
  "address": {...},
  "stats": [],
  "health_status": {...},
  "success_rate": {...},
  "weight": ...,
  "hostname": ...,
  "priority": ...,
  "local_origin_success_rate": {...},
  "locality": {...}
}
address

(config.core.v3.Address) Address of this host.

stats

(repeated admin.v3.SimpleMetric) List of stats specific to this host.

health_status

(admin.v3.HostHealthStatus) The host’s current health status.

success_rate

(type.v3.Percent) Request success rate for this host over the last calculated interval. If outlier_detection.split_external_local_origin_errors is false, all errors: externally and locally generated were used in success rate calculation. If outlier_detection.split_external_local_origin_errors is true, only externally generated errors were used in success rate calculation. See Cluster outlier detection documentation for details.

Note: the message will not be present if host did not have enough request volume to calculate success rate or the cluster did not have enough hosts to run through success rate outlier ejection.

weight

(uint32) The host’s weight. If not configured, the value defaults to 1.

hostname

(string) The hostname of the host, if applicable.

priority

(uint32) The host’s priority. If not configured, the value defaults to 0 (highest priority).

local_origin_success_rate

(type.v3.Percent) Request success rate for this host over the last calculated interval when only locally originated errors are taken into account and externally originated errors were treated as success. This field should be interpreted only when outlier_detection.split_external_local_origin_errors is true. See Cluster outlier detection documentation for details.

Note: the message will not be present if host did not have enough request volume to calculate success rate or the cluster did not have enough hosts to run through success rate outlier ejection.

locality

(config.core.v3.Locality) locality of the host.

admin.v3.HostHealthStatus

[admin.v3.HostHealthStatus proto]

Health status for a host.

{
  "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": ...
}
failed_active_health_check

(bool) The host is currently failing active health checks.

failed_outlier_check

(bool) The host is currently considered an outlier and has been ejected.

failed_active_degraded_check

(bool) The host is currently being marked as degraded through active health checking.

pending_dynamic_removal

(bool) The host has been removed from service discovery, but is being stabilized due to active health checking.

pending_active_hc

(bool) The host has not yet been health checked.

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.

active_hc_timeout

(bool) The host failed active HC due to timeout.

eds_health_status

(config.core.v3.HealthStatus) Health status as reported by EDS. Note: only HEALTHY and UNHEALTHY are currently supported here.