如何把可观测需求落地为业务大盘?

news2024/11/16 4:06:33

2022 年 9 月 28 日,阿里云用户组(AUG)第 11 期活动在深圳举办。活动现场,阿里云技术专家李加贝向参会企业代表分享了如何把可观测需求落地为业务大盘的议题。本文根据现场分享内容整理而成。

为什么需要 Grafana?

演进

在这里插入图片描述

从可观测的演进上看,在单体应用架构时期,企业对于监控可视化的需求其实很简单,电脑查询日志,把所需的内容简单处理并展示出来,就能满足诉求。随着技术发展,业务规模快速扩张的同时,分布式架构、微服务架构让系统越来越复杂,行业对于监控场景 Trace、Metrics 的应用逐渐开始形成一些统一标准。在这个阶段,许多企业或者厂商尝试从数据层面打造统一监控标准,从而形成统一的解决方案给到用户。

但由于数据类型多种多样,企业或厂商直到现在依旧无法从数据层面实现标准的统一。Grafana 则另辟蹊径,统一可观测的最终展示平台,通过各种数据源插件集成方式逐步成为统一的可观测标准。

价值优势
在这里插入图片描述

在服务客户的过程中,大盘怎么配置、PromQL 怎么写成为最常见的问题。因为 Grafana 支持的数据源有上百种,不同数据源都有相应语法。而 Grafana 只统一可观测展示,底层数据的查询并没有统一。为了解决这一问题,Grafana 提供各种插件去适配数据源以及图表,就像桥梁一样串联起不同面板和不同数据源。海量插件覆盖了市面上绝大部分可观测解决方案。

阿里云和 Grafana 官方也开展了合作,基于开源版本 Grafana 进行托管改造,在保留原有功能基础上,进行更多拓展,详细可以查看下面链接:

https://www.aliyun.com/product/aliware/grafana

Grafana 服务的管理

组织方式

在这里插入图片描述

对于企业而言,使用 Grafana 过程中涉及到权限管理等问题,这就需要结合业务特征进行设计。首先,进行权限管理之前,需要定义清楚期望把管理设计成什么样子。比如测试环境的安全要求较低,全部门用户都可以申请 admin 权限及查看全部数据。线上环境,可能就需要按照实际职能情况,少数人能做编辑,部分人能查看。

隔离

在这里插入图片描述

Grafana 提供了些管理手段,上图从左边至右隔离性是越来越强,从右边至左是灵活性越来越高。

文件夹+团队管理:这种方式保留最基础的查看权限,即只要能登陆进去就能查看全部大盘,文件夹+团队只是对更高级别权限的约束。

组织管理:从数据源粒度进行逻辑隔离,如果对数据查看权限有严格要求,就可以考虑这种方式。

工作区:即阿里云上独立部署实例,数据库配置全是独立的,确保最好的隔离性。

大盘的配置

设计思路

在这里插入图片描述

在大盘配置过程中,我们根据业务流程或者应用架构进行梳理。以上图举例,这个金字塔最顶上是业务监控。针对业务监控,我们需要明确业务的特征。比如大促场景中业务方最关心几个入口流量,入口涉及 A、B、C 三个应用。所以基于这个场景,推导出需要重点关注的应用。有应用监控以后,再看底下,如果容器化了那么就重点关注涉及的集群,如果整体资源都在阿里云上的话,那么就再附带上基础资源的一些监控。而这一切的起始,源于明确需要关注的业务是什么。

业务监控

在这里插入图片描述

展开细讲一下业务监控。业务监控以电商场景举例,需要确认常关注指标,比如说 DAU 就是很通用的东西,还有像下单数、下单金额、支付金额、转换率、客单价这都是这个业务领域里面要关注的指标。不同行业要定义出需要关注的指标,很多是依赖于根据业务需要进行提前埋点,巧妇难为无米之炊,有些有行业特殊性的指标,如果说都没有埋点的话,那这个盘也配不出来。

上图上半部分,以页面 PV 这指标为例,通过 ARMS 应用监控接入以后,可以看到有一笔笔请求记录,通过指定一个商品页面进行汇总加和,就可以拿到这个商品页面的 PV。在这基础上,通过 ip 作为单个用户判定,按 ip 做个 by 的归类,可以得到对应的 UV 值。

前面是通过 ARMS 应用监控接入可以得到的,如果说对单个用户的判定需要按照业务里的账号明确做分类,那这里就推荐,通过一个自定义埋点的方式,比如说通过接入的 Prometheus,在代码里埋点记录用户的行为,至于账号是哪个字段由业务自己指定,如上图下半部分,uid 里存放的是单个用户的标记,对 uid 做 by 的归类就得到业务认为合理的 UV 指标。这里自定义的指标除了通过 Prometheus 存储,还可以使用 SLS,方式有很多,最终都可以通过对应类型的数据源接入到 Grafana 里做展示。

