Cloudflare Workers 支持将符合 OpenTelemetry (OTel) 标准的遥测数据导出到任何具有可用 OTel 端点的目标,让您与现有监控和可观测性栈集成。
您可以导出以下类型的遥测数据:
- Traces(跟踪) — 显示请求在 Worker 及关联服务中流转的追踪
- Logs(日志) — 应用程序日志,包括
console.log()输出和系统生成的日志
注意:尚不支持导出 Worker 指标和自定义指标。
以下是常用可观测性提供商的 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 |
要向目标发送数据,您需要在 Cloudflare 仪表板中创建目标。
- 前往账户的 Workers Observability ↗ 部分
- 点击添加目标。
- 配置目标:
- Destination Name(目标名称) — 描述性名称(例如 "Grafana-tracing"、"Honeycomb-Logs")
- Destination Type(目标类型) — 选择 "Traces" 或 "Logs"
- OTLP Endpoint(OTLP 端点) — 可观测性平台接受 OTLP 数据的 URL。
- Custom Headers(自定义标头,可选)— 任何身份验证标头或其他提供商要求的标头
- 保存目标
在仪表板中设置目标后,通过更新 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 目标表格。