4

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

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

我更喜欢使用一个指标,例如up无论使用什么导出器/客户端库都可以使用。

4

1 回答 1

1

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

如果是第一种情况,那么您可以使用“up”指标,如果是第二种情况,那么您可以使用例如来自 Blackbox 导出器的“probe_success”指标。

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

在此处查看有关 Blackbox 导出器的更多信息。

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

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

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

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

于 2021-06-12T23:05:15.583 回答