由于工作的需求,特地去研究下可观测性技术,因此通过本文阐述下自己对可观测技术的理解。本篇只分析什么是可观测性、为什么需要可观测性以及可观测性收集哪些数据。后续将完成如何关联各种数据,如何呈现和展示以及如何分析这些数据。
什么是可观测性
随着云计算、微服务和分布式系统的普及,oberservibility逐渐走进了大众的视野。似乎可观测性是个新兴的概念,然而在它却很久之前就出现在了控制理论中。在控制理论中他被定义为:衡量一个系统的内部状态可以从其外部输出的知识中推断出的程度 (observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs)。对比于监控,监控主要包括白盒监控和黑盒监控,可观测性则更接近于白盒监控。一般来说“监控告诉我们系统的哪些部分是工作的,可观测性则告诉我们那里为什么不工作了”。他能提供足够的信息帮助我们定位问题发生的原因,因此可观测性主要关注这几个方面:
- 收集哪些内容。
- 如何关联这些内容。
- 如何更方便的呈现和展示。
- 如何分析这些数据。
为什么需要可观测性
简单的系统相对组件较少,通过监控CPU、内存、网络等加之日志分析尚且可以定位出系统问题发生的原因。但是随着云原生、微服务技术、分布式系统的不断发展,一个完成的系统所需的组件越来越多、而且其依赖关系也从较简单的树形结构更多的向网状结构发展,涉及的团队也成倍的增长,定位一个简单的问题甚至都需要跨团队的合作,光是协调各个团队共同定位问题就已经较为困难了(主要是各种扯皮),更别提整合各种不同目标、不同工具、不同方法所收集的数据进行统一分析的艰巨性,可以预见的场景便是在各种工具中来回切换,在各种规则中不断适应。
涉及的数据
如前所述可观测性要求系统能够通过收集外部输出的知识推断系统的内部状态,那么收集哪些知识

可观测性是评估系统内部状态通过外部输出推断的能力,不同于监控,它更关注问题的根源。在云原生环境中,可观测性主要依赖Metrics、Logs、Traces、Profiles和Dumps这五个方面来收集和分析数据,帮助定位和解决问题。Prometheus、ELK、OpenTelemetry等工具在这些领域有着重要作用。
最低0.47元/天 解锁文章
994

被折叠的 条评论
为什么被折叠?



