前端视角的可观测性(一)

林十二
• 阅读 269

TL;DR

Gartner将应用可观测性列为2023年重要战略趋势之一。

作为开发者, 即便没有专精此道。但了解一下,还是有必要的。

前言

最近,我所在的产品组,将完善监控系统,放入了版本规划中。

趁此良机,了解了一波可观测性相关的背景和技术。

同时,对原有的监控方式,进行了一定的改造。

可观测性

控制理论中的可观察性(observability)是指系统可以由其外部输出推断其其内部状态的程度。系统的可观察性和可控制性是数学上对偶的概念。可观察性最早是匈牙利裔工程师鲁道夫·卡尔曼针对线性动态系统提出的概念[1][2]。若以信号流图来看,若所有的内部状态都可以输出到输出信号,此系统即有可观察性。

什么是可观测性?

可观测性是指能够通过检查系统或应用的输出、日志和性能指标来监控、测量和理解系统或应用的状态。

讲人话,我理解就是将传统监控系统的日志,进行了标准化、体系化。同时,将原来“孤岛式”的日志进行了“关联”。将所有日志组合成整体,以此来分析系统状态。

为什么会出现?或者说,为什么现在火了?

监控系统并不是什么稀罕事务,但为什么之前没有什么热度呢?

我认为,是排查问题的门槛,变高了。变高的原因,主要有2方面:

  1. 系统复杂度
  2. 数据量

系统复杂度

首先,是系统的复杂度在不断上升。单机软件、集群部署、云服务、虚拟化。

软件部署方式的每一次升级,都在提升软件系统的整体能力。

与此同时,一旦出现问题,排查&解决问题的难度,也在不断上升。如果身边有运维同学,可以听他们讲一讲,独属于他们的、深夜里的故事🤣

数据量

从计算机诞生,我们已经经历了单机软件、局域网、互联网,且身处移动互联网

在网络高度普及的今天,软件和服务,包裹着每一个网民。网络触手的延伸,在提供了高度便利的同时,也给数据量带来了井喷式的增长。这给问题排查,增加了不小的难度。

当下,我们身处移动互联网的上半场,当摄像头、家用电器、车载系统和新基建中无处不在的传感器入网后,在移动互联网的下半场(IoT),数据量的暴增,是可以预见的。

所以,传统监控系统相对片面、局部的监控指标,无法满足复杂环境下的系统状态监控、问题排查和系统调优。

怎么用?

Opentelemetry、Prometheus、Grafana、Jaeger等等。现在已经有很多成熟的开源工具可供集成、或二次定制开发。也有不少收费的平台,方便使用。

通过这些可观测性工具,可以

  1. 更加全面的监控系统指标
  2. 更清晰的分析调用链条
  3. 更准确、更有把握的的优化系统瓶颈点

这些不是空口白话,我们产品在初步集成Jaeger后,已经发现了几处有价值的隐藏问题。这在原来,只能通过大规模的压力测试(如果有)、客户现场反馈来发现、修复。

后边有机会(如果不鸽),会分享一些脱敏的相关实践。

一点想法

这周,集成进系统的Jaeger基本可用了。通过和后端师傅的交流,发现了几处隐藏的问题,挺开心的。

虽然有些马后炮了,但在毕业不久的时候,就有对完善的监控体系的期待了。可惜,当时虽然有考虑过监控系统的雏形,但只停留在想象中了。现实里的时间,都去打游戏了。。。

总之,Observability相关的技术, 不是颠覆传统监控系统的银弹

在我看来,更像是应运而生。是对传统监控体系的完善、补充和升级。

参考资料

  1. wiki
  2. RedHat
点赞
收藏
评论区
推荐文章
以前端视角,漫谈「云端」
当今世界,云计算技术在快速发展,不断为我们带来新的应用场景和解决方案。作为一名前端开发者,了解云技术并掌握如何在前端中应用它们是必不可少的。本篇文章将介绍云计算技术的基本概念,并从前端角度探讨如何使用云技术提高应用的可扩展性、安全性、性能和用户体验。
在京东如何做好前端系统的可观测性
可观测性是一种系统属性,如功能性或可测试性。通过收集和分析系统的运行状态以及系统所承载的业务状态,用一种可以让人理解的形式展示出来,以供我们对系统的运行情况做出合理的判断。
Stella981 Stella981
3年前
2015年开源前端框架盘点TOP20
2015年已经过去了,作为一个前端开发者,我觉得有必要把过去一年帮助过我或朋友们的优秀开源前端框架做个盘点,希望这些项目能够越来越好,帮助到更多的前端开发者们。此榜单根据github上star数作为排名依据,一个人力量有限,如果收集有遗漏欢迎补充。1、名称:Bootstrap类别/语言:HT
可莉 可莉
3年前
2015年开源前端框架盘点TOP20
2015年已经过去了,作为一个前端开发者,我觉得有必要把过去一年帮助过我或朋友们的优秀开源前端框架做个盘点,希望这些项目能够越来越好,帮助到更多的前端开发者们。此榜单根据github上star数作为排名依据,一个人力量有限,如果收集有遗漏欢迎补充。1、名称:Bootstrap类别/语言:HT
API 小达人 API 小达人
1年前
如何提升 API-First 设计流程
一个APIFirst设计应该具有可复用性、互操作性、可修改性、用户友好性、安全性、高效性、务实性,并且重要的是,与组织目标保持一致。这些基本特征将确保API能够有效地为APIFirst组织战略和开发模式做出贡献,在这种模式中,API可以最大限度地为业务创造价值。但如何生成这样的APIFirst设计呢?
爱学it学无止境 爱学it学无止境
3个月前
高级前端进阶必修:自主打造高扩展的业务组件库无密分享
组件库:前端开发的基石与未来趋势在前端开发的广阔领域中,组件库作为一组预先设计好的、可重用的UI组件集合,已成为提升开发效率、保证项目一致性和可维护性的重要工具。本文将从组件库的定义、构建原则、应用场景及未来发展趋势等方面进行深入探讨,以期为前端开发者提供
京东云开发者 京东云开发者
1星期前
【质量视角】可观测性背景下的质量保障思路
作者:京东保险郑飞背景介绍目前质量团队正在积极建设和完善应用监控能力,旨在能及时发现并解决问题,为线上服务稳定性保驾护航。随着可观测性概念的逐渐普及,监控的建设也有了新的挑战和使命。本文将探讨在可观测性背景下,作为一个测试人员在质量保障中的一些思路和个人思
林十二
林十二
Lv1
沧海月明珠有泪,蓝田玉暖日生烟!此情可待成追忆,只是当时以惘然!
文章
3
粉丝
0
获赞
0