跳至内容

服务指标

每个 Knative 服务都有一个代理容器,它代理到应用程序容器的连接。队列代理性能会报告许多指标。

使用以下指标,您可以衡量请求是否在代理端排队(需要背压)以及在应用程序端为请求提供服务时实际延迟了多少。

队列代理指标

请求端点。

指标名称 描述 类型 标签 单位 状态
revision_request_count 路由到队列代理的请求数 计数器 configuration_name
container_name
namespace_name
pod_name
response_code
response_code_class
revision_name
service_name
无量纲 稳定
revision_request_latencies 响应时间(毫秒) 直方图 configuration_name
container_name
namespace_name
pod_name
response_code
response_code_class
revision_name
service_name
毫秒 稳定
revision_app_request_count 路由到用户容器的请求数 计数器 configuration_name
container_name
namespace_name
pod_name
response_code
response_code_class
revision_name
service_name
无量纲 稳定
revision_app_request_latencies 响应时间(毫秒) 直方图 configuration_name
namespace_name
pod_name
response_code
response_code_class
revision_name
service_name
毫秒 稳定
revision_queue_depth 服务和等待队列中当前项数,或在并发性无限制的情况下不报告 仪表 configuration_name
event-display
container_name
namespace_name
pod_name
response_code_class
revision_name
service_name
无量纲 稳定

注意

如果修订版本并发性硬限制设置为大于 1 的值,则将导出 revision_queue_depth 指标。

公开队列代理指标

队列代理在端口 9091 上公开请求端点的指标。当 observability 配置图中的 metrics.request-metrics-backend-destination 设置为 prometheus(默认值)时,Prometheus 可以抓取这些指标。后端可以更改为 opencensus,它使用推送模型并需要一个目标地址,可以在同一个配置图中通过 metrics.opencensus-address 设置。用户可以使用 metrics.request-metrics-reporting-period-seconds 控制两个后端的报告周期。如果 metrics.request-metrics-reporting-period-seconds 完全没有设置,则报告周期取决于全局报告周期的值,即 metrics.reporting-period-seconds,它会影响控制平面和数据平面。如果两个属性都不可用,则报告周期默认情况下对 Prometheus 后端为 5 秒,对 Opencensus 后端为 60 秒。

以下是如何连接到 OpenTelemetry 收集器 的可观察性配置图的示例配置

metrics.request-metrics-backend-destination: "opencensus"
metrics.opencensus-address: "otel-collector.metrics:55678"
metrics.request-metrics-reporting-period-seconds: "1"

注意

报告周期为 1 秒,以便我们尽快推送指标,但这可能会使目标指标后端不堪重负。将值设置为零或负值默认为 10 秒(并不意味着没有延迟),这是 Opencensus 指标客户端库定义的默认报告周期。后者被 Knative Serving 用于导出指标。

我们使用分析和 Cookie 来了解网站流量。有关您使用我们网站的信息将与 Google 共享,用于该目的。 了解更多。