跳到内容

Knative Serving 指标

管理员可以根据每个 Serving 组件公开的指标来监控 Serving 控制平面。

注意

这些指标可能会随着我们从 OpenCensus 迁移到 OpenTelemetry 而发生变化。

队列代理

队列代理是每个 pod 的边车,用于强制执行容器并发性并向自动扩缩器提供指标。以下指标为您提供了关于排队请求和用户容器行为的见解。

kn.queueproxy.depth

仪表类型: Int64Gauge

单位 (UCUM): {request}

描述: 队列代理队列中当前项的数量

kn.queueproxy.app.duration

仪表类型: Float64Histogram

单位 (UCUM): s

描述: 任务执行的持续时间

激活器

以下指标可以帮助您了解当流量通过激活器时应用程序的响应情况。例如,当从零扩缩时,高请求延迟可能意味着请求花费了太多时间才能完成。

kn.revision.request.concurrency

仪表类型: Float64Gauge

单位 (UCUM): {request}

描述: 路由到激活器的并发请求

指标中包含以下属性

名称 类型 描述
k8s.namespace.name 字符串 修订版本命名空间
kn.service.name 字符串 与此修订版本关联的 Knative Service 名称
kn.configuration.name 字符串 与此修订版本关联的 Knative Configuration 名称
kn.revision.name 字符串 修订版本的名称

自动扩缩器

自动扩缩器组件公开了与其每个修订版本决策相关的许多指标。例如,在任何给定时间,您可以监控自动扩缩器希望为 Service 分配的所需 pod 数量、稳定窗口期间每秒请求的平均数量,或者自动扩缩器是否处于恐慌模式 (KPA)。

以下自动扩缩指标中包含以下属性

名称 类型 描述
k8s.namespace.name 字符串 修订版本命名空间
kn.service.name 字符串 与此修订版本关联的 Knative Service 名称
kn.configuration.name 字符串 与此修订版本关联的 Knative Configuration 名称
kn.revision.name 字符串 修订版本的名称

kn.autoscaler.scrape.duration

仪表类型: Float64Histogram

单位 (UCUM): s

描述: 抓取修订版本的持续时间

kn.revision.pods.desired

仪表类型: Int64Gauge

单位 (UCUM): {pod}

描述: 自动扩缩器希望分配的 pod 数量

kn.revision.capacity.excess

仪表类型: Float64Gauge

单位 (UCUM): {concurrency}

描述: 在稳定窗口期间观察到的过剩突发容量

kn.revision.concurrency.stable

仪表类型: Float64Gauge

单位 (UCUM): {concurrency}

描述: 在稳定窗口期间观察到的每个 pod 的平均请求计数

kn.revision.concurrency.panic

仪表类型: Float64Gauge

单位 (UCUM): {concurrency}

描述: 在恐慌窗口期间观察到的每个 pod 的平均请求计数

kn.revision.concurrency.target

仪表类型: Float64Gauge

单位 (UCUM): {concurrency}

描述: 每个 pod 的所需并发请求数

kn.revision.rps.stable

仪表类型: Float64Gauge

单位 (UCUM): {request}/s

描述: 在稳定窗口期间观察到的每个 pod 的平均每秒请求数

kn.revision.rps.panic

仪表类型: Float64Gauge

单位 (UCUM): {request}/s

描述: 在恐慌窗口期间观察到的每个 pod 的平均每秒请求数

kn.revision.pods.requested

仪表类型: Int64Gauge

单位 (UCUM): {pod}

描述: 自动扩缩器从 Kubernetes 请求的 pod 数量

kn.revision.pods.count

仪表类型: Int64Gauge

单位 (UCUM): {pod}

描述: 当前分配的 pod 数量

kn.revision.pods.not_ready.count

仪表类型: Int64Gauge

单位 (UCUM): {pod}

描述: 当前未就绪的 pod 数量

kn.revision.pods.pending.count

仪表类型: Int64Gauge

单位 (UCUM): {pod}

描述: 当前待处理的 pod 数量

kn.revision.pods.terminating.count

仪表类型: Int64Gauge

单位 (UCUM): {pod}

描述: 当前正在终止的 pod 数量

Webhook 指标

Webhook 指标报告有关操作的有用信息。例如,如果大量操作失败,这可能表明用户创建的资源存在问题。

http.server.request.duration

Knative 使用 OpenTelemetry otel-go/otelhttp 包实现了 HTTP 服务器的语义约定

有关其导出的 HTTP 服务器指标的详细信息,请参阅 OpenTelemetry 文档

指标中包含以下属性

名称 类型 描述 示例
kn.webhook.type 字符串 指定调用的 webhook 类型 admissiondefaultingvalidationconversion
kn.webhook.resource.group 字符串 指定资源 Kubernetes 组名称
kn.webhook.resource.version 字符串 指定资源 Kubernetes 组版本
kn.webhook.resource.kind 字符串 指定资源 Kubernetes 组类型
kn.webhook.subresource 字符串 指定子资源 "" (空)、statusscale
kn.webhook.operation.type 字符串 指定调用 webhook 的操作 CREATEUPDATEDELETE
kn.webhook.operation.status 字符串 指定操作是否成功 successfailed

kn.webhook.handler.duration

仪表类型: 直方图

单位 ([UCUM): s

描述: 任务执行的持续时间。

指标中包含以下属性

名称 类型 描述 示例
kn.webhook.type 字符串 指定调用的 webhook 类型 admissiondefaultingvalidationconversion
kn.webhook.resource.group 字符串 指定资源 Kubernetes 组名称
kn.webhook.resource.version 字符串 指定资源 Kubernetes 组版本
kn.webhook.resource.kind 字符串 指定资源 Kubernetes 组类型
kn.webhook.subresource 字符串 指定子资源 "" (空)、statusscale
kn.webhook.operation.type 字符串 指定调用 webhook 的操作 CREATEUPDATEDELETE
kn.webhook.operation.status 字符串 指定操作是否成功 successfailed

工作队列指标

Knative 控制器公开 client-go 工作队列指标

以下指标中包含以下属性

名称 类型 描述
名称 字符串 工作队列的名称

kn.workqueue.depth

仪表类型: Int64UpDownCounter

单位 (UCUM): {item}

描述: 队列中当前项的数量

kn.workqueue.adds

仪表类型: Int64Counter

单位 (UCUM): {item}

描述: 添加到队列中的项的数量

kn.workqueue.queue.duration

仪表类型

单位 (UCUM): s

描述: 项在工作队列中停留的时间

kn.workqueue.process.duration

仪表类型: Float64Histogram

单位 (UCUM): s

描述: 从工作队列处理一个项所需的时间(秒)

kn.workqueue.unfinished_work

仪表类型: Float64Gauge

单位 (UCUM): s

描述: 协调器已完成但正在进行中且未观察到持续时间的工时(秒)。大值表示线程卡住。可以通过观察此值增加的速度来推断卡住的线程数量。

kn.workqueue.longest_running_processor

仪表类型: Float64Gauge

单位 (UCUM): s

描述: 运行时间最长的工作线程已运行的时间

kn.workqueue.retries

仪表类型: Int64Counter

单位 (UCUM): {item}

描述: 重新添加到队列中的项的数量

Go 运行时

Knative 使用 OpenTelemetry otel-go/instrumentation/runtime 包实现了 Go 运行时指标的语义约定

有关其导出的 Go 运行时指标的详细信息,请参阅 OpenTelemetry 文档

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。