微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PromQL 查询以从固定日期计算服务正常运行时间和停机时间

如何解决PromQL 查询以从固定日期计算服务正常运行时间和停机时间

我正在尝试构建一个基本的 SRE 仪表板,以便学习 Prometheus/Grafana。

我想计算服务已运行的小时数以及自当年 1 月 1 日以来其停机的小时数,以便我可以从错误预算中减少停机时间。可以使用 PromQL 查询来计算这个吗?

我更喜欢使用 up 等指标,无论使用何种导出器/客户端库,该指标都可用。

解决方法

首先,您是要计算 Prometheus 服务的可用性还是 Prometheus 监控的服务的可用性?

如果是第一种情况,则可以使用“up”指标,如果是第二种情况,则可以使用 Blackbox 导出器的“probe_success”指标。

查看有关“up”和“probe_success”差异here的更多信息。

查看有关 Blackbox 导出器 here 的更多信息。

您可以使用如下查询来计算可用性(百分比):

100 * avg_over_time(probe_success{instance="xxxxx"}[1w])

在 Grafana 中,您可以使用全局变量“$__range”作为持续时间 ([$__range]),以便在 PromQL 中使用仪表板的当前时间范围。

在 Grafana 文档 here 中查看有关全局变量的更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。