应用监控

在这里插入图片描述

看到应用监控,通过 ARMS 应用监控做接入,有多种接入方式,比如无代码入侵的探针,这边就不做展开讲解。接入后在阿里云上托管的 Grafana 里,点个集成,会生成出预置的大盘。

容器监控

在这里插入图片描述

在阿里云上购买的 ACK 容器服务的话,可以通过勾选监控,集群创建后容器监控就会有。若是自建集群的,也可以通过 Prometheus 这边做接入,在 Grafana 工作区里面,会有 Prometheus 实例列表,点了一键同步,然后就可以把相关的容器、相关的大盘就全部给你生成出来。

基础监控

在这里插入图片描述

基础监控主要是云产品上的监控,Prometheus 里有直接的接入配置,或者在企业云监控里做接入。有了数据接入的配置,再到 Grafana 工作区里面点一键集成,会根据接入的情况默认生成出大盘。

一个简单的需求

在这里插入图片描述

我们看大盘时,不可能把所有大盘都打开一个一个轮着看,所以最好是能够一眼看到问题,具体明细可以根据总盘的反馈一层一层细化下去。有了上述各种明细大盘,总盘的制作就需要根据实际需求来做,有了明细盘,其实总盘的制作会方便很多。Grafana 里有个简单的小技巧,比如我在明细盘里看到一个比较重要的指标,可以通过 panel 的下拉项里面选复制,接着在新建的大盘里面点粘贴,就可以很快把那个指标搬过来,在这个基础上稍微调整,可以很快定制一张大盘出来。

这里附上一份 demo 可供大家参考:

https://play.grafana.aliyuncs.com/d/z8jx7EiVz1/zong-lan-da-pan?orgId=1

如何把可观测需求落地为业务大盘?

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

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

相关文章

智能合约Smart Contract技术详解

文章目录合约编写基本介绍构造方法ipfsmint提现白名单合约前端部署验证合约代码前端和合约交互准备工作获取已经mint了的数量mint合约编写 建议读者先了解下solidity,这里推荐CryptoZombies,还是比较详细的。 ok当你大概知道自己在做什么之后&#xff0…

【概率论】期末复习笔记:假设检验

假设检验目录一、假设检验的基本概念1. 假设检验的基本原理2. 两类错误3. 假设检验的一般步骤4. ppp值二、正态总体参数的假设检验σ2已知,检验μ与μ0的关系\color{dodgerblue}\sigma^2\text{已知,检验}\mu\text{与}\mu_0\text{的关系}σ2已知&#xff…

上海华清远见

解析设备树节点信息实例1获取属性数值实例2获取u32类型的值将获取到的u32类型的值存放在array数组中

什么是许可式邮件营销?

邮件是很多企业日常中用到的信息传播工具,并且它还具备了成本低、长期性等优点,所以很多企业选择使用邮件作为载体进行营销推广。而在进行邮件营销的时候,不同的方式和技巧也会影响到最终的营销效果。为了达到较好的营销效果,很多…

Seata应用

下载seata-server 下载地址:Tags seata/seata GitHub 配置Seata-server 第一步:配置seata-server数据源 E:\seata-server-1.4.2\seata\seata-server-1.4.2\conf\file.conf 第二步:创建seata数据库 create database seata 第三步&#xf…

单元测试-SpringBoot Test和Mock

单元测试-SpringBoot Test和Mock “单元测试” “junit,mock,桩” 1. 什么是单元测试 定义:是指对软件中的最小可测试单元进行检查和验证。 Java里单元指一个方法。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的…

玻纤效应对skew的影响(三)

玻纤效应对skew的影响(一)玻纤效应对skew的影响(二)对内skew对32Gbps NRZ和64Gbps PAM-4的影响这一篇中,玻纤效应造成的对内skew将会加入到32Gbps NRZ和64Gbps PAM-4 SerDes全链路分析中。PCIe 5.0代表32Gbps NRZ&…

C++GUI之wxWidgets(11)-编写应用涉及的类和方法(6)-事件处理(5)

目录自定义事件wxPostEvent()wxQueueEvent()PopEventHandler()Bind()GetEventUserData()Connect()Unbind()定义自己的事件类事件处理程序与虚拟方法自定义事件 wxPostEvent() void wxPostEvent ( wxEvtHandler * dest,const wxEvent & event ) 在GUI应用程序中&am…

