1、用可观测性工程构建生产环境的护城河主讲人:刘征&刘刚演讲嘉宾介绍刘征 观测云首席架构师 中国DevOps社区的核心组织者 DevOps实践指南和Google SRE 工作手册的译者 精通DevOps/SRE/ITSM等理论体系,致力于推动可观测性实践和工具在云环境中的落地。热爱开源技术,专注于云计算、运维大数据分析、云原生、APM全链路追踪和AIOps等使用场景。CONTENT目录2023K+01为可观测性的理念正本清源分步骤循序渐进落地的最佳实践深度前端性能调优案例分析0203Part 01为可观测性的理念正本清源 术语的定义和来源 当前时代背景下的定义 可观测性与 DevOps 的关系 可
2、观测性与 SRE 的关系故宫护城河:世界十大护城河之首“紫禁城护城河”,护城河距城墙二十米,河宽五十二米,周长三千八百四十米,水深五米,平均蓄水量达五十四万二千八百八十立方米。护城河:不可缺失的攻守兼备的职能作用很少有人能忍受可怕的索伦之眼眼睛能看到一切,眼睛也能影响它所看到的一切。被它或他盯上就等於受到索倫的影響。可观测性:度量一切,影响所有它所发现的问题,也是生产环境不可或缺的稳定性的保障。常见可观测性定义都参考了控制论:源于数学&机械工程学科领域“可观测性”于1960年,在控制论中被首次提出。定义:指系统可以由其外部输出推断其内部状态的程度。特点:用已知的输入输出推断机械内部的工作状态美
3、诺伯特维纳(1894-1964)Cybernetics分支:现代控制理论Modern Control Theory控制论:或关于在动物和机器中控制和通信的科学 Observability,在云原生时代,我们将其简称为 o11y将会不太适用于“虚拟的软件系统”可观测性工程将开启你编写软件代码并与生产环境交互的全新模式。未知的用户行为,未知的生产环境现象维基百科 控制理论中的可观测性是指系统可以由其外部输出推断其其内部状态的程度。系统的可观察性和可控制性是数学上对偶的概念。可观察性最早是匈牙利裔工程师鲁道夫卡尔曼针对线性动态系统提出的概念。若以信号流图来看,若所有的内部状态都可以输出到输出信号,此
4、系统即有可观察性。Red Hat 可观测性是指能够通过检查系统或应用的输出、日志和性能指标来监控、测量和理解系统或应用的状态。在现代软件系统和云计算中,可观测性在确保应用和基础架构的可靠性、性能和安全性方面发挥着越来越重要的作用。IBM 一般来说,可观察性是指您仅根据所了解的外部输出对复杂系统内部状态或条件的理解程度。系统的可观察性越高,您就能越迅速、越准确地从发现的性能问题找到根本原因,而不必进行额外的测试或编码。公有云 可观测性描述了你能如何清晰地理解一个系统内部正在发生着什么,通常需要通过埋点来采集指标、日志或追踪。可观测性是可帮助团队有效调试其系统的工具或技术解决方案。可观测性基于对事
5、先未定义的属性和模式的探索。系统的可观测性:应该具备的三大基本特征度量能力按需改变探索分析无论系统中着发生多么费解的现象它帮助你更好地理解和解释系统当前的状态能够在各类状态数据的所有维度和组合之间进行关联分析无预定调试&排查模式和路径最好是不需要改变原有代码也能随心所欲的按需埋点洞察可观测性与 DevOps 的关系 运维效率 自动化和持续交付 跨团队协作 故障排除和持续改进可观测性与 SRE 的关系 服务质量协议 SLA Service Level Agreement 服务质量目标 SLO Service Level Objective 服务质量指标 SLI Services Level In
6、dicatorSLA(1)文档客户SRE产品产品SREDev(n1)(11)(1n)延时流量错误饱和SLOSLI应用系统(1n)(nn)可观测性与 SRE 的关系(续)可观测性是SRE的核心原则之一可观测性促进故障预防和容错设计可观测性与 SLI、SLO 和 SLA 的关系可观测性推动持续改进和演进Part 02分步骤循序渐进落地的最佳实践1.标椎化监控信号量的数据源头2.端到端的覆盖所有可用信号量3.从生产环境中的重大故障排查开始4.成为各个团队和角色的协作平台第一步:标椎化监测信号量的数据源头基于统一数据模型采集、存储、处理和分析基础设施以及应用系统