土法炼钢兴趣小组的算法知识备份

【可观测性工程】中国可观测性厂商对比:阿里 ARMS、腾讯 APM、华为 AOM、观测云、夜莺、DeepFlow

文章导航

分类入口
architectureobservability
标签入口
#china#arms#aom#guance#nightingale#deepflow#cloud#vendor-selection#opentelemetry#tco

目录

中国可观测性厂商对比

技术负责人在 2024–2026 年的选型清单上通常同时看到:阿里云 ARMS、腾讯云 APM、华为云 AOM、观测云、DeepFlow、夜莺,以及 Grafana Cloud、Datadog 等国际方案的中国落地版。各家 demo 都能在五分钟内展示漂亮的拓扑图和一键根因——但落地后的绑定、计量口径、迁出成本、信创适配,只有在 POC 和合同条款里才会暴露。

本文不做”排行榜”,也不列会过期的厂商单价表。做法是对照本系列已对开源栈做过的深度分析(PrometheusLogsTracesOpenTelemetryProfiling网络可观测性),从架构、场景、锁定与 TCO 假设四方面给出决策材料。成本数字一律走 存储与成本 的显式假设模型;最终自建 vs 托管见 25 篇

中国可观测性市场格局

一、市场格局与技术路线

1.1 三条路线,不是三个档次

路线 代表 核心卖点 核心风险
云厂商托管 ARMS / 腾讯 APM / AOM 云产品联动、合规背书 跨云弱、格式锁定
创业 SaaS/私有化 观测云 / DeepFlow 专项体验、OTel 友好 生态规模、持续运营
开源自建/包装 夜莺 / LGTM 数据自主、深度定制 SRE 0.3–0.5 FTE
flowchart TB
  subgraph cloud [云厂商托管]
    ARMS[ARMS]
    APM[腾讯 APM]
    AOM[AOM]
  end
  subgraph startup [创业方案]
    G[观测云]
    DF[DeepFlow]
  end
  subgraph oss [开源/包装]
    N9e[夜莺]
    LGTM[LGTM 栈]
  end
  OTel[OTel Collector] --> cloud
  OTel --> startup
  OTel --> oss

1.2 与全球栈的关系

OpenTelemetry 成为事实标准后,中国方案的差异从”协议”转向”存储是否开放、查询是否可迁移、告警是否对接 SLO”。埋点哲学 中的基数与采样决策,对商业方案同样适用——厂商控制台里的”全量采集”默认值往往是账单陷阱。

1.3 读者应先读完的系列篇目

主题 篇目 用于对比什么
Metrics 06 Prometheus TSDB、联邦、HA
Logs 08 Logs 栈 ES vs Loki vs CH
Traces 10 Traces Jaeger/Tempo/采样
OTel 11 OpenTelemetry Collector、OTLP
Profile 12 / 16 持续剖析
网络 14 eBPF / 15 网络 DeepFlow 对照
治理 18 SLO / 19 告警 / 20 成本 Burn Rate、TCO

二、架构维度总表

方案 采集 存储 查询 OTel 开放格式
ARMS Java Agent 自研 TSDB 类 PromQL 部分
腾讯 APM Agent + SkyWalking Jaeger 系 控制台/Jaeger UI 部分
AOM ICAgent 自研 + OTel PromQL 兼容
观测云 DataKit SaaS 后端 GuanceQL
DeepFlow eBPF Agent ClickHouse SQL OTLP 兼容
夜莺 Prom scrape VM/Thanos PromQL 社区

读表方式:开放格式”强”指可双写 Prometheus block / Loki chunk / Tempo parquet;“弱”指主要依赖厂商 API 导出。


三、各方案深度拆解

阿里云 ARMS

Java Agent 字节码增强为核心;深度绑定阿里云 ECS/RDS/MSE。与 Profiling 场景重叠时评估 Agent 开销。 #### 产品定位

在可观测性栈的五层(采集、管道、存储、查询、告警)中承担哪些职责。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

采集架构

Agent 部署模式与 OpenTelemetry 集成点。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

存储与数据模型

对照 数据模型TSDB 内核

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

查询与 Dashboard

查询语言、权限模型、与 Grafana 的联动方式。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

告警与 SLO

SLO 工程告警体系 的衔接。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

成本计量

计费维度说明;单价用 存储与成本 假设模型代入。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

锁定与迁出

