指标配置 #
本文档将指导您如何配置指标功能。
什么是指标? #
指标是kwok
配置,允许用户定义和模拟 kubelet 公开的指标端点。
下面的 YAML 显示了指标资源的所有字段
kind: Metrics
apiVersion: kwok.x-k8s.io/v1alpha1
metadata:
name: <string>
spec:
path: <string>
metrics:
- name: <string>
help: <string>
kind: <string>
dimension: <string>
labels:
- name: <string>
value: <string>
value: <string> # for counter and gauge
buckets: # for histogram
- le: <float64>
value: <string>
hidden: <bool>
kubelet 中共有四个与指标相关的端点:/metrics
、/metrics/resource
、/metrics/probe
和 /metrics/cadvisor
,所有这些都以 Prometheus 样式公开。指标资源能够模拟具有这种样式的端点。
path
字段是必需的,并且必须以 /metrics
开头。为了区分不同节点的指标,路径包含变量 {nodeName}
,该变量将被节点名称替换。
每个子字段的描述可在 指标 API 中找到。为了方便读者,我们还在这里镜像了文档,并添加了一些额外的注释。
metrics
是特定配置项的列表,每个配置项都对应于一个 Prometheus 样式指标
name
定义指标名称。labels
定义指标标签,每个项目对应一个特定的指标标签。name
是一个常量字符串,提供标签名称。value
表示为 CEL 表达式,该表达式动态确定标签值。例如:您可以使用node.metadata.name
将节点名称作为标签值引用。
help
定义指标的帮助字符串。kind
定义指标的类型:counter
、gauge
或histogram
。dimension
定义数据来源。它可以是node
、pod
或container
。- 如果
kind
为counter
或gauge
,则value
是定义指标值的 CEL 表达式。 buckets
专用于自定义类型为histogram
的指标数据。le
定义直方图存储段的上限,其含义与 Prometheus 直方图存储段相同。也就是说,每个存储段包含小于或等于le
的值。value
是提供存储段值的 CEL 表达式。hidden
指示是否在指标中显示存储段。但存储段的值将计算并累积到下一个存储段中。
示例 #
请参阅 kubelet 的 /metrics/resource
端点的指标 以获取详细信息。