为什么你的大多数监控策略都失败了

未经验证的可观察性和随时待命的团队总会不可避免地遇到反应中断,而要想减少中断是很痛苦的,因为这就像蒙住双眼在大海捞针。我之所以知道这些,是因为我曾稳定了经历过混乱的团队。

  • 未检测到的降级导致用户感到痛苦。

  • 无休止的、海啸般的嘈杂警报。

  • 24 小时待命压力,难以承受,不可持续。


这篇文章是针对那些因为一直救火而精疲力竭的工程师们,对想要将一项成熟技术加入到工具箱中的管理者来说,也有所帮助。毕竟有谁会不喜欢一支高效的团队呢?

影响团队永久反应的四个原因

  1. 脱节(Disconnect):组织对用户体验的感知与实际用户体验之间存在鸿沟。感知与现实脱节的一些典型症状包括:

  • 尽管监控系统报告的状态为“健康”,但用户的投诉仍源源不断。

  • 缺乏主动的故障检测,只有在用户投诉时才能检测到中断。

  • 工程师试图解释页面如何影响用户。

  • 一位工程师意外地发现了残缺的功能。

  1. 不信任(Distrust):一个大的危险信号是对触发警报缺乏信心。监控系统发出的错误警报越多,工程师们就越不信任这个系统。不幸的是,这种低信噪比的状态加速了失修周期;工程师们厌倦了不断喊“狼来了”的监视器,直到不再关注这个问题。在这个阶段,你就应该拿着爆米花,等待不可避免的大规模中断。

  2. 组织混乱(Disorganization):没有特定的案例,给到的“建议方法”取决于你与谁合作。这种缺乏组织性和清晰指导的表现为监控框架激增、缺乏实战检验的工具以及临时中断补救措施。工程师们总是采取碰运气的解决方案,例如重启电脑,并希望“问题”消失)。

  3. 失修(Disrepair):工具、系统和警报已经失修。产生问题的原因各不相同,有的是服务处于维护模式,有的是由于损耗而缺乏专门知识,还有的则是半死不活的项目。

监控策略是怎样令用户失望的

监控的目标就是要保证用户的良好体验,主动把问题扼杀在摇篮里,或者能够迅速缓解没有捕捉到的问题。事实上,大部分方案都未能达到这个目标,原因并非是存在工具方面的差距,而是因为工具使用不当,这意味着并没有理解核心问题出在哪里。

这一问题的显著特征之一就是,疲于救火的团队数量与可观察性工具的数量相当。事实上,如果仅仅是工具的问题,那么使用 Prometheus/Nagios/geneva/kusto/ 等等,就能解决这个问题。

用户需要的是什么?举个例子,在使用文字处理软件时,我需要的是把东西写好并完成工作,我不关心内存使用情况或处理器速度。因此,偶尔的冻结或者崩溃是可以忍受的——我抱怨着重启程序,然后恢复工作。然而,如果我丢失了我的工作文件,或者如果重启或刷新或后仍然存在问题,我就会感到沮丧。

用户只有在造成不可逆转的损害时才会关心这个故障。偶尔出现的崩溃、YouTube 故障或 PC 冻结都是可以忍受的,因为它是暂时的。

可观察性策略必须回答的关键问题就是:你的用户是否满意?要回答这个问题,就需要了解你的用户,知道什么能让他们满意。对这个问题的回答将渗透到可观测性栈中,并且会对连贯的操作实践产生影响。

让用户满意的要素:

  • 产品团队,性能、可靠性、持久性。有关更多信息,请参见 No Surprises 文章。

  • 平台团队,不要止步于使用您服务的直接团队,还要尝试了解这些合作伙伴团队的用户。

一些用户不满意的代理指标的要素:

  • 可靠性,由于内部系统错误而导致的故障和不可靠的结果(例如,错误对话框)。

  • 延迟性,操作花费的时间比预期的要长(例如,一个请求需要 10 秒钟而不是 2 秒钟)。

  • 可用性,不应向用户显示的内部错误(例如,隐晦的通用消息或对用户不友好的调试日志)。

  • 持久性,任务关键型系统中的数据丢失(例如,无法保存)。

  • 可用性,当需要处理请求时,系统不可用(例如,无法访问服务器)。

