Kibana:运用 transform 来实现服务质量目标(SLO)的可视化

news2024/11/26 8:34:03

Kibana 是一个有用的工具,用于监控应用程序和服务以确保它们在指定的服务级别目标内运行。 服务质量指标 (SLI) 是服务的可衡量方面,例如错误代码和延迟。 服务质量目标 (SLO) 定义应用程序或服务预期如何按照 SLI 衡量的方式执行,并在某种程度上设置服务正常运行时间和可用性目标。 随着应用程序生成的日志记录和指标数据的增长,对 Elasticsearch 集群处理 SLI 数据聚合的需求也在增长。

如果你曾经为高度密集的指标数据集组装过 SLO 仪表板,你可能已经知道集群上由数百万事件支持的 SLI 可视化是多么繁重,因为每个仪表板可视化都针对支持索引执行一个或多个聚合。 例如,一种这样的聚合可能会显示指定时间间隔内按响应代码分组的 HTTP 错误数。 另一个可能聚合代理日志以显示随时间推移的后端请求延迟。

Elasticsearch transforms 可用于为 SLO 仪表板预聚合 SLI 指标,例如 HTTP 响应代码。 转换对现有索引的查询,然后将汇总数据写入可供可视化使用的较小索引,从而允许快速检索聚合数据,而无需搜索整个数据集。

在下图,我们展示了所有 HTTP 请求成功及失败的几率。根据我们的 SLO 定义,我们可以在下图中很容易看出来那些时候 SLO 是低于我们的目标的。

 在今天的展示中,我将以最新的 Elastic Stack 8.5.2 来进行展示。

准备数据

我们以 Kibana 自带的 web log 数据为例来进行展示:

 

 

这样,我们就向 Elasticsearch 写入了一个叫做  kibana_sample_data_logs 的索引。

创建 transform

我们将使用 pivot transform 来对 kibana_sample_data_logs 进行聚合。我们按照如下的步骤来做:

 

 

 

 

接下来,我们将定义要执行的聚合并发送到 transform 目标索引。 点击 Add an aggregation …,然后键入 response 以过滤选择框。 点击 filter(response) 

 

我们在上面的框中输入如下的查询:

{
  "must": [],
  "must_not": [],
  "should": [
  {
    "range": {
      "response.keyword": {
        "gte": "200",
        "lt": "300"
      }
    }
  }   
 ]
}

我们再点击上面的 Add an aggregation ... 如法炮制,创建如下的几个聚合:

   

 

最后,让我们为所有响应代码再添加一个聚合。 在 response.keyword 字段上使用 value count 聚合并将聚合命名为 response.total。 

 

通过按日期分组的五个聚合,transform 预览应包含六个字段。 预览显示了一个数据示例,在执行转换时,这些数据将被索引到目标转换索引。 如果预览看起来不错,请单击 Next。 

 

 

 

 

 我们可以看到按照每个小时得出来的 response 代码的统计情况。

可视化

我们按照如下的步骤来进行可视化:

 

 

 

 

 

在上面,我们填入请求成功的公式:

(sum(response.2xx) + sum(response.3xx) + sum(response.4xx))/sum(response.total)

 

 

 我们接下来为可视化再添加一个 Vertical axis:

 这次我们使用的公式是:

sum(response.5xx)/sum(response.total)

 

 

 

接下来,我们为可视化添加一个图层。我们想设置一个阈值作为我们的 SLO 目标线。我们按照如下的步骤来进行操作:

 

 

 

 

 

 

这样就得到了我们最终的可视化图。 从图中可以看出来,请求成功率超过 95% 的时间区域的分布以及请求失败的时间范围、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《集体智慧编程》笔记(3 / 12):发现群组

Discovering Groups 文章目录监督学习和无监督学习监督学习无监督学习单词向量对博客用户进行分类对订阅源中的单词进行计数分级聚类绘制树状图列聚类K-均值聚类针对偏好的聚类获取数据和准备数据BeautifulSoup收集来自Zebo的结果定义距离度量标准对结果进行聚类以二维形式展现…

二、导论——可解释性机器学习(DataWhale组队学习)

目录引言ZFNet的网络结构可视化反卷积反池化反激活反卷积训练细节特征可视化特征演化特征不变性局部遮挡测试敏感性分析相关性分析消融实验宽度影响深度影响迁移学习能力有效性分析总结引言 纽约大学ZFNet,2013年ImageNet图像分类竞赛冠军模型。对AlexNet进行改进的…

Redis框架(十三):大众点评项目 达人探店 博客功能实现

大众点评项目 达人探店 博客功能实现需求:达人探店 博客功能实现业务实现总结SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评 主要依照以下几个原则 基础实战的Demo和Coding上传到我的代码仓库…

送书福利!全自主IDE的《运动控制系统应用与实践》

功能齐全、稳定性强、简单易用的实时工控软件平台是成就工业控制的重要工具。运动控制作为工业控制领域的核心技术之一,在3C电子、锂电新能源、装配、激光加工、点胶、贴附、工业机器人等工业应用场景中发挥着巨大作用。 正运动技术自主自研的ZDevelop是国内少有的…

