当前位置:网站首页>IT系统为什么需要可观测性?
IT系统为什么需要可观测性?
2022-07-26 20:16:00 【云杉网络】
01 | 争论
IT领域中,可观测性(observability)的争论源于2017年Peter Bourgon(Go Kit 作者)的一篇文章《Metrics, tracing, and logging》。文中将可观测性问题映射到了如何处理指标(metrics)、追踪(tracing)、日志(logging)三类数据上。其后,Cindy Sridharan在其著作《Distributed Systems Observability》中,进一步讲到指标、追踪、日志是可观测性的三大支柱(three pillars)。云监控领域的领导者,Datadog也在其网站上用三大支柱来阐述可观测性。
三大支柱流传甚广,很大程度是因为,明确数据类型和优化处理方法,是广大开发者们最易理解的方式。但三大支柱只是讲到了如何实现可观测性,而非为何要采用可观测性。Ben Sigelman (Google Dapper作者)对此即有争论,说这样的定义毫无意义,因为这只是三种数据类型。Charity Majors(Honeycomb CTO)也反对上述说法。她更进一步指出如果说传统监控工具是用来解决“known-unknown”问题(已知问题),那么可观测性是用来解决“unknown-unknown”问题(未知问题)的。
既然标题是为什么需要可观测性,那么实在无需讨论三大支柱相关内容。就新技术采用的决策者来说,为什么需要可观测性比如何实现可观测性更为重要。如果答案仅仅是Charity Majors所说的“unknown-unknown”,则实在有点玄之又玄的感觉了。因此,下文将从可观测性的实际案例分析其价值,尝试说明为什么需要引入可观测技术。
02 | 价值
从实用主义出发,理解可观测性解决什么问题,比理解可观测性如何实现更有价值。Google SRE book第十二章给出了简洁明快的答案:快速排障。
There are many ways to simplify and speed troubleshooting. Perhaps the most fundamental are:
- l Building observability—with both white-box metrics and structured logs—into each component from the ground up
- l Designing systems with well-understood and observable interfaces between components.
Google SRE Book, Chapter 12
为何快速排障需要可观测性?这是由于IT系统不断增加的复杂度决定的。大量云原生技术的采用,导致IT系统越来越复杂,快速排障变得越来越难。传统的应用监控(APM)和网络监控(NPM)工具,可以发现某个函数调用失败或者某个链路性能下降,却难以在复杂的云环境下找到故障发生的根本原因。
下面的几个场景你是否也遇到过?
场景1:“谁动了我的数据库!”
某大型银行,采用私有云基础设施部署微服务架构的应用。随着业务不断上云,经常遇到这样一个棘手问题:核心数据库访问量陡增,只知道来自某个云资源池,却由于其中的80000多个容器POD都做了不止一次的IP地址转换,而无法定位到底是哪些POD造成了核心数据库的流量陡增。
如果采用传统的监控方式,只能发现陡增这个现象,而难以快速定位到引发问题的容器POD。
场景2:“审批系统每周都出问题!”
某地产公司,将面向全球数万员工的业务审批系统部署在公有云基础设施之上。该系统由30多个微服务构成,并依赖10多个外部系统,应用调用关系复杂,故障定位极其困难。
自从上了公有云,该业务审批系统每周都出现问题。即便尝试了拨测和APM等监控工具,依然没有达到每周99.9%时间可用。
场景3:“开发测试环境带来生产隐患!”
某大型金融机构,开发测试和生产系统均构建在两地三中心的私有云基础设施之上。开发测试环境中,新业务的性能出现了“一会儿好一会儿不好”的问题。无论使用云平台自带监控,还是进行人工抓包分析,数周来一直没有找到根因,即无法确定是应用还是基础设施的问题。
如果新业务真的“带病”上生产,一旦发生业务自身问题带来的生产事故,责任是极其重大的。
从以上几个场景可以看出来,云原生技术的广泛采用,大大增加了IT系统故障的复杂性,进而为快速排障带来了困难。
03 | 结语
控制领域中,研究可观测性的目的是提供基于系统内部状态(白盒),而非系统外部输出(黑盒)进行控制的理论依据。在IT领域中,简单而言,可观测性就是为复杂IT系统寻求白盒监控能力。
其实,无论三大支柱还是快速排障都是管中窥豹。最早提出可观测性的是现代控制理论奠基人Rudolf Kalman。曾经的登月计划,以及未来的无人驾驶,都离不开他发明的卡尔曼滤波器。而卡尔曼滤波器,才是最优(美)的观测器。
了解更多云原生可观测性技术实践,欢迎关注云杉网络主办的 “云原生可观测性分享会” 系列直播活动。7月27日晚20:00~21:30,第8期活动由云杉网络携手KubeSphere开源社区共同举办,并联合云原生社区同步直播,聚焦“云原生可观测性开源技术最佳实践”主题,分别讲解了在各自的技术领域中如何快速、可靠的实现云原生可观测性。
活动报名:https://www.slidestalk.com/m/1021/OSCHINAjswz

边栏推荐
- Beginner experience of safety testing
- 腾讯为什么没能造创造出《原神》这样的游戏
- Confid+etcd to realize automatic discovery of high availability
- 2022-7-26 第七组 抽象和接口
- 今天公司碰到一个阿里p8,算是真正见识到了基础的天花板
- 和月薪3W的字节程序员聊过后,才知道自己一直在打杂...
- Buu brush inscription 1
- Easy gene | introduction to macrovirus sequencing technology
- [OBS] solve the problem of OBS pushing two RTMP streams + timestamp
- TableWidget
猜你喜欢

How to configure the legendary SF lander to automatically read the list without a network

Shell综合应用案例,归档文件

Pointpillars: fast encoders for object detection from point clouds reading notes
![[JVM series] JVM tuning](/img/6b/f7c402b2ff5fc4f11f9656a7a59873.png)
[JVM series] JVM tuning

Increased uncertainty in BTC and eth due to the approaching interest rate hike? The US economy will face more pain

Beginner experience of safety testing

2022-7-26 the seventh group of abstractions and interfaces

传奇GEE引擎版本如何封挂?通过脚本+引擎封玩家账号教程
![[OBS] solve the problem of OBS pushing two RTMP streams + timestamp](/img/71/dbd00f69251b96b0e56de399103f72.png)
[OBS] solve the problem of OBS pushing two RTMP streams + timestamp

idea中设置核心配置文件的模板
随机推荐
手机\固定电话座机呼叫转移设置方法
2022 pole technology communication - anmou technology opens a new chapter of commercialization
Common operations of ndarray in numpy
Buu brush inscription 3
自定义注解(一)
Google's new programming language is called carbon
Build etcd distributed storage system +web management interface from scratch
GOM and GEE lander list file encryption tutorial
LeetCode_ Backtracking_ Medium_ 216. Combined sum III
09_ UE4 advanced_ Enter the next level and reserve the blood volume
PointPillars: Fast Encoders for Object Detection from Point Clouds 阅读笔记
leetcode 数组类
Error in render: “TypeError: data.slice is not a function“
It is said that HP / Dell / Microsoft / Amazon are considering transferring some hardware production lines outside the mainland
Leetcode linked list problem -- 24. Exchange the nodes in the linked list in pairs (learn the linked list with one question and one article)
【MySQL系列】-索引知多少
Transaction rollback and record exception information at the same time
The lawyer team of the US Department of justice asked the judge to refuse to accept Huawei's lawsuit
serializable接口的作用是什么?
Introduction to the billing function of wechat payment