为什么需要一个好的可观察性指标?

以用户为中心的可观察性指标有两个目标:

  1. 指导完成目标。它们用户为改善服务提供了一个目标灯塔——帮助确定优先次序、跟踪修复工作,并将重点放在杠杆率最高的干预措施上。它们也可以被整合到组织实践中(如服务审查、事后检查等),以确保细微的偏差不会被忽视(如几周内健康趋势下降了 0.05%)。

  2. 主动警报。它们高度准确,可以提供回归的早期警报。健康指标的任何突然和持续下降都与真正的用户影响直接相关。在这些指标上设置警报将弥补生产上的可观察性差距。

下面,让我们讨论一个经过实战检验和验证的成熟策略。

CAR 框架

CAR 框架的三个实体:用户、应用程序和资源

CAR 代表“用户”(Customer)、“应用程序”(Application)和“资源”(Resource),它通过建立三个实体(用户、应用程序和底层资源)之间的交互,提供监视脱节的解决方案。

它像测试金字塔一样确保了重叠的监视覆盖,从而确保了测试覆盖。

596e7b91640f6f0d66820217760ecbe6.jpeg

 CAR 金字塔展示了用户、应用程序和资源之间的关系

资源(如虚拟机、缓存)构成了构建应用程序的基础;反过来,应用程序是为了满足用户的需求而构建的。

  • 用户:想要完成一些事情(如撰写文档、看 YouTube)。满意度取决于应用程序是否按预期工作。

  • 应用程序:用于解决问题。应用程序可能出现崩溃或错误,完备的应用程序如果资源匮乏也会出现问题。

  • 资源:为应用程序提供合适的主机,例如 CPU、内存和 I/O,这些是应用程序顺利运行所必需的。

大多数策略都假定健康的应用程序和资源能够保证优秀的用户体验,但这种假设并不总是正确。

下图中的红色箭头显示了聚焦于单个层如何会导致监视器产生噪音。单一的绿线是穿过可观察性并将其与用户联系起来的一种方式——以用户为中心的指标是成功监控策略的关键。

bded0a653f1a4bc6f56745f86855deac.jpeg

使用 CAR 金字塔突出显示脱节的度量

使用 CAR 的结果

以下是跨团队应用该策略的一些成果:

  • 识别盲点:检测以前不会被注意到的中断,揭露系统中长期隐藏和存在的缺陷,从而进行适当的架构修复。

  • 减少工作量:事故的数量级下降(主要是由于消除了噪音监视器)。

  • 信任:警报意味着真正的用户问题,工程师有动力去找出根本原因。这比表面处理嘈杂的监视器要好得多。

  • 主动执行:减少事件量和暴露架构缺陷的工作量有助于团队从反应性救火转向主动、集中解决问题。

每个人都感到高兴:用户的中断次数减少,工程师接到的电话也减少了。

结束语

大多数典型的监控策略都是“只见树木不见森林”——他们只关注资源或应用程序的健康状况,而忽略了最关键的问题:用户是否满意?

希望你从这篇文章中学到一件事——那就是确保你的监控策略与用户满意度直接挂钩,即如果你的用户不能使用你的应用程序,那 10 个 9 就不重要。

- END -

往期回顾

◆一支不足百人的团队创造了 ChatGPT :90 后挑大梁,应届生 11 人,华人抢眼

◆JVM碰到问题,这几个工具不能少

◆聊聊流程引擎的架构设计

◆存储拆分后,如何解决唯一主键问题?

◆微服务架构中多级缓存设计

◆5个开源且简单实用的Code Review工具

◆大厂怎么做Code Review?

28278e0247ce0d82494bc716aa4a9dc9.png

