假设某视频流媒体平台决定直播某流行歌手的午夜演唱会,但当用户午夜登录观看时遭遇缓冲问题。 部分忠实粉丝可能会继续等待观看。但普通观众可能直接退出直播,更糟糕的是,不满的超级粉丝可能因此弃用该流媒体服务。
当今技术消费者期待极速响应、超高可用性与无缝交互。负面用户体验(例如大型演唱会期间的缓冲问题)可能导致用户流失,因此 IT 团队需要具备快速定位根本原因并解决系统问题的能力。
这正是监控与可观测性工具在现代 IT 运维 (ITOps) 中不可或缺的原因。以下解析此类工具如何不仅解决问题,更能预防此类场景。
针对直播缓冲问题,运维团队可以使用监控工具在服务器群组负载超出阈值时发出告警。 随后团队可以通过将流量重新分配至可用服务器实现负载均衡。
收到监控告警触发后,可观测性平台可以分析关键指标(如码率适配),并通过分布式追踪技术追溯视频请求路径,定位缓冲问题的源头。例如,若工具发现缓冲问题源自性能欠佳的内容分发网络 (CDN) 节点,即可以为 IT 人员提供 CDN 配置优化与设备兼容性提升方案。
实际上,领先的可观测性工具能分析类似网络事件的历史监控数据,预测演唱会可能导致特定区域 CDN 节点超载。该工具可以提示 IT 人员预先调整 CDN 配置,在用户遭遇缓冲前修复低速节点。
简言之,监控与可观测性为企业提供互补式系统问题诊断方案。监控告知团队异常发生,而可观测性揭示问题本质、成因及解决路径。二者结合赋予 IT 团队全面问题检测与解决能力,确保用户获得无缝体验。
可观测性指通过外部输出了解复杂系统内部状态的能力。当系统具备可观测性时,IT 团队可以通过其生成的数据定位性能问题的根本原因。无需额外测试或编码。
“可观测性”一词源自控制理论——一种专注于动态系统自动化控制的工程理论(例如根据流量控制系统的反馈调节管道水流)。现代车辆是另一典型案例。汽车诊断系统常为维修人员提供可观测性,使其无需拆解车辆即可查明无法启动的原因。
在 ITOps 与云计算领域,可观测性需要借助软件工具聚合并关联来自应用程序、硬件及承载网络的持续性能数据流。
可观测性解决方案(如 OpenTelemetry)可以分析系统输出数据,评估系统健康状态,并提供解决问题的可行建议。团队可以据此监控、排查与调试应用程序及网络问题。
可观测系统使开发运维 (DevOps) 团队能透视整个 IT 环境,包括上下文数据与相互依赖关系。其成果如何?一种构建出支持团队主动发现问题、加速问题解决、优化用户体验并满足服务等级协议 (SLA) 的 IT 架构。
监控通过基于预定义指标与日志集,收集并分析 IT 系统聚合数据以评估系统健康状况。在 DevOps 中,监控用于衡量应用程序健康状态,检测已知故障并预防停机。 例如,IT 团队可以在监控工具中创建规则,当应用程序磁盘使用率接近 100% 时触发告警。
监控的真正价值体现在长期趋势分析中。监控工具既能展示应用程序的实时运行状态,也能呈现其随时间推移的使用情况。 但监控存在局限性。
要使监控有效,团队必须明确需要追踪的指标与日志。若团队未预见某类问题,监控工具可能遗漏关键生产故障和其他问题。此外,监控要求 IT 人员手动关联孤立监控工具间的数据,导致根本原因分析过程复杂耗时,并限制开发人员的预测能力。
“可观测性”与“应用程序性能监控”常被混用。但更准确的理解是将可观测性视为应用程序性能监控的进阶形态。
应用程序性能监控指协助 IT 团队判断应用程序是否达到性能标准与用户期望的工具及流程。监控工具通常追踪网络基础设施健康与性能、应用程序依赖关系、业务事务及用户体验。这些系统旨在快速识别、隔离并解决性能问题。
APM 作为标准实践沿用二十余年,但随着敏捷开发、DevOps、 微服务、多编程语言、 无服务器 及其他 云原生 技术的普及,团队需更快速、更全面的方法来监控与评估高度复杂的环境。为上一代应用程序基础设施设计的 APM 工具已无法为整个应用环境的健康状态与可用性提供快速、自动化且情境化的可视性。当前软件以众多小型组件形式快速部署,传统 APM 工具难以跟上节奏。
于是,可观测性闪亮登场。可观测性基于应用程序性能监控工具的数据采集方法,更好地应对云原生应用程序与服务部署的分布式与动态特性。可观测性解决方案采用整体性方法处理日志记录与监控,帮助团队深入理解服务间交互方式(例如依赖关系图)及其在整体架构中的定位。
监控与可观测性的区别通常在于:前者识别已知问题,后者探索预判潜在问题的方法。本质上,监控是被动响应,而可观测性是主动预防。但二者均使用同类遥测数据,即所谓可观测性三大支柱。
这三大支柱是:
监控中,团队利用此类遥测数据定义阈值与基准,并创建预配置仪表板与通知机制。 他们还能利用遥测识别并记录依赖关系——揭示每个应用程序组件如何与其他组件、应用程序及 IT 资源协同运作。
可观测性平台将监控提升至新层级。可观测性平台同样使用遥测数据,但采用主动方式运用。
DevOps、站点可靠性工程师 (SRE)、运营团队与 IT 人员借助可观测性工具实时关联遥测数据,获取系统健康状况的完整情境化视图。这使得团队能够深入理解系统各元素及其相互关系。
通过提供包含依赖关系的 IT 环境全景视图,可观测性解决方案可以向团队展示任何系统事件的“内容”、“位置”、“成因”及其对整体环境性能的潜在影响。它们还能自动发现系统中可能出现的遥测新来源(例如对软件应用程序发起的新 API 调用)。
这些功能常决定 DevOps 团队如何实施应用程序插装、调试流程与问题解决。许多可观测性解决方案还集成机器学习 机器学习 (ML) 和 AIOps 功能,帮助从现代 IT 环境产生的海量原始数据中提取洞察分析,并根据严重程度对问题进行分类。
监控与可观测性对网络与应用程序管理均至关重要。但二者在关键维度存在差异:
监控工具依赖特定指标与日志检测系统错误、资源使用模式及特定故障类型。它们能协助团队识别“已知的已知”问题——即 IT 团队预先设想到的潜在风险。例如,应用程序性能监控软件可以判断应用程序是否在线、离线或存在延迟问题。
监控作为确保系统正常运作的关键流程虽不可或缺,但其工具无法提供深度故障检测与事件响应所需的上下文信息。
可观测性助力团队实现架构全景可视化:存储设备配置、整合跨网络异构数据源,并支持无缝数据分析。可观测性工具通过补充网络环境信息(如拓扑结构、设备角色与应用程序依赖关系)增强遥测数据价值,并关联网络数据以揭示“未知的未知”问题。
凭借提升的可见性与深层洞察分析,IT 团队能主动采取探索式方法管理网络与应用程序。
监控系统收集使用趋势与性能数据,并据此揭示正在发生的状况。但未必能解释异常事件成因。
可观测性工具结合表层数据、CI/CD 流水线数据与历史数据提供上下文,关联看似无关的系统事件。此类关联功能帮助开发人员精准定位问题根源,支持实时与追溯分析。
监控工具通常通过仪表板可视化系统数据,供 IT 人员在集中界面查看关键指标。但无法展示系统错误根源。而监控工具则将预测性任务与根本原因分析留待人工处理。
然而,可观测性工具则能创建包含系统错误及其根源的可追溯路径图,自动化根因分析工作流,简化 IT 团队故障排查步骤。
监控与可观测性相辅相成,构建管理 IT 系统、优化网络连接与最大化架构扩展性的综合框架。
监控工具通过追踪遥测数据及其他关键指标、向团队告警性能偏差,为可观测性奠定基础。例如,当应用程序超出预设响应时间阈值时,监控方案会生成告警。
随后可观测性工具分析遥测数据与相关数据关联(如近期部署记录),补充上下文信息并整合数据层以确定告警成因。其追踪应用程序与其他服务的交互,判断运行缓慢是因数据库漏洞还是网络拥塞所致。
可观测性产生的洞察分析可进一步完善监控功能,形成持续优化的反馈闭环。当可观测工具检测到数据模式变化时,可以同步更新监控警报以匹配新模式,实现监控与可观测功能的动态协同。
此外,可观测性工具借助人工智能 (AI) 与 ML 充分释放监控数据的价值。 AI 驱动的可观测性功能可以通过预测性分析预判瓶颈或故障(例如,根据内存使用趋势预测服务器资源耗尽)。而使用 ML 算法的可观测性则能优化告警机制,精准区分关键警报与干扰信息。
例如,当 CPU 使用率出现短暂但符合预期的突增时,可观测性解决方案可自动屏蔽监控工具生成的警报。但如果 CPU 使用率出现持续性异常突增,该解决方案能确保告警信息第一时间触达相关 IT 人员。
监控与可观测性作为互补性技术,共同优化应用性能管理 (APM) 和 ITOps 实践。二者相辅相成,支持跨用例的主动与被动问题处理机制,助力企业为用户提供符合预期的高效、高可用性 IT 服务。
快速识别并修复问题根源。 实时、高保真的数据提供了动态应用程序和基础设施环境的完整可见性。
使用生成式 AI 增强 IT 自动化和运营,将 IT 基础设施的每个方面与业务优先事项保持一致。
IBM SevOne Network Performance Management 是一款监视和分析软件,可提供对复杂网络的实时可见性和洞察。