sla java_Grafana中滑动窗口的Prometheus正常运行时间或SLA百分比
刚想出来,我相信它正在产生正确的结果 . 您必须使用录制规则,因为您无法从单个查询中的函数的实例向量结果创建范围向量,正如您已经发现的那样(您得到一个解析错误) . 因此,我们将函数结果(将是实例向量)记录为新的时间序列,并将其用作不同查询中的度量标准名称,然后可以添加 [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百分比相关推荐
- 网络基础2-3(TCP协议,三次握手,四次挥手,TIME_WAIT状态的作用,TCP如何保证可靠传输,TCP连接中状态转化,滑动窗口,流量控制,快速重传,拥塞窗口,延迟应答,捎带应答,粘包问题)
TCP协议 TCP协议概念 TCP全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传输进行一个详细的控制 TCP协议 ...
- Stream Processing:滑动窗口的聚集(aggregation)操作的优化算法讲解
本文将要讲解流处理中滑动窗口聚集操作的相关优化算法.将分别从下面几个方面讲解: 什么是滑动窗口? 什么是滑动窗口的聚集操作? 聚集操作的优化的必要性在哪里? 有哪些优化算法,它们的原理分别是什么? 4 ...
- WireShark 探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)
当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传 ...
- Java熔断框架有哪些_降级熔断框架 Hystrix 源码解析:滑动窗口统计
降级熔断框架 Hystrix 源码解析:滑动窗口统计 概述 Hystrix 是一个开源的降级熔断框架,用于提高服务可靠性,适用于依赖大量外部服务的业务系统.什么是降级熔断呢? 降级 业务降级,是指牺牲 ...
- 时间序列分类05:滑动窗口处理时间序列分类数据
[时间序列预测/分类] 全系列60篇由浅入深的博文汇总:传送门 在处理时间序列预测或者时间序列分类任务的时候,经常会遇到"滑动窗口(sliding window)"的概念,包括在之 ...
- TCP滑动窗口协议与流量控制
谈到TCP的滑动窗口协议与流量控制,便会想起当年面试时的场景.那时刚刚毕业,匆匆学了一点TCP的皮毛,仅仅是知道了TCP是面向连接的协议,以对每个报文都进行确认+超时重传的机制来保证端到端的可靠传输: ...
- Hystrix 1.5 滑动窗口实现原理总结
文章目录 总览 BucketedCounterStream 总览 事件流的写入 共享的事件流 事件流聚合为桶 BucketedRollingCounterStream HealthCountsStre ...
- TCP/IP滑动窗口
TCP/IP协议是如何通过滑动窗口来实现流量控制的? T C P使用一种窗口(w i n d o w)机制来控制数据流.当一个连接建立时,连接的每一端分配一个缓冲区来保存输入的数据,并将缓冲区的尺寸发 ...
- Sentinel 滑动窗口实现原理 侵删
要实现限流.熔断等功能,首先要解决的问题是如何实时采集服务(资源)调用信息.例如将某一个接口设置的限流阔值 1W/tps,那首先如何判断当前的 TPS 是多少?Alibaba Sentinel 采用滑 ...
- WireShark抓包 图解探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)
当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传输 ...
最新文章
- bat小工具_小程序反编译工具在windows系统下的调用脚本
- [py]django url 参数/reverse和HttpResponseRedirect
- openfire在windows环境和linux环境下的配置
- HDU 4634 Swipe Bo(搜索)
- 北交大计算机学院复试经验,2014考研复试:过来人考研复试经验谈-北交大计算机系...
- java中使用字符(字节)读取文本内容
- c语言字符型211,C语言简单的字符驱动程序介绍
- vue基础之样式绑定(class,style)
- PDF控件Aspose.Pdf 12月新版17.12发布 | 附下载
- HTML+CSS实现淘宝首页
- 局域网中计算机与网线连接的设备是6,Cat5e、Cat6、Cat6a和Cat7网线有什么区别?...
- 通信线路工程验收规范_老杨一建通信学堂通信线路工程施工技术
- 国家信息化体系六要素
- springboot学习中的错误
- IT 行业平均薪资第一
- python3 get爬取网页标题、链接和链接的数字ID
- 单亲妈妈开米粉店,赚得比当白领的女儿还多,做生意一定要懂方法
- 担心数据丢失 or 系统备份? Win10系统备份还原轻松学会
- iptables指南删减版
- Acne Scarring Treatment