OTLP 导出、历史 API、双写 Collector fan-out

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

信创合规

等保、国产 CPU/OS——以官方文档为准,签约前 POC。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

适用边界

不适合的场景与常见误解。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

POC 清单

30 天验证必测项。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 阿里云 ARMS 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

腾讯云 APM

SkyWalking 内核 + TKE 联动。Trace 存储对照 Traces 栈 中 Jaeger/ES 路径。 #### 产品定位

在可观测性栈的五层(采集、管道、存储、查询、告警)中承担哪些职责。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

采集架构

Agent 部署模式与 OpenTelemetry 集成点。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

存储与数据模型

对照 数据模型TSDB 内核

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

查询与 Dashboard

查询语言、权限模型、与 Grafana 的联动方式。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

告警与 SLO

SLO 工程告警体系 的衔接。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

成本计量

计费维度说明;单价用 存储与成本 假设模型代入。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

锁定与迁出

OTLP 导出、历史 API、双写 Collector fan-out

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

信创合规

等保、国产 CPU/OS——以官方文档为准,签约前 POC。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

适用边界

不适合的场景与常见误解。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

POC 清单

30 天验证必测项。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 腾讯云 APM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

华为云 AOM

ICAgent 基于 OTel;多云与信创场景优先评估。告警联动 CES。 #### 产品定位

在可观测性栈的五层(采集、管道、存储、查询、告警)中承担哪些职责。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

采集架构

Agent 部署模式与 OpenTelemetry 集成点。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

存储与数据模型

对照 数据模型TSDB 内核

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

查询与 Dashboard

查询语言、权限模型、与 Grafana 的联动方式。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

告警与 SLO

SLO 工程告警体系 的衔接。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

成本计量

计费维度说明;单价用 存储与成本 假设模型代入。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

锁定与迁出

OTLP 导出、历史 API、双写 Collector fan-out

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

信创合规

等保、国产 CPU/OS——以官方文档为准,签约前 POC。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

适用边界

不适合的场景与常见误解。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

POC 清单

30 天验证必测项。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 华为云 AOM 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

观测云 Guance

DataKit 统一采集;Query Builder 降低查询门槛。适合多信号统一探索。 #### 产品定位

在可观测性栈的五层(采集、管道、存储、查询、告警)中承担哪些职责。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

采集架构

Agent 部署模式与 OpenTelemetry 集成点。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

存储与数据模型

对照 数据模型TSDB 内核

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

查询与 Dashboard

查询语言、权限模型、与 Grafana 的联动方式。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

告警与 SLO

SLO 工程告警体系 的衔接。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

成本计量

计费维度说明;单价用 存储与成本 假设模型代入。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

锁定与迁出

OTLP 导出、历史 API、双写 Collector fan-out

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

信创合规

等保、国产 CPU/OS——以官方文档为准,签约前 POC。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

适用边界

不适合的场景与常见误解。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

POC 清单

30 天验证必测项。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 观测云 Guance 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

DeepFlow

eBPF 零侵入;对照 eBPF 全景网络可观测性。 #### 产品定位

在可观测性栈的五层(采集、管道、存储、查询、告警)中承担哪些职责。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

采集架构

Agent 部署模式与 OpenTelemetry 集成点。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

存储与数据模型

对照 数据模型TSDB 内核

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

查询与 Dashboard

查询语言、权限模型、与 Grafana 的联动方式。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

告警与 SLO

SLO 工程告警体系 的衔接。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

成本计量

计费维度说明;单价用 存储与成本 假设模型代入。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

锁定与迁出

OTLP 导出、历史 API、双写 Collector fan-out

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

信创合规

等保、国产 CPU/OS——以官方文档为准,签约前 POC。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

适用边界

不适合的场景与常见误解。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

POC 清单

30 天验证必测项。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 DeepFlow 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

夜莺 Nightingale

Prometheus 上层封装;适合已有 Prometheus 生态升级告警与 OnCall。 #### 产品定位

在可观测性栈的五层(采集、管道、存储、查询、告警)中承担哪些职责。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

采集架构

Agent 部署模式与 OpenTelemetry 集成点。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

存储与数据模型

对照 数据模型TSDB 内核

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

查询与 Dashboard

查询语言、权限模型、与 Grafana 的联动方式。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

告警与 SLO

SLO 工程告警体系 的衔接。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

