跳转至

可观测性:从发现问题到解释原因

监控通常回答“已知指标是否超过阈值”,可观测性进一步要求仅凭系统输出,就能调查事先没有写好规则的问题。它不是安装 Grafana 就完成,而是让指标、日志、Trace、事件和发布记录围绕同一服务关联起来。

系统与应用产生遥测数据
  → Agent / Exporter / OpenTelemetry Collector
  → 指标、日志、Trace 后端
  → Dashboard / 查询 / 告警
  → 值班处置、根因分析、容量与改进

四类核心信号

信号 擅长回答 不擅长回答
Metrics 是否异常、趋势、比例、容量、SLO 单个请求的完整细节
Logs 具体错误、上下文、业务事件 全局趋势,成本可能随请求量增长
Traces 请求经过哪些服务、哪里慢或失败 长期容量趋势,采样会遗漏请求
Events/变更 何时发布、扩容、重启、改配置 单独不能说明用户影响

三类数据应能通过服务、环境、版本、实例、时间和 Trace ID 互相跳转。详细设计参见 信号架构与数据关联

完整学习路径

顺序 章节 核心内容
1 我为什么选择 Victoria 体系 VM、VL、采集器、Grafana 的选型理由和边界
2 信号架构与数据关联 采集、传输、存储、查询及统一属性
3 Prometheus 指标类型、采集、PromQL、规则和容量风险
4 VictoriaMetrics 长期指标存储、vmagent、单机/集群选型
5 日志体系 结构化日志、采集管道、Loki/Elasticsearch 与保留
6 OpenTelemetry 与链路追踪 Trace/Span、上下文传播、Collector 和采样
7 Grafana 数据源、Dashboard、变量、关联跳转和权限
8 告警、SLI 与 SLO 从用户症状设计告警、路由、抑制和错误预算
9 平台运维与排障 遥测链路自身监控、容量、丢数和查询故障

从用户目标开始

在线服务常用 RED:请求率 Rate、错误 Errors、耗时 Duration;资源组件常用 USE:利用率 Utilization、饱和度 Saturation、错误 Errors。CPU、内存很重要,但不能代替用户可用性指标。

用户成功率下降
  → 哪个接口/区域/版本
  → Trace 定位失败依赖
  → 日志解释错误
  → 资源和连接池指标验证原因
  → 发布事件确认变化时间

OpenTelemetry 把 Trace、Metrics、Logs 等定义为可关联的遥测信号,详细概念见官方 Signals 文档