prometheus绘图step参数详解

前言

在使用夜莺监控中记录规则时发现有些告警没发出来,参考了大佬文章-夜莺告警流程讲解及常见问题排查思路进行排查。过程中使用到了即时查询的Graph视图看看指标值情况发现数据绘图是单个点,根据文档了解到绘图有个重要的step参数(在没有手动设置时根据选择时间区间会自动计算),会导致看图上结果和实际数据不一致情况,而step参数具体生成根据实际数据生成绘图数据的逻辑还是需要再探寻一下。

两个观点

这方面的问题又很多人解释过,我期待能先从他们的文章中获得相关知识。

  • 观点1. 在每个step周期都要返回一个采样值,如果不存在数据回有回溯行为,返回回溯区间第一个遇到的采样值,回溯区间为tsdb的配置项,例如promql.LookbackDelta或者search.maxLookback (prometheus中step或resolution的含义

  • 观点2. Step参数在prometheus的API中用于range query,作为query参数的promQL语句,支持两种时间序列变量选择器(instant/range vector selector),只有instant vector selector 才能直接用于绘图。

    Instant vetcor selector 返回结果和实际数据类似两组和时间线平行的点(原文中图例十分生动),返回结果在每个step两端有两个数据点,来源于实际数据回溯,所以如果实际数据产生间隔大于回溯间隔会产生,多个结果点回溯选用同一个实际数据点的情况。

    如果Range vector selector想要支持绘图需要用如rate函数把range vector转换成instant vector,结果数据点是根据实际数据点计算得到的估算值。

    Grafana中发起查询step也是动态计算的。
    详解Prometheus range query中的step参数

结论

总结一下上面两

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值