跳转到内容
搜索文档

导出 OpenTelemetry 数据

最后更新 查看 MarkdownAgent 设置

Cloudflare Workers 支持将符合 OpenTelemetry (OTel) 标准的遥测数据导出到任何具有可用 OTel 端点的目标,让您与现有监控和可观测性栈集成。

支持的遥测类型

您可以导出以下类型的遥测数据:

  • Traces(跟踪) — 显示请求在 Worker 及关联服务中流转的追踪
  • Logs(日志) — 应用程序日志,包括 console.log() 输出和系统生成的日志

注意:尚不支持导出 Worker 指标和自定义指标。

可用的 OpenTelemetry 目标

以下是常用可观测性提供商的 OTLP 端点格式。具体细节和身份验证要求请参阅各提供商文档。

提供商 Traces 端点 Logs 端点
Honeycomb https://api.honeycomb.io/v1/traces https://api.honeycomb.io/v1/logs
Grafana Cloud https://otlp-gateway-{region}.grafana.net/otlp/v1/traces https://otlp-gateway-{region}.grafana.net/otlp/v1/logs[^1]
Firetiger https://ingest.cloud.firetiger.com/v1/traces https://ingest.cloud.firetiger.com/v1/logs
Axiom https://api.axiom.co/v1/traces https://api.axiom.co/v1/logs
Sentry https://{HOST}/api/{PROJECT_ID}/integration/otlp/v1/traces https://{HOST}/api/{PROJECT_ID}/integration/otlp/v1/logs
PostHog 不支持 https://{REGION}.i.posthog.com/i/v1/logs
Datadog 即将推出,等待 Datadog 发布 https://otlp.{SITE}.datadoghq.com/v1/logs
New Relic https://otlp.nr-data.net/v1/traces https://otlp.nr-data.net/v1/logs
Splunk Observability https://ingest.{REALM}.signalfx.com/v2/trace/otlp N/A
Splunk Platform http://splunk.internal:4318/v1/traces http://splunk.internal:4318/v1/logs

设置兼容 OpenTelemetry 的目标

要向目标发送数据,您需要在 Cloudflare 仪表板中创建目标。

创建目标

可观测性目标仪表板,显示 Grafana 和 Honeycomb 的已配置目标及其端点和状态
  1. 前往账户的 Workers Observability 部分
  2. 点击添加目标。
  3. 配置目标:
    • Destination Name(目标名称) — 描述性名称(例如 "Grafana-tracing"、"Honeycomb-Logs")
    • Destination Type(目标类型) — 选择 "Traces" 或 "Logs"
    • OTLP Endpoint(OTLP 端点) — 可观测性平台接受 OTLP 数据的 URL。
    • Custom Headers(自定义标头,可选)— 任何身份验证标头或其他提供商要求的标头
  4. 保存目标
编辑目标对话框,显示 Honeycomb 追踪配置,包括目标名称、类型选择、OTLP 端点和自定义标头

为 Worker 启用 OpenTelemetry 导出

在仪表板中设置目标后,通过更新 Wrangler 配置来配置 Worker 导出遥测数据。配置文件中的目标名称应与仪表板中配置的目标名称相同。

{
	"observability": {
		"traces": {
			"enabled": true,
			"destinations": ["tracing-destination-name"],

			// traces sample rate of 5%
			"head_sampling_rate": 0.05,

			// (optional) set to false to only export traces to your
			// destination without persisting them in the Cloudflare dashboard
			"persist": false
		},
		"logs": {
			"enabled": true,
			"destinations": ["logs-destination-name"],
			// logs sample rate of 60%
			"head_sampling_rate": 0.6,

			// (optional) set to false to only export logs to your
			// destination without persisting them in the Cloudflare dashboard
			"persist": false
		}
	}
}
[observability.traces]
enabled = true
destinations = [ "tracing-destination-name" ]
head_sampling_rate = 0.05
persist = false

[observability.logs]
enabled = true
destinations = [ "logs-destination-name" ]
head_sampling_rate = 0.6
persist = false

配置 Wrangler 配置文件后,重新部署 Worker 以使新配置生效。请注意,事件到达目标可能需要几分钟。

目标状态

创建目标后,您可以在 Cloudflare 仪表板中监控其健康状态和投递状态。每个目标显示一个状态指示器,显示最近一次成功投递数据的时间。

状态指示器

状态 说明 故障排查
Last: n minutes ago 数据最近已成功投递。
Never run 尚未向此目标投递任何数据。 •检查 Worker 是否正在接收流量
• 查看采样率(低采样率产生的数据较少)
Error 尝试向此目标投递数据时发生错误。 • 验证 OTLP 端点 URL 是否正确
• 检查身份验证标头是否有效

限制和定价

在早期 Beta 期间,OTel 数据导出对当前订阅 Workers Paid 或更高计划的用户免费。然而,自 2026 年 3 月 1 日 起,追踪将作为 Workers Paid 计划或合同用量的一部分计费。

包括以下限制和定价:

计划 Traces Logs 定价
Workers Free 不可用 不可用 -
Workers Paid 每月包含 1000 万事件 每月包含 1000 万事件 每额外 100 万事件 $0.05

已知限制

OpenTelemetry 数据导出目前处于 Beta 阶段。请注意以下限制:

  • 尚不支持指标导出:目前无法通过 OpenTelemetry 导出 Worker 基础设施指标和自定义指标。我们正在积极添加指标支持。
  • 部分提供商的 OTLP 支持有限:一些可观测性提供商仍在逐步推出 OTLP 端点支持。当前可用性请参阅上方可用的 OpenTelemetry 目标表格。

这篇文档对您有帮助吗?