Auto-sync: 2026-04-29 00:02
This commit is contained in:
@@ -1,47 +1,72 @@
|
||||
---
|
||||
title: "Observability"
|
||||
type: concept
|
||||
tags: [devops, monitoring, sre, infrastructure]
|
||||
last_updated: 2026-04-26
|
||||
---
|
||||
|
||||
## Observability(可观测性)
|
||||
|
||||
**中文名称:** 可观测性
|
||||
|
||||
**类型:** 技术方法论 / SRE 核心支柱
|
||||
|
||||
**别名:**
|
||||
- 可观测性
|
||||
- 云原生可观测性
|
||||
- Observability Stack
|
||||
|
||||
---
|
||||
|
||||
## Definition
|
||||
|
||||
可观测性(Observability)是指通过系统外部输出来推断其内部状态的能力。在 IT 运维领域,通常由三大支柱构成:
|
||||
|
||||
1. **指标(Metrics):** 系统运行时数值数据的时序聚合——如 CPU 使用率、内存占用、请求 QPS。代表工具:Prometheus、InfluxDB、VictoriaMetrics。
|
||||
2. **日志(Logs):** 系统运行事件的离散记录——如错误日志、访问日志、业务事件。代表工具:ELK(Elasticsearch + Logstash + Kibana)、Loki、Graylog。
|
||||
3. **链路(Traces):** 分布式请求在多个服务间的调用路径追踪——如 HTTP 请求从 API → DB → Cache 的完整耗时。代表工具:Jaeger、Zipkin、OpenTelemetry。
|
||||
|
||||
**第三支柱趋势:** OpenTelemetry(OTel)作为 CNCF 项目,正在成为可观测数据的统一采集标准,将 Traces、Metrics、Logs 三者以统一规范融合。
|
||||
|
||||
---
|
||||
|
||||
## 家庭监控场景下的应用
|
||||
|
||||
在家庭服务器/NAS 监控中,可观测性通过以下组件实现:
|
||||
- **指标:** Prometheus + node_exporter + cAdvisor + blackbox_exporter
|
||||
- **可视化:** Grafana 仪表盘
|
||||
- **告警:** Alertmanager + 邮件/Slack 通知
|
||||
- **日志(可选):** Loki + Promtail
|
||||
|
||||
---
|
||||
|
||||
## Related Sources
|
||||
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]]
|
||||
- [[public-cloud-learning-sessions-observability-with-opentelemetry]]
|
||||
- [[ctp-topic-67-cloud-native-observability-using-opentelemetry]]
|
||||
- [[ctp-topic-8-implementation-of-cloud-monitoring-using-micro-focus-operations-brid]]
|
||||
---
|
||||
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]]
|
||||
|
||||
Reference in New Issue
Block a user