← 返回所有文章

可观测性:超越传统监控,洞察生产系统

By XNM Technologies · May 26, 2023 · 1 min read
可观测性:超越传统监控,洞察生产系统

生产事故往往暴露了传统监控的局限性。警报触发,待命工程师被呼叫,问题随即变成:系统现在究竟发生了什么?传统监控的设计目标是「系统是否正常运行」——通过将预定义指标与预定义阈值进行比较来回答这一问题。当系统以无人预料的方式发生故障时,那些预定义的检查往往毫无反应,而用户已经受到了影响。

可观测性的三大支柱

  1. 日志(Logs) ——结构化日志(JSON格式)将日志条目转变为可查询、可过滤的数据源,彻底取代了原始文本字符串这种低效的调试方式。

  2. 指标(Metrics) ——系统状态的聚合时间序列表示(请求率、错误率、延迟百分位数、队列深度、资源利用率),适用于仪表盘和告警。「四个黄金信号」——延迟、流量、错误和饱和度——为任何服务提供了实用的起始框架。

  3. 追踪(Traces) ——记录单个请求在多个服务间传播的完整路径,捕获每个环节所耗费的时间。在微服务架构中,追踪回答了日志和指标无法回答的问题:究竟是哪个服务、数据库调用或外部依赖成为了瓶颈?

Scrum团队如何构建可观测系统

  • 将可观测性纳入「完成定义」(DoD):每个新功能在验收前,必须发出结构化日志、关键指标,并传播追踪ID。

  • 功能开关(Feature Flags)用于渐进发布的可见性:在几乎实时的情况下比较开关开/关两组用户的错误率、延迟和行为。

  • 运行手册(Runbooks)作为每个Sprint更新的「活文件」,在Sprint评审中,当生产事故暴露差距时及时更新。

  • 基于症状而非原因进行告警:错误率超过0.5%或p99延迟超过2秒,而非CPU使用率超过80%。

XNM咋询支持Scrum团队和工程组织构建可靠、可观测的生产系统。了解更多,请访问我们的项目与计划交付页面。