Datadog RUM logo

Datadog RUM

Datadog 企业级真实用户监控(Real User Monitoring)产品,将前端体验数据与基础设施、APM、日志统一在同一可观测平台。

精选工具错误监控RUM性能监控企业级

Datadog RUM 采集页面加载、Core Web Vitals、用户操作、JavaScript 错误、资源请求与 Session Replay,并与 Datadog APM、Logs、Synthetics 在同一控制台关联分析,实现前后端一体化观测。

Datadog RUM

Datadog 企业级真实用户监控(Real User Monitoring)产品,将前端体验数据与基础设施、APM、日志统一在同一可观测平台。

技术简介说明

Datadog RUM 是 Datadog 可观测套件中的前端真实用户监控模块,采集页面加载、Core Web Vitals、用户操作、JavaScript 错误、资源请求与 Session Replay,并与 Datadog APM、Logs、Synthetics 在同一控制台关联分析。

对企业团队而言,Datadog RUM 的最大价值是统一观测平面:当用户反馈「结账很慢」时,你可以在一条时间线上同时查看浏览器 RUM 事件、后端 trace、数据库慢查询与相关日志,而不必在 Sentry、Grafana、ELK 之间切换。它特别适合已使用 Datadog 监控服务器与微服务的组织做前后端一体化扩容。

基本信息

快速上手

安装

npm install @datadog/browser-rum @datadog/browser-logs

最小示例

import { datadogRum } from '@datadog/browser-rum'
 
datadogRum.init({
  applicationId: 'YOUR_APP_ID',
  clientToken: 'YOUR_CLIENT_TOKEN',
  site: 'datadoghq.com', // 或 datadoghq.eu 等区域
  service: 'my-frontend',
  env: 'production',
  version: '1.0.0',
  sessionSampleRate: 100,
  sessionReplaySampleRate: 20,
  trackUserInteractions: true,
  trackResources: true,
  trackLongTasks: true,
  defaultPrivacyLevel: 'mask-user-input',
})
 
datadogRum.startSessionReplayRecording()

用户与自定义操作

datadogRum.setUser({ id: '123', name: 'Jane' })
 
datadogRum.addAction('checkout_completed', {
  cartValue: 99.9,
  itemCount: 3,
})

与后端 Trace 关联

确保后端 Datadog APM 启用 trace 注入,RUM 会自动关联 trace_id,在 RUM 会话中跳转 APM 瀑布图。

核心特性

  • Core Web Vitals:LCP、INP、CLS 等与 web-vitals 对齐的指标采集。
  • Session Replay:用户会话录像,支持隐私 mask 级别配置。
  • 错误跟踪:JS 异常、网络错误、控制台 error 聚合。
  • 用户操作追踪:点击、路由变化(SPA)自动或手动 addAction
  • 资源性能:静态资源、XHR/fetch 耗时与状态码。
  • 与 APM 关联:前后端分布式 trace 串联。
  • Synthetics 互补:合成监控 + 真实用户数据对比。
  • 移动端 RUM:原生 iOS/Android/Hybrid 同一平台。

适用场景

  • 企业已全面使用 Datadog 监控基础设施与微服务。
  • 需要 RUM、APM、Logs、Metrics 统一告警与仪表板。
  • 多区域部署(EU/US)需合规数据驻留配置。
  • 大型电商/SaaS 需要按版本、地域、设备分析 CWV 回归。
  • 安全与采购要求单一供应商可观测栈。

技术亮点

  • 全栈关联:RUM View → Backend Trace 一键钻取,排障路径短。
  • 丰富开箱仪表板:CWV、漏斗、地理分布、版本对比模板。
  • Session Replay 与 RUM 事件同步:在回放时间轴定位慢资源与错误。
  • 灵活采样sessionSampleRatesessionReplaySampleRate 独立控制成本。
  • 多 site 支持datadoghq.comdatadoghq.eu 等满足数据主权。

核心概念与架构

@datadog/browser-rum SDK
      ↓
 RUM Events(view, action, error, resource, long_task)
      ↓
 Datadog Intake(按 site 区域)
      ↓
 RUM Explorer / Dashboards / Monitors
      ↕ 关联
 APM Traces / Logs / Metrics

核心概念

  • Application ID:RUM 应用标识(与 APM service 可同名便于关联)。
  • Client Token:浏览器端公开 token(非 API Key)。
  • View:一次页面访问或 SPA 路由变化。
  • Session:用户会话,含采样与 Replay 配置。
  • Privacy Levelallowmaskmask-user-input 控制 Replay 脱敏。

技术局限与边界

  • 定价偏高:企业级按 RUM 会话量计费,小团队成本显著。
  • 接入复杂度:与全栈 Datadog 生态绑定,轻量项目配置偏重。
  • 国内直连:需评估网络与数据合规,可能需要代理或专用 region。
  • SDK 体积:功能完整时比极简 RUM 方案更大。
  • 非错误监控专长:纯前端错误聚合体验不如 Sentry 专注型产品细腻。

生态地图

  • 浏览器 RUM@datadog/browser-rum
  • 浏览器日志@datadog/browser-logs
  • 移动端:iOS/Android RUM SDK
  • 后端:Datadog APM(trace 关联)
  • 合成:Datadog Synthetics
  • 对比:Sentry、New Relic Browser、Elastic RUM、Grafana Faro

生态集成

  • React / Next.js:在 _appinstrumentation 初始化;注意 SSR 仅客户端 init。
  • OpenTelemetry:后端 OTel → Datadog Agent 与 RUM trace 关联。
  • CI:部署时更新 version 标签,便于 RUM 按 release 过滤。
  • Slack/PagerDuty:RUM Monitor 对 CWV 阈值或错误率告警。
  • web-vitals:Datadog 内置 CWV,通常无需重复上报 web-vitals 库。

开发与工程化

  • 分环境 applicationenv: staging | production 过滤噪音。
  • 版本标签对齐:与 Git tag / Docker 镜像版本一致。
  • Replay 采样独立:生产可 100% session 指标 + 10% Replay 控费。
  • 自定义 Action 命名规范domain_action 便于漏斗分析。
  • 避免重复 init:SPA 热更新与 Strict Mode 下防止双实例。

性能与安全

  • 性能:异步批量上报;trackLongTasks 有助发现主线程阻塞,略有采集开销。
  • 安全clientToken 可公开但应限制 RUM 应用范围;defaultPrivacyLevel 保护 Replay。
  • 合规:选用正确 site;签署 DPA;欧盟用户注意 GDPR。
  • PIIsetUser 勿传邮箱明文至不允许的环境,可用哈希 ID。

技术对比

维度Datadog RUMSentryNew Relic Browser
全栈统一极强
前端专注度
Replay有限
定价企业级中等企业级
适合已用 Datadog 企业错误+性能一体NR 存量客户

最佳实践

  1. 已用 Datadog APM 时优先开启 RUM trace 关联,发挥平台最大价值。
  2. CWV 监控设 SLO:对 LCP/INP 设 Monitor,发布前对比版本。
  3. Replay 隐私默认 mask-user-input,金融类升级 mask
  4. service + version 维度切片,快速定位回归发布。
  5. Session 采样与 Replay 采样分离,平衡成本与排障能力。
  6. 自定义 Action 覆盖关键漏斗,不仅依赖自动点击采集。

学习与社区资源