负载报告 (proto)
config.endpoint.v3.UpstreamLocalityStats
[config.endpoint.v3.UpstreamLocalityStats proto]
这些是 Envoy 以 LoadStatsResponse.load_reporting_interval 定义的频率报告给管理服务器的统计信息。 每个上游区域/区域的统计信息,以及可选的每个子区域统计信息。
{
"locality": {...},
"total_successful_requests": ...,
"total_requests_in_progress": ...,
"total_error_requests": ...,
"total_issued_requests": ...,
"cpu_utilization": {...},
"mem_utilization": {...},
"application_utilization": {...},
"load_metric_stats": [],
"upstream_endpoint_stats": []
}
- locality
(config.core.v3.Locality) 收集这些指标的区域、地区和可选端点组的名称。 区域和地区名称可能为空,如果未知。
- total_successful_requests
(uint64) 该区域中端点成功完成的请求总数。
- total_requests_in_progress
(uint64) 未完成的请求总数
- total_error_requests
(uint64) 由于端点错误而失败的请求总数,汇总了该区域中所有端点。
- total_issued_requests
(uint64) 自上次报告以来,此 Envoy 发出的请求总数。 此信息汇总了该区域中所有上游端点。
- cpu_utilization
(config.endpoint.v3.UnnamedEndpointLoadMetricStats) 用于多维负载均衡的 CPU 利用率统计信息。 这通常来自通过 ORCA 报告的端点指标。
- mem_utilization
(config.endpoint.v3.UnnamedEndpointLoadMetricStats) 用于多维负载均衡的内存利用率。 这通常来自通过 ORCA 报告的端点指标。
- application_utilization
(config.endpoint.v3.UnnamedEndpointLoadMetricStats) 用于多维负载均衡的混合应用程序定义利用率。 这通常来自通过 ORCA 报告的端点指标。
- load_metric_stats
(repeated config.endpoint.v3.EndpointLoadMetricStats) 用于多维负载均衡的命名统计信息。 这些通常来自通过 ORCA 报告的端点指标。
- upstream_endpoint_stats
(repeated config.endpoint.v3.UpstreamEndpointStats) 此区域的端点粒度统计信息。 如果服务器通过设置 LoadStatsResponse.report_endpoint_granularity 请求,则会填充此信息。
config.endpoint.v3.UpstreamEndpointStats
[config.endpoint.v3.UpstreamEndpointStats proto]
{
"address": {...},
"metadata": {...},
"total_successful_requests": ...,
"total_requests_in_progress": ...,
"total_error_requests": ...,
"total_issued_requests": ...,
"load_metric_stats": []
}
- address
(config.core.v3.Address) 上游主机地址。
- metadata
(Struct) 端点的透明且实现依赖的元数据。 Envoy 会将此直接传递给管理服务器。
- total_successful_requests
(uint64) 该区域中端点成功完成的请求总数。 这些包括 HTTP 的非 5xx 响应,其中错误源于客户端,端点已成功响应。 对于 gRPC,grpc-status 值是不包含在下面 total_error_requests 中的值。
- total_requests_in_progress
(uint64) 此端点的未完成请求总数。
- total_error_requests
(uint64) 由于端点错误而失败的请求总数。 对于 HTTP,这些是具有 5xx 状态码的响应,对于 gRPC,grpc-status 值
DeadlineExceeded
Unimplemented
Internal
Unavailable
Unknown
DataLoss
- total_issued_requests
(uint64) 自上次报告以来,向此端点发出的请求总数。 单个 TCP 连接、HTTP 或 gRPC 请求或流计为一个请求。
- load_metric_stats
(repeated config.endpoint.v3.EndpointLoadMetricStats) 用于多维负载均衡的统计信息。
config.endpoint.v3.EndpointLoadMetricStats
[config.endpoint.v3.EndpointLoadMetricStats proto]
{
"metric_name": ...,
"num_requests_finished_with_metric": ...,
"total_metric_value": ...
}
- metric_name
(string) 指标的名称;可能为空。
- num_requests_finished_with_metric
(uint64) 完成并包含此指标的调用次数。
- total_metric_value
(double) 在 load_reporting_interval 中,完成此指标的所有调用中指标值的总和。
config.endpoint.v3.UnnamedEndpointLoadMetricStats
[config.endpoint.v3.UnnamedEndpointLoadMetricStats proto]
与 EndpointLoadMetricStats 相同,只是没有 metric_name 字段。
{
"num_requests_finished_with_metric": ...,
"total_metric_value": ...
}
- num_requests_finished_with_metric
(uint64) 完成并包含此指标的调用次数。
- total_metric_value
(double) 在 load_reporting_interval 中,完成此指标的所有调用中指标值的总和。
config.endpoint.v3.ClusterStats
[config.endpoint.v3.ClusterStats proto]
每个集群负载统计信息。 Envoy 在 LoadStatsRequest 中向管理服务器报告这些统计信息。 下一个 ID:7
{
"cluster_name": ...,
"cluster_service_name": ...,
"upstream_locality_stats": [],
"total_dropped_requests": ...,
"dropped_requests": [],
"load_report_interval": {...}
}
- cluster_name
(string, REQUIRED) 集群的名称。
- cluster_service_name
(string) 集群的 eds_cluster_config service_name。 有可能两个集群向 EDS 发送相同的 service_name,在这种情况下,管理服务器应该对负载报告进行聚合。
- upstream_locality_stats
(repeated config.endpoint.v3.UpstreamLocalityStats, REQUIRED) 需要至少一个。
- total_dropped_requests
(uint64) 集群级统计信息,例如 total_successful_requests 可以通过对 upstream_locality_stats 进行求和来计算。 此外,下面还有其他集群范围的统计信息。
已丢弃的请求总数。 这涵盖了由 drop_overload 策略和断路器故意丢弃的请求。
- dropped_requests
(repeated config.endpoint.v3.ClusterStats.DroppedRequests) 有关每个类别中故意丢弃的请求的信息,这些类别在 DropOverload 策略中指定。
- load_report_interval
(Duration) 实际负载报告发生的期间。 这将保证包含所有报告的请求。 由于系统负载以及 Envoy 发送的
LoadStatsRequest
和管理服务器发送的LoadStatsResponse
消息之间的延迟,这可能比LoadStatsResponse
中请求的负载报告间隔更长。
config.endpoint.v3.ClusterStats.DroppedRequests
[config.endpoint.v3.ClusterStats.DroppedRequests proto]
{
"category": ...,
"dropped_count": ...
}
- category
(string, REQUIRED) 指定丢弃的策略标识符。
- dropped_count
(uint64) 该类别中故意丢弃的请求总数。