1. 可观测性基础概念:三大支柱与租户隔离

1.1 可观测性三大支柱的定义

可观测性(Observability)是衡量系统内部状态可通过外部输出被理解的程度。在分布式后端系统中,可观测性由三大数据支柱构成:Metrics(指标)、Logs(日志)、Traces(链路追踪)。三者各自独立又相互关联,共同构建完整的系统可观测视图。

支柱 定义 典型数据 主要用途
Metrics 可聚合的数值型时间序列数据,描述系统在某一时刻或时间段内的状态 CPU 使用率、QPS、延迟 P99、错误率 实时监控、告警触发、容量规划
Logs 带时间戳的结构化或非结构化文本记录,描述系统发生的具体事件 访问日志、错误堆栈、业务操作记录 故障排查、审计追溯、详细分析
Traces 记录一次请求在分布式系统中经过的所有服务节点及调用关系 Span ID、Trace ID、父 Span 引用、调用耗时 调用链分析、瓶颈定位、依赖关系梳理
核心认知:三大支柱不是替代关系,而是互补关系。Metrics 告诉你“系统出问题了”,Logs 告诉你“具体发生了什么错误”,Traces 告诉你“问题出在哪个环节”。

1.2 三大支柱的关系

三大支柱在数据层面存在天然的关联桥梁:Trace ID 可以嵌入 Logs 和 Metrics 的标签中,实现跨数据类型的关联查询。例如,当 Metrics 告警触发时,可通过时间窗口和标签快速定位到相关的 Trace 和 Logs。

可观测性三大支柱关系图 Metrics 数值聚合 · 时间序列 Logs 事件记录 · 结构化文本 Traces 调用链 · 分布式追踪 关联机制 • Trace ID 嵌入 Logs 上下文 • Metrics 标签携带 Service/Instance • 时间窗口 + 标签实现跨数据关联 三大支柱通过 Trace ID 和标签体系实现数据关联,形成完整可观测视图
实践要点:在日志采集端强制注入 Trace ID,在 Metrics 标签中保留 service.name 和 trace_id 字段,是实现三大支柱关联的基础工程手段。

1.3 为什么需要租户隔离

在多租户(Multi-Tenant)架构中,多个业务团队、客户或环境共享同一套可观测性基础设施。如果没有租户隔离,将面临以下严重问题:

  • 数据安全风险:租户 A 的敏感业务数据可能被租户 B 通过查询接口或仪表盘意外访问。
  • 性能干扰:一个租户的高流量写入可能导致存储后端 I/O 瓶颈,影响其他租户的查询响应。
  • 资源争抢:缺乏配额控制时,单个租户可能耗尽索引资源、存储空间或查询并发额度。
  • 成本分摊困难:无法准确统计每个租户的数据量、存储成本和查询消耗,导致计费不透明。
  • 运维复杂度:全局共享的告警规则、仪表盘和保留策略无法满足不同租户的差异化需求。
维度 无隔离 有隔离
数据安全 租户间数据可交叉查询 严格数据边界,RBAC 控制
性能保障 共享资源池,无 QoS 独立资源配额,限流降级
成本核算 全局账单,无法拆分 按租户计量,精确分摊
运维灵活性 统一配置,无法定制 租户级告警、保留策略、仪表盘
常见误区:租户隔离不等于物理隔离。在 SaaS 场景下,逻辑隔离(通过标签、索引分区、查询路由)往往比物理隔离更经济且易于运维。物理隔离仅在合规要求极高或性能隔离需求严苛时采用。

1.4 租户隔离的核心目标

设计可观测性租户隔离架构时,需要同时达成以下目标:

  1. 数据隔离:每个租户只能访问自己的 Metrics、Logs 和 Traces 数据。
  2. 性能隔离:一个租户的写入或查询负载不影响其他租户的可用性和响应时间。
  3. 资源隔离:为每个租户分配独立的存储配额、查询并发数和写入速率限制。
  4. 配置隔离:租户可独立管理告警规则、仪表盘、保留策略和索引模板。
  5. 计量隔离:精确统计每个租户的数据摄入量、存储量和查询次数,支持成本分摊。
租户隔离核心目标架构 租户隔离引擎 数据隔离 RBAC + 索引分区 性能隔离 限流 + QoS 资源隔离 配额 + 存储池 配置隔离 独立告警/仪表盘 计量隔离 按租户计费
设计原则:租户隔离应优先采用逻辑隔离 + 软配额方案,在保证隔离性的同时降低运维复杂度。仅在金融、医疗等强合规场景下,才考虑物理隔离或独立集群部署。