--- title: "Observability" type: concept tags: [Observability, SRE, Cloud-Native, Telemetry, Monitoring, Reliability] sources: - public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113 - ctp-topic-67-cloud-native-observability-using-opentelemetry - public-cloud-learning-sessions-opentext-evolving-from-dr-to-recovery-assurance-2 last_updated: 2026-04-29 --- ## Observability(可观测性) 可观测性(Observability)是指系统通过其外部输出理解其内部状态的能力。在软件工程中,可观测性通过遥测数据(Telemetry)——指标(Metrics)、日志(Logs)、追踪(Traces)——持续理解系统健康状态,是 [[SRE]] 和 [[Recovery-Assurance]] 的核心技术基础。 ## Three Pillars 可观测性三大支柱(Three Pillars of Observability): | 支柱 | 说明 | 示例 | |------|------|------| | **Metrics(指标)** | 聚合的数值数据,反映系统状态趋势 | CPU 使用率、请求延迟、错误率 | | **Logs(日志)** | 离散的事件记录,按时间顺序记录系统活动 | 访问日志、错误日志、审计日志 | | **Traces(追踪)** | 跨服务和组件的请求传播路径 | 分布式链路追踪、调用链可视化 | ## Observability vs. Monitoring 传统监控(Monitoring)与可观测性(Observability)的核心区别: | 维度 | 传统监控(Monitoring) | 可观测性(Observability) | |------|---------------------|-------------------------| | **目标** | 回答预设问题 | 回答任意未知问题 | | **假设** | 故障模式已知 | 故障模式未知(High Cardinality) | | **数据** | 聚合指标,低基数 | 原始事件,高基数 | | **根因定位** | 依赖仪表板预设视图 | 通过遥测数据探索定位 | | **适用场景** | 稳定系统 | 云原生、分布式系统 | > "You can't monitor your way to understanding a distributed system. You need observability." — Charity Majors ## Observability Engineering 可观测性工程(Observability Engineering)是将可观测性作为架构设计原则,在软件开发生命周期中内嵌遥测数据收集: - **Left-Shift**:在开发阶段就定义 SLI/SLO,持续验证 - **Telemetry as Code**:将遥测配置纳入 IaC,实现版本化管理 - **Continuous Validation**:用主动探测(Synthetic Monitoring)验证恢复路径 ## Connection to SRE and Recovery Assurance 在 [[SRE]] 实践中,可观测性是实现可靠性目标的必要条件: - **SLI/SLO/SLA 的测量基础**:可观测性提供量化可靠性的原始数据 - **Error Budget 的支撑**:通过指标追踪 Error Budget 消耗速度 - **On-Call 响应的依据**:日志和追踪是 MTTR(Mean Time To Recovery)的核心数据源 - **[[Recovery-Assurance]] 的前提**:无法观测的系统无法保证恢复能力 ## OpenTelemetry [[OpenTelemetry]](OTel)是 CNCF 的开源可观测性框架,提供厂商中立的指标、日志、追踪统一采集标准。 ## Related Concepts - [[SRE]] — 可观测性是 SRE 四大黄金信号的基础 - [[Recovery-Assurance]] — 可观测性是 Recovery Assurance 的技术前提 - [[OpenTelemetry]] — 可观测性工程的具体实现框架 - [[RTO]] / [[RPO]] — 可观测性支撑 RTO/RPO 的持续监控 ## Sources - [[public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113]] - [[ctp-topic-67-cloud-native-observability-using-opentelemetry]] - [[public-cloud-learning-sessions-opentext-evolving-from-dr-to-recovery-assurance-2]]