技术交流,请加微信: jiagou6688 ,备注:Java,拉你进架构群

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【你绝对想不到】我用Bard和ChatGPT对话,结果发现了

我用Bard和ChatGPT对话,结果发现了一个惊人的秘密,你绝对想不到! 今天我想和大家聊聊谷歌的最新语言模型PaLM 2和它的聊天机器人Bard。这两个产品在最近的谷歌I/O大会上引起了很多人的关注,因为它们不仅能够处理多种文本任务&…

Python将图片转化成文字

我们之前学过词云能将数据变成图片展示出来,那么今天我们就来看个不同的,将图片变成字符输出。 看个效果图: 文字输出: 那么下面我们来看看代码吧! import argparsefrom PIL import Image# 命令行输入参数处理parser …

毕业设计之 --- 微信小程序开发

简介 近期有不少同学毕设涉及微信小程序开发, 但是基础的环境部署都不会, 面对一大堆资料无从下手, 希望学长能出一篇文章介绍一下微信小程序开发的基础知识. 准备工作 申请账号 进入小程序注册页 根据指引填写信息和提交相应的资料,就可以拥有自己的小程序帐号…

1.项目介绍——毕业设计之论坛项目

1.项目介绍 本项目为CMS类型的项目,前端使用vue框架搭建(已开发完成),后端使用Tornado框架搭建。本次的主要内容就是开发接口,将原先写好的静态页面转换成动态的。 CMS的意思是Content Management System,…

毕业设计-基于微信小程序的工单智能管理系统

目录 前言 课题背景与简介 实现设计思路 一、微信小程序 二、系统设计 三、系统功能 四、总结 实现效果样例 更多帮助 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个…

python毕业设计项目源码选题(13)在线图片分享平台系统毕业设计毕设作品开题报告开题答辩PPT

python毕业设计项目源码选题(13)在线图片分享平台系统毕业设计毕设作品开题报告开题答辩PPT 用户注册:填写手机账号和密码,注册新用户 登录功能:注册普通账号登录;登录后可以修改用户的基本信息&#xff0…

【winform毕业设计】人事管理系统(项目展示)

文章目录 前言项目一角项目介绍演示 登录权限登录进入项目读入数据功能点解析结尾 前言 本文介绍了个人的毕业设计《人事管理系统》的基本使用和功能点的介绍,虚心接受各位的意见,欢迎在评论区提出宝贵的意见 提示:以下是本篇文章正文内容&a…

最新通信工程毕设项目推荐

文章目录 1前言2 如何选题3 通信工程选题方向3.1 移动通信方向3.2 嵌入式开发方向3.3 人工智能方向3.4 物联网方向3.5 算法研究方向3.6 移动应用开发方向3.7 网络通信方向3.8 学长作品展示 1前言 🥇 近期不少学弟学妹询问学长关于单片机和嵌入式相关的毕设选题&…

计算机毕业设计分享 40个高质量计算机毕设项目分享【源码+论文】(八)

文章目录 前言 题目1 : ssm在线医疗诊断跟踪系统 <br /> 题目2: 基于SSM的大学生兼职跟踪系统 <br /> 题目3 : 基于SSM的大学生就业企业推荐系统 <br /> 题目4 : 基于SSM的在线电影售票系统 <br /> 题目5 : 基于SSM的毕业设计管理系统 <br /> 前…

通信工程毕设项目推荐 选题推荐

文章目录 1前言2 如何选题2.1 移动通信方向2.2 嵌入式开发方向2.3 人工智能方向2.4 物联网方向2.5 算法研究方向2.6 移动应用开发方向2.7 网络通信方向2.8 学长作品展示 4 最后 1前言 &#x1f947; 近期不少学弟学妹询问学长关于单片机和嵌入式相关的毕设选题&#xff0c;学长…

软件工程毕设项目推荐 选题汇总