成本计量

计费维度说明;单价用 存储与成本 假设模型代入。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

锁定与迁出

OTLP 导出、历史 API、双写 Collector fan-out

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

信创合规

等保、国产 CPU/OS——以官方文档为准,签约前 POC。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

适用边界

不适合的场景与常见误解。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。

POC 清单

30 天验证必测项。

评估项 必问问题 通过标准
采集 是否 OTLP 入站? gRPC 4317 可用
存储 块格式是否开放? 可导出或双写
查询 大聚合限流? 合同写明
告警 Burn Rate? Page 仅 SLO 相关

将 夜莺 Nightingale 与 PrometheusLogs 栈Traces 栈 对照,避免只看控制台 demo。


四、采集层横向对比

4.1 字节码 Agent vs OTel SDK vs eBPF

方式 代表 优点 缺点
字节码 ARMS、腾讯 APM 零改代码、Java 覆盖好 语言绑定、双埋点风险
OTel SDK AOM、观测云、自建 标准、可迁移 需开发规范
eBPF DeepFlow 零侵入、网络强 内核版本、应用栈浅

Continuous Profiling 与 Agent 并存时,评估 CPU 开销总和。

4.2 Collector 中枢

无论选哪家,生产推荐 OpenTelemetry Collector 作为边界:

# 合成示例:fan-out 到商业后端 + 自建 Loki(双写 POC)
exporters:
  otlp/vendor:
    endpoint: vendor-collector.example.com:4317
    tls:
      insecure: false
  otlphttp/loki:
    endpoint: http://loki-gateway:3100/otlp
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch, tail_sampling]
      exporters: [otlp/vendor, otlphttp/loki]

详见 11-opentelemetry


五、存储与成本:假设模型(非报价表)

不列厂商单价。代入 20-storage-cost Scenario A/B:

\[TCO_{month} = C_{compute} + C_{storage} + C_{network} + C_{human} + C_{egress}\]

变量 自建占位 托管占位
\(C_{storage}\) 自填 $/GiB-month × 日增量 × retention 自填 $/GB-ingest × 日增量
\(C_{human}\) 0.3–0.5 FTE × 月薪 通常含在订阅
\(C_{egress}\) 对象存储 API + 跨 AZ 超额 + 迁出

相对结论:日志 > 1 TiB/day 或 Trace 全量采样时,托管曲线陡升——与 tco-comparison.svg(25 篇)一致。


六、场景化选型(非排名)

选型决策树
场景 优先考虑 次选 避免
全栈阿里云 Java ARMS 夜莺+自建 无必要的国际 SaaS
全栈腾讯云 腾讯 APM 夜莺 忽视 TKE 联动
多云混合 AOM / 观测云 LGTM 自建 单云锁定方案
网络/eBPF 优先 DeepFlow Hubble+自建 纯 APM Agent
已有 Prometheus 夜莺 Mimir 自建 推翻现有 scrape
强信创 AOM / 夜莺私有化 LGTM 信创 OS 未验证 Agent

七、数据锁定与迁移

7.1 锁定层次

  1. 采集锁定:专有 Agent 属性无法映射 OTLP。
  2. 存储锁定:非开放块格式。
  3. 查询锁定:专有 DSL 与 Dashboard 绑定。
  4. 告警锁定:无法导出 Alertmanager 规则。

7.2 迁移策略

sequenceDiagram
  participant App
  participant Col as OTel Collector
  participant Old as 旧厂商
  participant New as 新后端
  App->>Col: OTLP
  Col->>Old: 主写
  Col->>New: 双写 POC
  Note over Col,New: 30 天验证查询与账单
  Col->>New: 切主写

八、信创、等保与数据驻留

政企客户需独立验证:国产 CPU(鲲鹏、飞腾、海光)、OS(麒麟、统信、openEuler)、数据库。华为全栈信创叙事最强;夜莺开源可自行编译适配。签约前在目标 OS 内核上跑 eBPF/Agent POC,而非仅在 x86 Ubuntu 上 demo。


九、与 SLO/告警治理的衔接

商业方案须回答:18-slo 的 Burn Rate 能否用原生规则或 webhook 对接 19-alertingseverity: page?若只能 CPU 阈值 Page,治理层需补齐 Recording Rule 导出。

# 自建侧标准(对照商业方案是否等价)
slo:checkout:burnrate1h