腾讯工作3个月,做软件测试的一些感悟

普通二本计算机专业毕业,从毕业后,第一份接触测试的工作是在一家通讯小公司,大部分接触的工作是以功能测试为主,一直都是几千块钱工资,还一度被派出差,以及兼职各种产品、运维、运营的活,感觉自…

基于FPGA的spi通信接口VHDL设计

目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布

Coretex_M0工程创建

本文档介绍如何创建一份基于成熟库函数的新工程! 类似于如下的工程: 如上的MCU表示的是NXP公司封装好的关于芯片的库函数,BSP表示的是板级支持开发包,是和具体开发板外设的设备有关。 那么如果我们需要我们的工程包含这样的库函数&#xff0c…

小程序在线生成平台怎么使用?

其实目前小程序在线生成平台是比较主流的,很多小伙伴看到一些制作小程序教学,都会有“这个软件怎么下载?”、“怎么做?”之类的问题。其实小程序在线生成平台一般都不需要下载的,它主要是在网页中打开工具进行在线制作…

Jenkins在windows平台下,让Powershell、批处理可以拉起进程并保持

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:无尽的折腾后,终于又回到了起点,工控,我来了 !前言 没有人喜欢windows平台下的自动化构建,一如多年前没人喜欢linux的桌面一样。 最近在考虑wi…

Back Propagation 反向传播

文章目录3、Back Propagation 反向传播3.1 引出算法3.2 非线性函数3.3 算法步骤3.3.1 例子3.3.2 作业13.3.3 作业23.4 Tensor in PyTorch3.5 PyTorch实现线性模型3.6 作业33、Back Propagation 反向传播 B站视频教程传送门:PyTorch深度学习实践 - 反向传播 3.1 引…

联通数科一面+二面+面谈 经验分享 base济南

联通数科一面二面面谈 10.8 投递简历(大数据开发岗位 base西安 有成都岗? 我怎么没看到) 10.10-12 笔试 11.05 一面 有五六个面试官 问了问题的有两个 介绍了下项目,问了些每个组件的基础知识,都是大数据的基本八股…

深聊性能测试,从入门到放弃之: Windows系统性能监控(三)任务管理器介绍及使用。

任务管理器1、引言2、任务管理器2.1 打开方式2.2 介绍2.2.1 定义2.2.2 进程2.2.3 性能2.2.4 应用历史记录2.2.5 启动2.2.6 用户2.2.7 详细信息2.2.8 服务3、总结1、引言 关于Windows系统性能监控的前两篇 《Windows系统性能监控(一) 性能监视器介绍及使用》《Windows系统性能…

深圳IB学校哪家强?入学标准如何?

我们都知道,孩子就读哪所学校,学校开设什么课程,这会直接影响孩子的留学之路和未来。 所以一般情况下,选择国际学校都是分两步走,先是需要是根据孩子的个性特点去选择能够适应的课程体系,再根据学校开设课程…

【论文阅读】inception v1学习总结

【论文阅读总结】inception v1总结1. 摘要2. 序言3. 文献综述4.动机和高层考虑4.1提高深度神经网络性能的最直接方法4.1.1 增加模型的大小4.1.2 解决增加模型大小导致的缺点思路5.结构详述5.1 Inception架构的主要思想5.2 原生inception块问题5.3 解决通道数增加问题5.4 1*1卷积…

Golang 【basic_leaming】基本数据类型

阅读目录Golang 数据类型介绍整型特殊整型unsafe.Sizeof 查看内存所占用大小int 不同长度直接的转换数字字面量语法(Number literals syntax)(了解)浮点型布尔值字符串字符串转义符多行字符串字符串的常用操作修改字符串byte 和 r…

PYNQ -z2 与 PC主板网口直连

文章目录1.下载映像文件并烧录到板子2. 将usb和网线连接到电脑上3. 使用xshell新建串口通信连接到板子4. 查看板子ip ifconfig命令5. 将pc的网络改成与板子同一个网段6. 通过ip地址访问1.下载映像文件并烧录到板子 可以参考 烧录镜像 2. 将usb和网线连接到电脑上 3. 使用xshe…

jsp+ssm计算机毕业设计毕业论文管理系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

【函数】你上街买菜用的着函数吗?

前言 函数是什么 每个C程序都至少有一个函数,即main主函数 ,如果程序的任务比较简单,全部的代码都写在main函数中,但是在实际开发中,程序的任务往往比较复杂,如果全部的代码都写在main函数中,…

Nginx配置整合:基本概念、命令、反向代理、负载均衡、动静分离、高可用

一、基本概念 1.什么是Nginx Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理server。其特点是占有内存少。并发能力强,其并发能力确实在同类型的网页server中表现较好。 http服务器 Web服务器是指驻留于因特网上某种类型计算机的程…

热门的Java开源项目

1 JCSprout https://github.com/crossoverJie/JCSprout Star 17084 这是一个还处于萌芽阶段的 Java 核心知识库。分为常用集合、Java多线程、JVM、分布式相关、常用框架等内容 2 arthas https://github.com/alibaba/arthas Star 6836 Arthas旨在帮助开发人员解决Java应用程…