1. 课程导论:可观测性概述、Metric 在可观测性中的核心地位、为什么需要租户隔离

1.1 可观测性概述

可观测性(Observability)是衡量系统内部状态可通过其外部输出推断的程度。在云原生与微服务架构中,系统由数百个分布式组件构成,传统监控已无法应对其复杂性与动态性。可观测性通过三大数据支柱——指标(Metrics)、日志(Logs)、链路追踪(Traces)——提供对系统行为的全面洞察。

数据支柱 核心特征 典型用途
Metrics 数值型、可聚合、低存储成本 告警、容量规划、SLO 跟踪
Logs 文本型、结构化或非结构化、高信息密度 故障排查、审计、详细事件记录
Traces 请求级、端到端、上下文关联 延迟分析、依赖关系发现、性能瓶颈定位
核心认知:可观测性不是监控的替代品,而是监控的进化形态。监控回答“出了什么问题”,可观测性回答“为什么出问题”。

1.2 Metric 在可观测性中的核心地位

在三大支柱中,Metrics 处于最基础且最关键的层级。它提供系统健康度的量化视图,是告警、仪表盘、SLO 计算的直接数据源。Metrics 具有以下不可替代的优势:

  • 低开销高密度:数值型数据占用存储少,可长期保留用于趋势分析。
  • 实时聚合:支持秒级聚合与多维下钻,快速定位异常范围。
  • 标准化生态:Prometheus、OpenTelemetry、StatsD 等工具链成熟,社区广泛采用。
  • 告警基石:绝大多数生产告警规则基于 Metric 阈值或速率变化触发。

下图展示了 Metrics 在可观测性体系中的枢纽位置:

可观测性三大数据支柱关系图 Metrics 数值型 · 可聚合 · 低开销 Logs 文本型 · 高信息密度 Traces 请求级 · 端到端关联 告警 · 仪表盘 · SLO 计算 以 Metrics 为数据核心 Metrics 是唯一同时支撑告警、仪表盘与 SLO 的数据类型,是可观测性体系的“第一公民”

1.3 为什么需要租户隔离

在多租户环境中(如 SaaS 平台、内部 PaaS、混合云管理),不同团队、业务线或客户共享同一套基础设施与可观测性平台。若不对 Metric 数据进行租户隔离,将引发以下严重问题:

风险警示:缺乏租户隔离的 Metric 体系,本质上是一个“数据大锅饭”——任何租户的异常数据都可能污染全局视图,导致误告警、误判与安全泄露。

1.3.1 核心冲突:标签(Label)的命名与语义冲突

不同租户可能使用相同的 Metric 名称但含义不同,或使用相同的标签键但值格式不一致。例如:

  • 命名冲突:租户 A 的 http_requests_total 表示 API 网关请求,租户 B 的同一名称表示内部 RPC 调用。
  • 标签键冲突:租户 A 用 env=prod 表示生产环境,租户 B 用 env=production 表示同一含义。
  • 标签值冲突:租户 A 的 service=payment 指支付核心服务,租户 B 的 service=payment 指支付前端代理。

1.3.2 隔离的三大驱动力

驱动力 说明 后果(无隔离)
数据安全与合规 租户的敏感业务指标不应被其他租户可见 数据泄露、违反 GDPR/SOC2 等合规要求
告警准确性 租户的告警规则应仅作用于自身数据 跨租户误告警、告警风暴、告警疲劳
成本分摊与配额 按租户统计 Metric 存储与查询量,实现公平计费 无法准确核算成本,资源滥用难以追溯

1.3.3 租户隔离的典型架构模式

下图展示了一种基于 标签前缀 + 元数据路由 的隔离方案,这是本课程后续章节将深入展开的核心模式:

Metric 租户隔离架构(标签前缀 + 元数据路由) 租户 A 租户 B 租户 C 标签注入层(Sidecar / Agent / Gateway) 自动注入 tenant_id、tenant_name、environment 等隔离标签 统一 Metric 存储(Prometheus / Thanos / VictoriaMetrics) 通过标签前缀(如 tenant_a_)实现物理或逻辑隔离 查询路由:根据 tenant_id 标签自动过滤数据 租户只能看到自身标签匹配的 Metric 时间序列