十、工程坑点

坑点 1

现象:签合同前未确认默认保留期——上线后发现仅 7 天。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 2

现象:未做 Trace 数据量 POC——按数据量计费时账单超预期。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 3

现象:私有化部署内核版本不支持 eBPF——DeepFlow 功能降级。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 4

现象:以为 OTel 兼容等于可无缝迁出——专有 attribute 未映射。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 5

现象:多租户未配 hard limit——单租户打爆共享存储。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 6

现象:Java Agent 与 OTel SDK 双埋点——存储翻倍。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 7

现象:告警直接 Page CPU 阈值——与 SLO 脱节。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 8

现象:未测迁出 API 吞吐——PB 级导出需数月。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 9

现象:信创环境未 POC Agent——麒麟内核 BTF 缺失。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 10

现象:Dashboard 依赖厂商专有查询——锁定查询层。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 11

现象:采样率在控制台改错——0 与 0.01 混淆。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 12

现象:双写 Collector 单实例——下游慢拖垮全局。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 13

现象:未记录计量口径——账单争议无证据。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 14

现象:只用 demo 环境评估——与生产流量模型不符。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 15

现象:忽略跨 AZ 流量费——对象存储 egress 隐性成本。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 16

现象:Runbook 链到过期 Confluence——on-call 无效。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 17

现象:Game Day 未演练 Trace 采样上调——事故时无慢请求样本。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 18

现象:PII 未在采集层清洗——等保审计失败。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 19

现象:混沌实验未对照 SLO——告警盲区未发现。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。

坑点 20

现象:自建 Compaction 无告警——查询超时后才发现。

根因:选型或治理流程跳过 POC/合同/Runbook 环节。

修复:纳入落地清单;事故后写入 reliability backlog。


十一、落地清单

# 检查项 负责人 状态
1 是否列出数据出境/等保/信创硬约束? SRE/架构 待办
2 是否完成 OTLP 双写 30 天 POC? SRE/架构 待办
3 是否文档化计量口径(探针数/GB/Active Series)? SRE/架构 待办
4 是否测试历史数据迁出吞吐? SRE/架构 待办
5 是否对齐 SLO Burn Rate 告警路由? SRE/架构 待办
6 是否配置多租户 hard limit? SRE/架构 待办
7 是否统一 trace_id 贯穿 Logs/Traces? SRE/架构 待办
8 是否 Runbook 链到稳定 URL? SRE/架构 待办
9 是否 Game Day 演练主剧本? SRE/架构 待办
10 是否记录 TCO 假设(机器/人力/超额)? SRE/架构 待办
11 是否评估 LGTM 与托管曲线交叉点? SRE/架构 待办
12 是否审查高基数 label 治理? SRE/架构 待办
13 是否 Chaos 对照告警盲区? SRE/架构 待办
14 是否 PII 清洗在 Collector? SRE/架构 待办
15 是否 retention 与 SLO 窗口对齐? SRE/架构 待办

十二、常见误解

误解 事实
“OTel 兼容 = 随时迁出” 专有 attribute 与采样策略仍可能锁定
“云 APM 更省心” 计量与保留期合同条款决定真实 TCO
“eBPF 可替代全栈埋点” 应用业务字段仍需 SDK
“买一家就够” 网络/Profile/日志量超大时常需组合

十三、关键概念回顾


十四、下一步

厂商版图清楚后,用 事故复盘剧本 验证方案在真实排障链上是否够用;用 自建 vs 托管 做 TCO 决策。


上一篇混沌工程

下一篇事故复盘剧本

附录 · 选型深度 1:GreptimeDB 与夜莺组合

时序统一存储 + 夜莺告警 OnCall,对照 06 Prometheus 联邦路径。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 2:国际 SaaS 中国落地

Datadog/New Relic 通过代理与数据驻留合同;TCO 与 LGTM 对比见 25 篇

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 3:签约 POC 计量样例

要求厂商提供 7 天 ingest 明细:Metrics samples、Log GB、Trace span 数——代入 20-storage-cost worksheet。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 4:RFP 技术条款摘录

OTLP gRPC、Prometheus remote write、Loki chunk 导出、Tempo block 格式、Alertmanager webhook。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 5:多云联邦查询

观测云/AOM 跨云 agent 汇聚;自建侧 Thanos Query Frontend 对照。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 6:Agent 资源开销评估

