PromQL 用于绘制每小时创建的 Kubernetes POD 数量的图表

pow*_*owo 5 kubernetes prometheus promql kube-state-metrics

我使用 Kubernetes 与 kube-state-metrics 和 Prometheus/grafana 来绘制 Kubernetes 集群的各种指标。

现在我想要绘制随时间推移每小时创建了多少个新POD 的图表。

该指标kube_pod_created包含创建时间戳作为值,但由于每个时隙中都有一个值,因此以下查询还会针对尚未创建新 POD 的时隙返回 >0 的结果:

count(rate(kube_pod_created[1h])) by(namespace)
Run Code Online (Sandbox Code Playgroud)

我可以在某种标准中使用该值来仅计算该值是否在“当前”时隙内吗?

Chi*_*tiv -1

根据文档https://prometheus.io/docs/prometheus/latest/querying/functions/ rate() 应该仅与计数器一起使用。我建议您使用changes() 函数,因为在 Pod 创建的情况下,创建时间值应该在您的时间范围内发生变化,并且也许 sum 也比 count 更好。

变化()

对于每个输入时间序列,changes(v range-vector) 返回其值在提供的时间范围内变化的次数作为即时向量。

sum(changes(kube_pod_created[1h])) by(namespace)