集群 (proto)

admin.v3.Clusters

[admin.v3.Clusters proto]

管理端点使用此包装器用于 /clusters 以显示集群状态信息。有关更多信息,请参见 /clusters

{
  "cluster_statuses": []
}
cluster_statuses

(repeated admin.v3.ClusterStatus) 从集群名称到每个集群状态的映射。

admin.v3.ClusterStatus

[admin.v3.ClusterStatus proto]

详细说明单个集群的当前状态。

{
  "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) 集群名称。

added_via_api

(bool) 表示此集群是通过 API 添加还是静态配置。

success_rate_ejection_threshold

(type.v3.Percent) 上一个时间间隔中使用的成功率阈值。如果 outlier_detection.split_external_local_origin_errorsfalse,则所有错误:外部和本地生成的错误都用于计算阈值。如果 outlier_detection.split_external_local_origin_errorstrue,则仅外部生成的错误用于计算阈值。该阈值用于根据其成功率剔除主机。有关详细信息,请参见 集群异常值检测 文档。

注意:如果出现以下三种情况之一,则此字段可能被省略

  1. 没有足够的请求量的主机,无法继续进行基于成功率的异常值剔除。

  2. 计算出的阈值 < 0,因为负值表示该时间间隔没有阈值。

  3. 此集群未启用异常值检测。

host_statuses

(repeated admin.v3.HostStatus) 从主机地址到主机当前状态的映射。

local_origin_success_rate_ejection_threshold

(type.v3.Percent) 上一个时间间隔中使用的成功率阈值,仅考虑本地起源的失败,并将外部起源的错误视为成功。仅当 outlier_detection.split_external_local_origin_errorstrue 时,应解释此字段。该阈值用于根据其成功率剔除主机。有关详细信息,请参见 集群异常值检测 文档。

注意:如果出现以下三种情况之一,则此字段可能被省略

  1. 没有足够的请求量的主机,无法继续进行基于成功率的异常值剔除。

  2. 计算出的阈值 < 0,因为负值表示该时间间隔没有阈值。

  3. 此集群未启用异常值检测。

circuit_breakers

(config.cluster.v3.CircuitBreakers) 集群的 断路器 设置。

observability_name

(string) 集群的可观察性名称。

eds_service_name

(string) 如果集群是 EDS 集群,则为 EDS 服务名称

admin.v3.HostStatus

[admin.v3.HostStatus proto]

特定主机的当前状态。

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

(config.core.v3.Address) 此主机的地址。

stats

(repeated admin.v3.SimpleMetric) 此主机特有的统计信息列表。

health_status

(admin.v3.HostHealthStatus) 主机的当前健康状况。

success_rate

(type.v3.Percent) 上一个计算时间间隔内此主机的请求成功率。如果 outlier_detection.split_external_local_origin_errorsfalse,则所有错误:外部和本地生成的错误都用于成功率计算。如果 outlier_detection.split_external_local_origin_errorstrue,则仅外部生成的错误用于成功率计算。有关详细信息,请参见 集群异常值检测 文档。

注意:如果主机没有足够的请求量来计算成功率,或者集群没有足够的请求量来进行成功率异常值剔除,则消息将不存在。

weight

(uint32) 主机的权重。如果未配置,则默认值为 1。

hostname

(string) 主机的主机名(如果适用)。

priority

(uint32) 主机的优先级。如果未配置,则默认值为 0(最高优先级)。

local_origin_success_rate

(type.v3.Percent) 上一个计算时间间隔内此主机的请求成功率,仅考虑本地起源的错误,并将外部起源的错误视为成功。仅当 outlier_detection.split_external_local_origin_errorstrue 时,应解释此字段。有关详细信息,请参见 集群异常值检测 文档。

注意:如果主机没有足够的请求量来计算成功率,或者集群没有足够的请求量来进行成功率异常值剔除,则消息将不存在。

locality

(config.core.v3.Locality) 主机的区域。

admin.v3.HostHealthStatus

[admin.v3.HostHealthStatus proto]

主机的健康状况。

{
  "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) 主机当前正在失败主动健康检查。

failed_outlier_check

(bool) 主机当前被视为异常值,已被剔除。

failed_active_degraded_check

(bool) 主机当前正在通过主动健康检查被标记为降级。

pending_dynamic_removal

(bool) 主机已从服务发现中移除,但由于主动健康检查而处于稳定状态。

pending_active_hc

(bool) 主机尚未进行健康检查。

excluded_via_immediate_hc_fail

(bool) 主机应从恐慌、溢出等计算中排除,因为它已通过协议信号明确地从轮换中移除,并且不应路由到该主机。

active_hc_timeout

(bool) 主机由于超时而未能进行主动 HC。

eds_health_status

(config.core.v3.HealthStatus) EDS 报告的健康状况。注意:这里目前仅支持 HEALTHY 和 UNHEALTHY。