7.2. Serverless 开发人员指标

指标 (metrics) 使开发人员能够监控 Knative 服务的运行情况。您可以使用 OpenShift Container Platform 监控堆栈记录并查看 Knative 服务的健康检查和指标。

您可以通过在 OpenShift Container Platform Web 控制台 Developer 视角中导航到 Dashboards 来查看 OpenShift Serverless 的不同指标。

警告

如果使用 mTLS 启用 Service Mesh,则 Knative Serving 的指标会被默认禁用,因为 Service Mesh 会防止 Prometheus 提取指标。

有关解决这个问题的详情,请参阅在使用带有 mTLS 的 Service Mesh 时启用 Knative Serving 指标

提取指标不会影响 Knative 服务的自动扩展,因为提取请求不会通过激活器。因此,如果没有 pod 正在运行,则不会进行提取。

7.2.1. Knative 服务指标默认公开

表 7.1. 在端口 9090 上为每个 Knative 服务公开的指标

指标名称、单元和类型描述指标标签

queue_requests_per_second

指标单元:无维度

指标类型:量表

每秒到达队列代理的请求数。

公式: stats.RequestCount / r.reportingPeriodSeconds

stats.RequestCount 直接从给定报告持续时间的网络 pkg stats 中计算。

destination_configuration="event-display", destination_namespace="pingsource1", destination_pod="event-display-00001-deployment-6b455479cb-75p6w", destination_revision="event-display-00001"

queue_proxied_operations_per_second

指标单元:无维度

指标类型:量表

每秒代理请求数.

公式: stats.ProxiedRequestCount / r.reportingPeriodSeconds

stats.ProxiedRequestCount 直接从给定报告持续时间的网络 pkg stats 中计算。

 

queue_average_concurrent_requests

指标单元:无维度

指标类型:量表

此 pod 当前处理的请求数。

在网络 pkg 侧计算平均并发,如下所示:

  • 当发生 req 更改时,将计算更改之间的时间传送时间。根据结果,计算超过 delta 的当前并发数,并添加到当前计算的并发数。此外,还保留了 deltas 的总和。

    增量型的当前并发性计算如下:

    global_concurrency delta

  • 每次完成报告时,都会重置总和和当前计算的并发性。
  • 在报告平均并发时,当前计算的并发性被除以 deltas 的总和。
  • 当一个新请求进入时,全局并发计数器会增加。当请求完成后,计数器会减少。

destination_configuration="event-display", destination_namespace="pingsource1", destination_pod="event-display-00001-deployment-6b455479cb-75p6w", destination_revision="event-display-00001"

queue_average_proxied_concurrent_requests

指标单元:无维度

指标类型:量表

当前由此 pod 处理的代理请求数:

stats.AverageProxiedConcurrency

destination_configuration="event-display", destination_namespace="pingsource1", destination_pod="event-display-00001-deployment-6b455479cb-75p6w", destination_revision="event-display-00001"

process_uptime

指标单元: 秒

指标类型:量表

进程启动的秒数。

destination_configuration="event-display", destination_namespace="pingsource1", destination_pod="event-display-00001-deployment-6b455479cb-75p6w", destination_revision="event-display-00001"

表 7.2. 在端口 9091 上为每个 Knative 服务公开的指标

指标名称、单元和类型描述指标标签

request_count

指标单元:无维度

指标类型:计数器

路由到 queue-proxy 的请求数。

configuration_name="event-display", container_name="queue-proxy", namespace_name="apiserversource1", pod_name="event-display-00001-deployment-658fd4f9cf-qcnr5", response_code="200", response_code_class="2xx", revision_name="event-display-00001", service_name="event-display"

request_latencies

指标单元:毫秒

指标类型:togram

以毫秒为单位的响应时间。

configuration_name="event-display", container_name="queue-proxy", namespace_name="apiserversource1", pod_name="event-display-00001-deployment-658fd4f9cf-qcnr5", response_code="200", response_code_class="2xx", revision_name="event-display-00001", service_name="event-display"

app_request_count

指标单元:无维度

指标类型:计数器

路由到 user-container 的请求数。

configuration_name="event-display", container_name="queue-proxy", namespace_name="apiserversource1", pod_name="event-display-00001-deployment-658fd4f9cf-qcnr5", response_code="200", response_code_class="2xx", revision_name="event-display-00001", service_name="event-display"

app_request_latencies

指标单元:毫秒

指标类型:togram

以毫秒为单位的响应时间。

configuration_name="event-display", container_name="queue-proxy", namespace_name="apiserversource1", pod_name="event-display-00001-deployment-658fd4f9cf-qcnr5", response_code="200", response_code_class="2xx", revision_name="event-display-00001", service_name="event-display"

queue_depth

指标单元:无维度

指标类型:量表

服务和等待队列中的当前项目数,或者如果无限并发,则不报告。使用 breaker.inFlight

configuration_name="event-display", container_name="queue-proxy", namespace_name="apiserversource1", pod_name="event-display-00001-deployment-658fd4f9cf-qcnr5", response_code="200", response_code_class="2xx", revision_name="event-display-00001", service_name="event-display"