【发布时间】:2020-01-24 13:43:48
【问题描述】:
我正在寻找一个查询来获取上周运行 prometheus 的服务器的平均正常运行时间。它应该是大约 15 小时/周,所以大约 8-10 %。
我在 CentOS 7.6.1810 上使用 Prometheus 2.5.0 和 node_exporter。 我最有希望的实验是:
1 - avg_over_time(up{job="prometheus"}[7d])
这是我在寻找获得平均正常运行时间的方法时发现的,但它正好给了我 1。(我的猜测是它忽略了没有发生刮擦的时间?)
2 - sum_over_time(up{job="prometheus"}[7d]) * 15 / 604800
这在技术上是可行的,但取决于抓取间隔,在我的例子中是 15 秒。我似乎找不到从 prometheus 的配置中获取所述间隔的方法,因此我必须将其硬编码到查询中。
我还尝试找到获取工作的所有开始和结束时间的方法,但到目前为止无济于事。
【问题讨论】:
-
你是在同一个节点上运行prometheus resver吗? up 指标给出了探测是否成功,所以如果监控服务器关闭,并且没有抓取,那么你将不会得到 0-s for up。
-
是的,服务器基本上应该检查它自己的正常运行时间。
标签: prometheus prometheus-node-exporter