云开发项目中如何管理用户和管理授权?

管理用户 在项目中添加用户后,才能为用户授予对应的资产管理权限。支持修改已创建用户的密码和删除用户。 本文中的 用户 是指在云项目下创建的 B 端子账号,可以和资产授权配合使用,管理 B 端设备和资产。这些 B 端用户账号可以在 智慧行业…

IOS开发基础 · SwiftUI · CS193p Lecture1-2

IOS开发Lecture 1TextRoundedRectangleZstackLecture 2HStackstruct整合组件ContentViewstruct 中创建变量var&letSwiftUI刷新重建点击效果ArrayForeachButtonSpacervar整合小组件SF-symbol上下界限制简化ButtonLecture 1 Text import SwiftUIstruct ContentView: View {…

Node.js 中 cookie的验证登录

认识 cookie 在讲cookie的登录验证之前,先来了解一下cookie是什么?cookie本质是存储在浏览器中的一小段文本信息(不超过4kb),是由服务器生成发送到浏览器(客户端),浏览器将其保存在…

虚拟化技术学习笔记2

1、虚拟机与容器对比: 2、Hypervisor管理工具对比: 3、QEMU: 软件模拟虚拟化、可以模拟多种硬件,包括X86架构处理器、AMD64架构处理器、ARM、SPARC与PowerPC、AIX架构等,效率低、一般用于研究测试场景。QEMU可以模拟一…

偏微分题目的解法

介绍偏微分是考研数学里的小重点,通常在题干中就能很明显看到偏导数。这种题目一般会有两个小题,且第一题往往送分题,通常是求某个复合函数的偏导,直接用复合函数的求导法则即可得到答案。第二题通常是求原函数,一般来…

NVIDIA 在 WeNet 中开源 Noisy Student Training 方案

为了改进 Noisy Student Training 在非目标领域 ASR 上的性能,英伟达提出新型数据筛选方法 LM Filter。其利用不同解码方式的识别文本之间的差异来作为数据筛选条件,是一个完全无监督的筛选过程。在 AIShell-1 上与无数据筛选的基线相比可以有 10.4% 的性…

PYNQ-Z2 开发板

1. 官方手册写的挺全,了解一下PYNQ-Z2 设置指南 https://pynq.readthedocs.io/en/latest/getting_started/pynq_z2_setup.htmlPYNQ-Z2 Reference Manual v1.0 https://www.mouser.com/datasheet/2/744/pynqz2_user_manual_v1_0-1525725.pdfpynq(Python O…

单分散PEG之Amino-PEG24-acid;CAS:196936-04-6氨基-二十四聚乙二醇-羧酸

Amino-PEG24-acid氨基-二十四聚乙二醇-羧酸196936-04-6 中文名称:氨基-二十四聚乙二醇-羧酸 英文名称:Amino-PEG24-acid 分子式:C51H103NO26 分子量:1146.35 CAS:196936-04-6 外观:粘稠液体或者固体粉末&a…

数据的存储(3)浮点数的存储

tips 1. 2. 浮点数内存存储方式与整型是截然不同,不可被整型思维带偏了 我用一个例子来理解浮点数在内存当中的表示方法,先上一个十进制浮点数13.5 1. 利用二进制的权重化为二进制浮点数 二进制权重表小数部分如下: 那么13.5&…

Vue好难理解怎么办?

Vue学习笔记分享给你,希望对你有些帮助,另外推荐2个安装 VScode 中的 Vue 插件 Vue 3 Snippets Vue 3 Snippets - Visual Studio Marketplace 这个插件包含了所有的 Vue.js 2 和 Vue.js 3 的 api 对应的代码片段。插件的代码片段如下表格所示&#xff0…

Jetson nano 入手系列之4—外围设备:开机键+PWM风扇

Jetson nano 入手系列之4—外围设备:开机键PWM风扇1.外接按键开机2.PWM可调速风扇2.1 jtop工具2.2 PWM风扇2.3 PWM风扇的控制2.3.1 手动控制2.3.2 自动控制参考文献本系列针对亚博科技jetson nano开发板。 Jetson nano 入手系列: Jetson nano 入手系列之…

《MySQL系列-InnoDB引擎11》InnoDB关键特性-刷新邻接页

InnoDB 关键特性 InnoDB存储引擎的关键特性包括: Insert Buffer (插入缓冲)Double Write (两次写)Adaptive Hash Index (自适应哈希索引)Async IO (异步IO)Flush Neighbor Page (刷新领接页) 这些特性为InnoDB存储引擎带来了更好的性能以及更高的可靠性。 刷新邻接…