刚想出来,我相信它正在产生正确的结果 . 您必须使用录制规则,因为您无法从单个查询中的函数的实例向量结果创建范围向量,正如您已经发现的那样(您得到一个解析错误) . 因此,我们将函数结果(将是实例向量)记录为新的时间序列,并将其用作不同查询中的度量标准名称,然后可以添加 [5d] 以选择范围 .

我们针对所有服务每分钟多次运行测试,并且每个服务("service"是一个标签,其中每个服务的名称是标签值)具有与之关联的不同数量的测试,但是如果给定服务的任何测试失败了,我们认为"down moment" . (在具有 status="failure" 标签值的指标中捕获给定服务的测试失败次数 . )我们将失败次数限制为1,因此我们的值只有零和1,因此可以将"failure values time series"转换为"success values time series"而不是,使用不等式运算符和 bool 修饰符 . (有关 bool 的使用的讨论,请参阅this post . )因此,对于在该擦除间隔期间所有测试成功的每个服务,第一个记录度量的结果为1,对于该服务至少有一个测试失败,为0 .

如果对于任何给定分钟返回的所有值,服务的失败次数> 0,我们认为该服务在该分钟内“关闭” . (因此,如果我们在给定的分钟内同时出现故障和成功,则不会将其视为停机时间 . )这就是为什么我们有第二个记录的度量标准来生成实际的“up this this”布尔值 . 第二个记录的度量标准 Build 在第一个,这是正常的,因为Prometheus文档说记录的度量标准在每个组内串行运行 .

因此,任何给定持续时间的“正常运行时间”是“此分钟上升”值(即每分钟上升1)的总和除以持续时间中的总分钟数,无论该持续时间恰好是什么 .

由于我们已经定义了一个名为“minute_up_bool”的记录指标,因此我们可以在任何我们想要的范围内创建正常运行时间图 . (顺便说一句,记录的指标仅在您首次定义之后的时间生成,因此您不会获得今天定义的记录指标中包含的昨天的时间序列数据 . )这是您可以在Grafana中显示的查询,以显示正常运行时间%移动过去5天的窗口:

sum_over_time(minute_up_bool[5d]) * 100 / (5 * 24 * 60)

所以这是我们的录制规则配置:

groups:

- name: uptime

interval: 1m

# Each rule here builds on the previous one.

rules:

# Get test results as pass/fail => 1/0

# (label_replace() removes confusing status="failure" label value)

- record: test_success_bool

expr: label_replace(clamp_max(test_statuses_total{status="failure"}, 1), "status", "", "", "") != bool 1

# Get the uptime as 1 minute range where the sum of successes is not zero

- record: minute_up_bool

expr: clamp_max(sum_over_time(test_success_bool[1m]), 1)

sla java_Grafana中滑动窗口的Prometheus正常运行时间或SLA百分比相关推荐

  1. 网络基础2-3(TCP协议,三次握手,四次挥手,TIME_WAIT状态的作用,TCP如何保证可靠传输,TCP连接中状态转化,滑动窗口,流量控制,快速重传,拥塞窗口,延迟应答,捎带应答,粘包问题)

    TCP协议 TCP协议概念 TCP全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传输进行一个详细的控制 TCP协议 ...

  2. Stream Processing:滑动窗口的聚集(aggregation)操作的优化算法讲解

    本文将要讲解流处理中滑动窗口聚集操作的相关优化算法.将分别从下面几个方面讲解: 什么是滑动窗口? 什么是滑动窗口的聚集操作? 聚集操作的优化的必要性在哪里? 有哪些优化算法,它们的原理分别是什么? 4 ...

  3. WireShark 探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)

    ​当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传 ...

  4. Java熔断框架有哪些_降级熔断框架 Hystrix 源码解析:滑动窗口统计

    降级熔断框架 Hystrix 源码解析:滑动窗口统计 概述 Hystrix 是一个开源的降级熔断框架,用于提高服务可靠性,适用于依赖大量外部服务的业务系统.什么是降级熔断呢? 降级 业务降级,是指牺牲 ...

  5. 时间序列分类05:滑动窗口处理时间序列分类数据

    [时间序列预测/分类] 全系列60篇由浅入深的博文汇总:传送门 在处理时间序列预测或者时间序列分类任务的时候,经常会遇到"滑动窗口(sliding window)"的概念,包括在之 ...

  6. TCP滑动窗口协议与流量控制

    谈到TCP的滑动窗口协议与流量控制,便会想起当年面试时的场景.那时刚刚毕业,匆匆学了一点TCP的皮毛,仅仅是知道了TCP是面向连接的协议,以对每个报文都进行确认+超时重传的机制来保证端到端的可靠传输: ...

  7. Hystrix 1.5 滑动窗口实现原理总结

    文章目录 总览 BucketedCounterStream 总览 事件流的写入 共享的事件流 事件流聚合为桶 BucketedRollingCounterStream HealthCountsStre ...

  8. TCP/IP滑动窗口

    TCP/IP协议是如何通过滑动窗口来实现流量控制的? T C P使用一种窗口(w i n d o w)机制来控制数据流.当一个连接建立时,连接的每一端分配一个缓冲区来保存输入的数据,并将缓冲区的尺寸发 ...

  9. Sentinel 滑动窗口实现原理 侵删

    要实现限流.熔断等功能,首先要解决的问题是如何实时采集服务(资源)调用信息.例如将某一个接口设置的限流阔值 1W/tps,那首先如何判断当前的 TPS 是多少?Alibaba Sentinel 采用滑 ...

  10. WireShark抓包 图解探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)

    当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传输 ...

最新文章

  1. bat小工具_小程序反编译工具在windows系统下的调用脚本
  2. [py]django url 参数/reverse和HttpResponseRedirect
  3. openfire在windows环境和linux环境下的配置
  4. HDU 4634 Swipe Bo(搜索)
  5. 北交大计算机学院复试经验,2014考研复试:过来人考研复试经验谈-北交大计算机系...
  6. java中使用字符(字节)读取文本内容
  7. c语言字符型211,C语言简单的字符驱动程序介绍
  8. vue基础之样式绑定(class,style)
  9. PDF控件Aspose.Pdf 12月新版17.12发布 | 附下载
  10. HTML+CSS实现淘宝首页
  11. 局域网中计算机与网线连接的设备是6,Cat5e、Cat6、Cat6a和Cat7网线有什么区别?...
  12. 通信线路工程验收规范_老杨一建通信学堂通信线路工程施工技术
  13. 国家信息化体系六要素
  14. springboot学习中的错误
  15. IT 行业平均薪资第一
  16. python3 get爬取网页标题、链接和链接的数字ID
  17. 单亲妈妈开米粉店,赚得比当白领的女儿还多,做生意一定要懂方法
  18. 担心数据丢失 or 系统备份? Win10系统备份还原轻松学会
  19. iptables指南删减版
  20. Acne Scarring Treatment

热门文章

  1. 如何做好百度竞价推广?
  2. 2020中国.NET开发者峰会近50场热点技术专题揭秘
  3. orientdb java_OrientDB Java连接操作
  4. 计算机辅助翻译实践语料库,《计算机辅助翻译实践》
  5. fisher判别分析原理+python实现
  6. 模式识别和机器视觉智能方面的论文投稿---国际著名期刊杂志论文投稿
  7. 移动硬盘写保护,无法格式化的解决办法。
  8. QuickTime Player安装Soundflower插件实现完整录屏功能
  9. Python学习之路,简单的注册登录小屁程序
  10. 【考研】哈尔滨工业大学计算机考研854复习资料