首页 > 其他分享 >前端视角的可观测性(一)

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

时间:2023-07-26 15:44:33浏览次数:38  
标签:视角 监控 前端 系统 观测 排查 数据量 日志

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

标签:视角,监控,前端,系统,观测,排查,数据量,日志
From: https://www.cnblogs.com/lin-xii/p/qian-duan-shi-jiao-de-ke-guan-ce-xing-yi.html

相关文章

  • 使用Memcached、Spring AOP构建数据库前端缓存框架
     上回说到Memcahed的安装及java客户端的使用(http://my249645546.iteye.com/blog/1420061),现在我们使用memcached、SpringAOP技术来构建一个数据库的缓存框架。数据库访问可能是很多网站的瓶颈。动不动就连接池耗尽、内存溢出等。前面已经讲到如果我们的网站是一个分布式的大型站......
  • 基于LSTM深度学习网络的人员行走速度识别matlab仿真,以第一视角视频为样本进行跑或者
    1.算法理论概述      人员行走速度是衡量人体运动能力和身体健康的重要指标之一。目前,常见的人员行走速度识别方法主要基于传感器或摄像头获取的数据,如加速度计数据、GPS数据和视频数据等等。其中,基于视频数据的方法因为其易于获取和处理而备受关注。但是,传统的基于特征提......
  • 目前为止整理最全的前端监控体系搭建篇(长文预警)
    参考:https://cloud.tencent.com/developer/article/1983779https://github.com/miracle90/monitorhttps://wpk.ucweb.com/index 概览为什么要做前端监控前端监控目标前端监控流程编写采集脚本日志系统监控错误监控接口异常白屏监控加载时间性能指标卡顿pv......
  • 在疯狂的前端世界,为什么选择学习React
    题图| https://github.com/react-icons/react-iconsReactNative和Prettier的作者之一、前端大牛、Twitter大V@Vjeux(ChristopherChedeau)建议前端人都来学习下React,他给出的理由是:“React和其他库的不同之处在于,它可以教会你一些概念,这些概念可以在你的开发生涯中反复使用。......
  • 前端Vue仿支付宝自定义可滑动轮播分页宫格菜单组件,可支持九宫格 十二宫格 十五宫格
    背景介绍随着技术的不断发展,传统的开发方式使得系统的复杂度越来越高。在传统开发过程中,一个小小的改动或者一个小功能的增加可能会导致整体逻辑的修改,造成牵一发而动全身的情况。为了解决这个问题,我们采用了组件化的开发模式。通过组件化开发,可以有效地实现单独开发,单独维护,而且......
  • 前端之Bootstarp框架
    Bootstarp简介Bootstrap是一个用于快速开发Web应用程序和网站的前端框架。Bootstrap是前端开发中比较受欢迎的框架,简洁且灵活。它基于HTML、CSS和JavaScript,HTML定义页面元素,CSS定义页面布局,而JavaScript负责页面元素的响应。Bootstrap将HTML、CSS和JavaScript封装成一个......
  • 前端多次调用1个接口, 要最后一次请求的数据
    假设你要进行多次调用一个名为`getData()`的接口,并且你只关心最后一次请求的数据。你可以使用以下示例代码来实现:1letlastRequestId=0;//记录最后一次请求的ID2letlastResponse=null;//记录最后一次请求的响应数据34asyncfunctiongetData(){5const......
  • web前端tips:js继承——原型链继承
    原型链继承原型链继承是JavaScript中实现继承的一种方式,它通过使用原型来实现对象之间的继承关系。在JavaScript中,每个对象都有一个原型(prototype),它是一个指向另一个对象的引用。当我们访问一个对象的属性时,如果该对象自身没有该属性,则会去它的原型上查找,如果原型上也没有,则......
  • 前端-antd table 分页器自定义
      按照时间排序, ......
  • 浏览器不需要安装插件,前端网页播放在线视频方案,hls协议下的h.265视频播放方案推荐
    一般我们播放本地视频都是使用video标签,但是<video>元素只支持三种视频格式:MP4、WebM、Ogg,对于在线视频直接使用video是没法播放的,这里介绍几款这两天我在做播放在线监控视频功能时使用过的几款播放器,初次接触流媒体踩了一堆坑,到目前为止对这部分内容都还了解的很浅显,若有问题请......