AI智能总结
赋能企业塑造全方位、深层次的可观测能力! 这是一本可观测性领域问答工具书 解答可观测性领域TOP 100高频问题 序言 云计算时代下,企业的应用交付链路越来越复杂,云原生、微服务、大型分布式等新技术给企业带来竞争力也带来了全新的挑战,传统IT监控已无法监测业务系统全链路的稳定性和可靠性,“云深不可见”难题突显。为解决上述难题,“可观测性(Observability)”应运而生。可观测性是当今IT领域最热门的话题之一,它可以帮助企业实现数据价值最大化、加速企业数字化转型。 构建可观测性体系是一个长期过程,它贯穿应用系统的研发、迭代与替代等各个阶段,涉及IT运维、站点可靠性工程师、云平台团队、应用开发人员及产品所有者等角色。然而,大部分企业对可观测性的理解停留在传统监控层面,在实际应用可观测工具时缺乏统一的建设指南和实践经验。因此,行业亟需普及对可观测性最新内涵的认知,消除盲点,才能找到最适合的解决方案。 作为中国IT运维监控及可观测性领域领导者,博睿数据致力于为企业级客户提供优质的应用性能管理及可观测性产品与服务。为了帮助企业更好地理解和应用可观测性,博睿数据精心编写了《可观测性体系建设100问》系列问答手册,汇集了业内最受关注的100个高频问题,涵盖了可观测性能力建设、工具选择、应用落地等多个方面,旨在消除企业在构建可观测能力过程中可能遇到的困惑和盲点,帮助企业建立系统化的可观测性理论框架,为企业数字化转型提供有力支持。 为确保内容的权威性和专业性,我们参考了行业海内外权威报告,并邀请了博睿数据AIOps领域首席专家贺安辉进行全书的审定与指导,希望这本书能够为您在可观测性体系建设过程中提供参考与帮助。同时,我们也期待您的反馈,并欢迎您分享更多在实践过程中遇到的问题与经验! 欢迎关注“博睿宏远”公众号共同探讨可观测性领域前沿动态与深度应用 目录 可观测性基础概念与建设价值可观测性基础概念可观测性能力建设价值可观测性与监控的区别及其在系统调试中的优势01 可观测性与数据管理的深度融合可观测性的场景落地能力可观测性技术跨领域的深度应用可观测性提升系统稳定性与用户体验 可观测性平台的技术选型与功能应用可观测性平台的选择与应用策略可观测性平台功能实践:关键要素与最佳方案04 可观测性未来发展趋势与展望可观测技术产业生态发展趋势可观测性与其他相关行业应用的融合发展趋势可观测平台未来几年建设建议05 可观测性基础概念与建设价值 C O N C E P T SU N D E R L Y I N G O B S E R V A B I L I T Y 可观测性基础概念可观测性能力建设价值可观测性与监控的区别及其在系统调试中的优势 第一节第一节 可观测性基础概念 什么是可观测性? 在IT和云计算中,可观测性是基于系统生成的数据(如指标、调用链、日志)来测量系统内部状态的能力。可观测性依赖于源自多云计算环境中端点和服务的仪器的遥测。在这些现代环境中,每个硬件、软件和云基础设施组件以及每个容器、开源工具和微服务都会生成每个活动的记录。可观测性的目标是了解所有这些环境和技术之间发生了什么,从而检测并解决问题,以保持系统高效可靠的运行。 可观测性解决方案可以帮助企业检测和分析事件对其运营、软件开发生命周期、应用程序安全和最终用户体验的重要性。近年来,随着云本地环境变得更加复杂,故障或异常的潜在根本原因变得更加难以查明,收集和处理可观测性数据对业务的好处更加显而易见。由于云服务依赖于一个独特的分布式动态体系结构,可观测性有时也可能指企业用来解释云性能数据的特定软件工具和实践。 为什么现在可观测性很重要?Q2 云计算时代下,企业的应用交付链路越来越复杂,云原生、微服务、大型分布式等新技术给企业带来竞争力的同时,也带来了全新的挑战,“云深不可见”难题突显。这些高度动态化、分布式的云原生技术与以往截然不同,这导致复杂性变得一发不可收拾。这些复杂性已经超出了现代IT团队的管理能力极限,并且还在不断扩大。若想解决这些复杂的挑战、并随时了解瞬息万变的环境中所发生的一切,需要全新的技术出现,“可观测性(Observability)”应运而生。 可观测性是当今IT领域最热门的话题之一,Gartner将其列为“2023年度企业十大重要战略技术趋势”之一,并指出可观测性可以帮助企业实现数据价值最大化、加速企业数字化转型。2021年,中国信通院开始了可观测性系列标准的制定工作,并成功推动了中国通信行业标准的立项。尤其是近年来云原生的广泛普及,“可观测性”逐渐取代“监控”成为了企业IT建设与运营的不可或缺的核心能力。可观测性作为一种技术或方法,具有广阔的发展空间,除了在IT运维领域,还可以在许多其他领域发挥作用并取得突破,为社会发展带来积极影响。 什么是可观测性的“三大支柱”? 可观测性有三大支柱,包括指标(Metrics)、日志(Logs)、跟踪(Traces)。这三大支柱共同构成了现代可观测性的基础,帮助开发人员和运维人员更好地理解和监控系统。 指标(Metrics):指标是从各种来源(如硬件、应用软件和网站)收集的原始数字数据,用于测量资源使用情况、性能和用户行为等信息。它们通常用于设置警报、警告和错误条件的阈值,帮助团队全面监控系统和网络性能。 日志(Logs):日志是系统运行过程中产生的结构化和非结构化数据,带有时间戳的条目记录了特定事件。日志可以作为故障排查的依据,提供丰富的本地上下文信息,帮助确定错误发生的位置和原因。 跟踪(Traces):跟踪通过记录数据的流动来找到错误发生的位置。它帮助开发人员理解请求在系统中的流动路径,从而定位问题。 可观测性的三大能力阶段指什么?Q4 阶段一Know(知道):在问题发生、并造成影响之前,团队能够多快地得到通知; 阶段二Triage(分类):在问题发生后,团队能够多轻松地对问题进行分类,了解它的影响面; 阶段三Understand(理解):团队如何快速地找到直接原因,以支持快速地解决掉这个问题; Remediate(止损):基于上述三阶段的任意阶段,快速地执行止损修复操作。三大关键阶段是可观测性的关键输出。在可观测性能力建设中,只关注三大主要信号往往是不够的,三大主要信号只是可观测性的输入。团队需要“面向结果”来思考如何构建可观测性能力体系。在问题发生之后的任意时间点,团队的目标始终是修复问题以快速止损,不必纠结于非得找到导致问题的根本性原因。。三大阶段是典型的可观测性建设面向故障处理的输出目标,与MTTD、MTTI、MTTR等指标相响应。因此,基于三大阶段的思维来构建可观测性能力,团队可以快速地从遥测数据中获取价值。 为什么要建设可观测性统一平台?Q5 区别于传统监控的一大特点,可观测性强调数据的统一性,旨在通过构建一个统一的平台来实现三大支柱数据的集中汇聚与数据处理,从而打破单点工具的限制。统一平台的目标是将各种可观测性工具整合在一个集中的界面,从而使组织能够更高效地管理和维护其应用程序和系统。通过可观测性统一平台,团队可以更快地识别问题、优化性能,并提供更稳定、可靠的服务。这种集成方法有助于提高团队的协作效率,减少信息孤立,并为整个组织带来更好的业务结果。 可观测性的“支柱”⸺指标的重要作用?Q6 指标是可观测性领域最为重要的支柱之一。它主要处理数字信息,通过量化的方式测量和记录系统的性能。 系统运行状态监测:通过在系统中埋点或统计已有数据,如CPU使用率、访问QPS、响应耗时等,开发人员可以快速了解到系统的运行状态。出现问题后,各个指标数据会首先出现波动,这些波动会反映出系统是在哪些方面出现了问题,从而帮助排查和解决问题。 业务分析和优化:通过统计指标,产品团队可以了解到产品上线之后的真实效果,从而优化下一步的产品决策。例如,成单率、用户留存等业务型指标可以帮助产品团队评估产品的市场表现和用户反馈,进而进行产品迭代和优化。 问题排查和故障定位:指标数据可以帮助开发人员快速定位系统中的问题。例如,使用HttpClient框架发送HTTP请求时出现卡死问题,通过查询句柄的指标数据,可以发现是因为句柄被占满导致的卡死。 系统性能评估:指标数据可以用于评估系统的整体性能。通过分析系统的响应时间、请求数等指标,可以了解系统的负载情况和瓶颈所在,从而进行性能调优。 可观测性的“支柱”⸺日志的重要作用?Q7 日志是可观测性的重要组成部分,它详细记录了系统运行过程中的各种事件信息,为分析和诊断提供了丰富的上下文数据。 故障定位和问题解决:日志能够详细记录代码执行的过程,帮助研发人员准确地找到故障发生的位置和原因,从而进行修复工作。通过分析日志,可以快速定位问题,尤其是在分布式系统中,日志是定位问题的关键工具。 系统状态监控:日志可以记录系统的运行状态,包括硬件、软件和系统的信息。通过分析日志,可以了解系统的整体运行情况,及时发现潜在的问题并进行处理。 性能优化:日志数据可以帮助开发和运维团队了解系统的性能瓶颈,通过分析日志中的指标数据,可以优化系统性能,提高系统的稳定性和响应速度。 业务分析和决策支持:日志中包含大量的业务数据信息,通过对这些数据进行统计分析,可以了解用户行为、业务趋势等,为决策提供支持。例如,通过分析用户的操作日志,可以优化用户体验和业务流程。 可观测性的“支柱”⸺分布式链路追踪的重要作用?Q8 可观测性的构建块--分布式链路追踪,已经成为软件研发团队必不可少的故障排工具。 分布式链路追踪仪是一系列存在关联关系的事件,提供依赖包,能自动创建并管理这些事件的关联关系。可观测系统中的链路仅是一连串相关联的事件,为了进一步探究可观测统的可能性,必须研究链路追踪系统的内部原理。链路追踪是一种重要的软件调试技术,在整个程序执行过程中记录各种各样的信息,以诊断问题。分布式链路追踪是追踪单一请求整个过程(链路)的一种方式,且该请求过程可能经过一个应用中的多个服务。 为了满足功能,请求可能要跨进程、机器甚至网络边界,这也正是“分布式”的由来。微服务架构的流行导致调试定位微服务间故障和性能问题的需求攀升。但是,一旦请求跨边界--比如从机房到云基础设施中,或者从你控制的基础设施到你不控制的SaaS服务,然后返回,这时对于诊断问题、优化代码和构建更可靠的服务,分布式链路追踪可能就非常有用。依赖关系可能使问题变得模糊不清,如果不能清理解依赖关系,调试可能就会变得尤为困难,链路能帮助你理解系统依赖关系。 第二节第二节 可观测性能力建设价值 可观测性能力建设在技术方面的价值主要体现在哪些方面? 故障排查和问题定位:通过可观测性能力建设,团队可以实时监控系统运行状态,及时发现并定位故障和问题,缩短故障恢复时间,提高系统的可靠性和稳定性。 性能优化和资源管理:可观测性能力建设,可以帮助团队识别系统性能瓶颈和优化空间,从而优化系统性能,提高资源利用率,降低系统资源开销,降低系统运维成本。 容量规划和预测:通过监控系统负载和资源使用情况,团队可以进行容量规划和预测,及时调整资源配置,确保系统能够满足业务需求,并且避免资源浪费或不足的情况发生。 及时告警和故障预警:可观测性能力建设使团队能够实时监控系统的运行状态,并设置相应的警报机制,及时发现系统异常和问题。通过实时监控和警报,团队可以在异常风险演变成故障之前提前预测、提前规避事故、及时采取措施,避免问题扩大化和影响范围扩大,保障系统的正常运行。 追踪和分析系统行为:可观测性能力建设使团队能够追踪和分析系统的行为和交互,包括用户请求流、服务调用链、依赖关系等。通过追踪和分析系统行为,团队可以全面了解系统的运行情况和行为特征,发现潜在问题和优化空间,提升系统的稳定性和可靠性。 可观测性能力建设对组织建设的价值主要体现在哪些方面?Q10 促进团队协作和沟通:可观测性提供的数据和信息可以帮助不同团队之间更好地协作和沟通,共同解决系统问题,推动项目的顺利进行。 节约成本