文章目录 0 简介1 如何选题2 最新软件工程毕设选题3 最后 0 简介 学长搜集分享最新的软件工程业专业毕设选题&#xff0c;难度适中&#xff0c;适合作为毕业设计&#xff0c;大家参考。 学长整理的题目标准&#xff1a; 相对容易工作量达标题目新颖 1 如何选题 最近非常多…

软件工程毕业设计项目分享【含源码+论文】

文章目录 前言 题目1 : 基于SSM的旅游资源网站 <br /> 题目2 : 基于SSM的中药店商城网站 <br /> 题目3 : 基于SSM的汽车租赁网站<br /> 题目4 : 基于SSM的汉服文化平台网站 <br /> 题目5 : 基于SSM的校园疫情师生防疫登记备案系统 <br /> 题目6 …

计算机毕设项目:毕业论文管理系统(一)

简单的描述一下我的毕设项目&#xff1a;毕业论文管理系统&#xff0c;论文题目是基于SpringBoot的毕业论文管理系统的设计与实现。主要技术&#xff1a;SpringBootVueElementUI&#xff1b;是一个前后端分离项目&#xff0c;主要实现对学生的毕业论文这个过程的管理。 接下来就…

软件工程毕设选题推荐 40个高质量计算机毕设项目分享【源码+论文】

文章目录 前言 题目1 : 基于SSM的员工/学生宿舍后勤管理系统 <br /> 题目2 : 基于SSM的勤工助学管理系统 <br /> 题目3 : 基于SSM的停车位短租网站<br /> 题目4 : 基于SSM的网上购物商城系统 <br /> 题目5 : 基于ssm在线医疗诊断跟踪系统<br /> …

算法工程师从业两年的总结与感悟 |【WeThinkIn出品】

Rocky Ding 写在前面 【WeThinkIn出品】栏目专注于分享Rocky的最新思考与经验总结&#xff0c;包含但不限于技术领域。欢迎大家一起交流学习&#x1f4aa; 大家好&#xff0c;我是Rocky。 2023年已经过去两个月了&#xff0c;一年中1/6的时光已然走过。去年年末&#xff0c;各…

基于人工智能的地球物理参数反演范式理论及判定条件

作者&#xff1a;毛克彪1&#xff0c;2&#xff0c;3* &#xff0c;张晨阳4&#xff0c;施建成5&#xff0c;王旭明2&#xff0c;郭中华2&#xff0c;李春树2&#xff0c;董立新6&#xff0c; 吴门新7&#xff0c;孙瑞静6&#xff0c;武胜利6&#xff0c;姬大彬3&#xff0c;蒋…

wps表格应用技巧(一)

wps表格应用技巧&#xff08;一&#xff09; 使用now()之后&#xff0c;时间固定不变怎么把文字添加下一页 使用now()之后&#xff0c;时间固定不变 设置允许迭代计算 利用公式IF(A1"","",IF(B1"",NOW(),B1)) 当A1被填充的时候&#xff0c;B1就…

【板栗糖GIS】wps—如何查看表格中的超链接

【板栗糖GIS】wps—如何查看表格中的超链接 目录 1. 编辑超链接 2. 查看超链接 1. 编辑超链接 在有超链接的单元格上右击编辑超链接 2. 查看超链接

excel数据的编排与整理——表格结构的整理(一)

excel数据的编排与整理——表格结构的整理(一) 1 快速移动一列数据到指定位置 1.1 移动到相邻行 1.1.1 题目内容 1.1.2 选中年龄列➡移动到左侧直到出现十字箭头 1.1.3 按下shift键和左键➡移动到指定位置,直到出现"T"字形 1.1.4 松开鼠标左键后,移动就完成了 1.2…

excel图文教程:应用PQ工具进行数据整理

​今天的问题来自一位群友的求助&#xff0c;是一个数据整理方面的问题&#xff0c;数据源如图所示&#xff1a; 这是一份销售数据&#xff0c;实际有很多个分店的数据&#xff0c;现在需要将这个数据源整理成标准的表格形式&#xff1a; 面对这种诉求&#xff0c;你要用公式来…