Java Agent + eBPF Agent 并存时 CPU 上限;见 Profiling

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 7:Dashboard 迁移

Grafana JSON 导出 vs 厂商专有面板——锁定在查询层。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 8:事故后厂商切换

双写 30 天 + 并行 Dashboard 是底线;勿销毁旧环境直到迁出验证完成。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 9:等保测评中的日志

留存周期、访问审计、PII 清洗证据链——见 21-multi-tenancy

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 10:开源社区活跃度

夜莺/DeepFlow GitHub release 频率作为持续运营信号,非功能排名。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 11:GreptimeDB 与夜莺组合

时序统一存储 + 夜莺告警 OnCall,对照 06 Prometheus 联邦路径。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 12:国际 SaaS 中国落地

Datadog/New Relic 通过代理与数据驻留合同;TCO 与 LGTM 对比见 25 篇

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 13:签约 POC 计量样例

要求厂商提供 7 天 ingest 明细:Metrics samples、Log GB、Trace span 数——代入 20-storage-cost worksheet。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 14:RFP 技术条款摘录

OTLP gRPC、Prometheus remote write、Loki chunk 导出、Tempo block 格式、Alertmanager webhook。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 15:多云联邦查询

观测云/AOM 跨云 agent 汇聚;自建侧 Thanos Query Frontend 对照。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 16:Agent 资源开销评估

Java Agent + eBPF Agent 并存时 CPU 上限;见 Profiling

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 17:Dashboard 迁移

Grafana JSON 导出 vs 厂商专有面板——锁定在查询层。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 18:事故后厂商切换

双写 30 天 + 并行 Dashboard 是底线;勿销毁旧环境直到迁出验证完成。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 19:等保测评中的日志

留存周期、访问审计、PII 清洗证据链——见 21-multi-tenancy

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 20:开源社区活跃度

夜莺/DeepFlow GitHub release 频率作为持续运营信号,非功能排名。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 21:GreptimeDB 与夜莺组合

时序统一存储 + 夜莺告警 OnCall,对照 06 Prometheus 联邦路径。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 22:国际 SaaS 中国落地

Datadog/New Relic 通过代理与数据驻留合同;TCO 与 LGTM 对比见 25 篇

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 23:签约 POC 计量样例

要求厂商提供 7 天 ingest 明细:Metrics samples、Log GB、Trace span 数——代入 20-storage-cost worksheet。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 24:RFP 技术条款摘录

OTLP gRPC、Prometheus remote write、Loki chunk 导出、Tempo block 格式、Alertmanager webhook。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 25:多云联邦查询

观测云/AOM 跨云 agent 汇聚;自建侧 Thanos Query Frontend 对照。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 26:Agent 资源开销评估

Java Agent + eBPF Agent 并存时 CPU 上限;见 Profiling

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 27:Dashboard 迁移

Grafana JSON 导出 vs 厂商专有面板——锁定在查询层。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 28:事故后厂商切换

双写 30 天 + 并行 Dashboard 是底线;勿销毁旧环境直到迁出验证完成。

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

附录 · 选型深度 29:等保测评中的日志

留存周期、访问审计、PII 清洗证据链——见 21-multi-tenancy

POC 动作:在 staging 用 OTel Collector fan-out 双写 7 天,记录 ingest 曲线与查询 P95。

参考资料

  1. 阿里云, ARMS 产品文档, https://help.aliyun.com/product/34364.html
  2. 腾讯云, APM 产品文档, https://cloud.tencent.com/document/product/1463
  3. 华为云, AOM 产品文档, https://support.huaweicloud.com/aom/
  4. 观测云, Guance Documentation, https://docs.guance.com/
  5. DeepFlow, Documentation, https://deepflow.io/docs/
  6. 夜莺, Nightingale, https://n9e.github.io/
  7. OpenTelemetry, Specification, https://opentelemetry.io/docs/specs/otel/
  8. Google, Site Reliability Workbook, Ch.5, O’Reilly
  9. Grafana Labs, LGTM Stack, https://grafana.com/about/lgtm/
  10. 本系列 存储与成本

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-04-22 · architecture / observability

可观测性工程

从 Metrics、Logs、Traces 到 Profiling、eBPF、OpenTelemetry 与 SLO 治理,面向中国工程团队的可观测性系统化手册。全 25 篇。


By .