4

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

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

Metrickube_pod_created包含 Creation-Timestamp 作为值,但由于每个 Time-Slot 中都有一个 Value,因此以下查询还为未创建新 POD 的 Time-Slot 返回 Results >0:

count(rate(kube_pod_created[1h])) by(namespace)

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

4

2 回答 2

1

过去一小时内创建的 POD

count ( (time() - sum by (pod) (kube_pod_created)) < 60*60 )

于 2021-12-09T09:48:31.300 回答
0

根据文档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)

于 2019-09-26T19:14:07.200 回答