Prometheus 速率函数输出为整数

Posted

技术标签:

【中文标题】Prometheus 速率函数输出为整数【英文标题】:Prometheus rate function output to whole number 【发布时间】:2021-07-08 23:49:32 【问题描述】:

有没有办法将Prometheus中rate函数的输出转换为整数?

我正在尝试获取指定时间范围内 pod 重新启动的总数,尽管此查询会产生输出,但我得到的结果是小数,这不是我需要的。

rate(kube_pod_container_status_restarts_totalnamespace=~"jenkins"[10h]) * 60 * 5 > 0

我得到的是0.21761280931586605,但我宁愿得到一个整数。

我只是不确定要使用什么功能。

【问题讨论】:

【参考方案1】:

您可能不想使用 rate。 我猜你正在寻找增加,它将计算在一段时间内发生了多少重启

increase(kube_pod_container_status_restarts_totalnamespace=~"jenkins"[10h])

【讨论】:

【参考方案2】:

您可以使用以下函数对十进制数进行四舍五入:

round = 四舍五入到最接近的整数。 ceil = 向上舍入到最接近的整数。 floor = 向下舍入到最接近的整数。

在 Prometheus 文档here 中查看有关“round”函数的更多详细信息。

在您的情况下,您使用的是“速率”,因此您获得每秒重新启动的次数 * 60 * 5。这与每 5 分钟的重新启动次数相同。

但是,如果你想计算重启次数(而不是计算重启率),也许你应该使用“增加”函数。

在 Prometheus 文档here 中查看有关“增加”功能的更多详细信息。

【讨论】:

以上是关于Prometheus 速率函数输出为整数的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus 查询语言

ansible fetch模块

prometheus部署

prometheus部署

初识 prometheus

prometheus 未启动(未加载 prometheus.yml 文件)