You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Prometheus的up指标查询服务器SLI(如99.3%)

用Prometheus的up指标计算服务器SLI(可用性百分比)

核心问题在于:up指标在服务器宕机时往往会缺失(无返回值),而非返回0,直接对原始up指标求平均会忽略这些宕机时段,导致结果偏高。

单实例可用性查询

要准确计算单台服务器的可用性,需要先把缺失的up指标补为0,再计算时间范围内的平均值:

100 * avg_over_time(
  (up{instance="你的服务器实例ID"} or vector(0))[1d:]
)
  • or vector(0):将up指标无返回的时段强制设为0,确保宕机时间被纳入计算
  • [1d:]:指定统计的时间范围,可替换为[1h:](1小时)、[7d:](7天)等
  • 乘以100是将小数结果转换为百分比形式

多实例集群整体可用性查询

如果要计算一组服务器(比如同一个job下的实例)的整体平均可用性,可先计算每个实例的单例可用性,再求整体平均:

100 * avg(
  avg_over_time(
    (up{job="你的job名称"} or vector(0))[1d:]
  ) by (instance)
)

常见错误排查

  • 若之前直接用avg_over_time(up[1d:]),会自动忽略up缺失的时段,相当于只统计服务器在线时的平均(结果永远是1),完全错误
  • 确认标签筛选(instance/job)是否正确,避免筛选到无关实例导致结果偏差

内容的提问来源于stack exchange,提问作者Neel Kamath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:01:07