Detect and send production issues straight to your agent
TL;DR · AI 摘要
Detect and send production issues straight to your agent Cloudflare Blog post Developer Platform Observability Beta Birt...
核心要点
- 主题聚焦:Detect and send production issues straight to yo
- 来源:The Cloudflare Blog,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
检测并直接将生产环境问题发送给您的代理 | Cloudflare 博客
post
开发者平台
可观测性
测试版
生日周
Cloudflare Workers
2026年9月30日
检测并直接将生产环境问题发送给您的代理
Thomas Ankcorn , Maksym Makuch , 和 Nevi Shah
5分钟阅读
复制链接
随着代理帮助我们构建更复杂的应用程序,人类和代理都需要更好的方式来掌握生产环境中出现的问题。目前,编码代理已经能够查询可观测性数据、导航代码库、修改代码、编写测试并打开拉取请求。仍然需要人工处理的是将这些步骤连接起来:识别重复故障是否源于同一漏洞、收集相关日志和追踪信息、将上下文发送给代理,并验证修复是否有效。如果没有这种结构化的交接,代理必须在调查之前从原始遥测数据中重建故障的范围和上下文。
今天,我们推出 Issues——Cloudflare Workers 的内置错误监控功能(现处于开放测试版!),以简化这一工作流程。Issues 可以:
- 将重复的异常、5xx 响应和错误日志归类为一个问题。
- 将错误、堆栈跟踪、日志、追踪和 Worker 版本发送到配置的编码代理。
- 触发代理配置的工作流——从问题分类到查询更多数据再到打开拉取请求。
使用以下提示通过 CF CLI 为您的代理设置第一个问题,或查看文档开始使用:
复制提示:为 cf 设置 提示已复制!
自动捕获故障
只需一行配置,您就可以开始接收在 Worker 上检测到的 Issues,无需额外的仪器化。Issues 是 Workers 运行时的内置功能,因此无需安装 SDK 或添加应用程序包装器。
启用后,Issues 会记录未捕获的异常、失败的调用、HTTP 5xx 响应、console.log() 和 console.error() 的输出,以及包含堆栈跟踪的日志。它还会标记失控的警报条件和在循环中生成大量日志的代码。
考虑一个 Worker,其处理程序在部署后开始抛出错误。每个失败的请求都有不同的请求 ID,但它们都来自同一个漏洞。Issues 会将它们归类在一起,并显示错误首次出现的时间、发生次数以及是否变得更加频繁。
当您打开一个问题时,可以看到错误、可用的堆栈跟踪、导致错误的日志和追踪、Worker 版本、请求详细信息以及问题随时间推移的趋势,如下所示:
为您的代理提供上下文的错误信息
Cloudflare 可以捕获 Worker 内部发生的情况,但它不知道哪些用户、账户或会话对您的应用至关重要。使用 Worker 运行时内置的 OpenTelemetry API 添加这些标识符,无需安装其他包:
import
{ tracing }
from
"cloudflare:workers"
;
export
default
{
async
fetch
(
request
:
Request
)
:
Promise
<
Response
> {
const
{
userId
,
accountId
,
sessionId
}
=
await
getAuthDetails
(request);
const
span
=
tracing.
getActiveSpan
();
span?.
setAttribute
(
"user.id"
, userId);
span?.
setAttribute
(
"account.id"
, accountId);
span?.
setAttribute
(
"session.id"
, sessionId);
return
handleRequest
(request);
},
}
satisfies
ExportedHandler
;这些标识符会随着每次出现而显示。在此版本中,您现在可以在将问题发送给代理之前,查看失败是否集中在某个账户或会话中。
将检测到的问题发送给您的代理
问题不再需要停留在仪表板上,等待某人复制堆栈跟踪并粘贴到提示中。只需配置一次自动化,当问题达到出现次数阈值或在静默期后再次出现时,Issues会通过自动化功能直接将其发送给您的代理。您可以选择自动化何时运行以及问题应该发送到哪里。
这可以通过以下方式实现:
- 内置的代码代理:通过常规ID和令牌连接 Claude Code,通过自动化 webhook URL 连接 Cursor,或通过 API 令牌和组织ID连接 Devin。
- 通用 webhook:将问题上下文发送到您自己的代理或 HTTPS 端点。
- 聊天和事件管理:通过聊天或轮班工作流程通知您的团队。
当自动化运行时,Issues会将失败摘要和与问题一起捕获的诊断上下文发送给代理——包括异常、错误、源映射堆栈跟踪、前后日志和追踪、Worker版本以及您添加的应用程序上下文。为了更深入的调查,您可以将代理单独连接到 Cloudflare MCP,让代理查询相关日志和追踪,从而提出代码修改建议、测试更改并打开拉取请求。
您仍然可以控制哪些内容进入生产环境:审查拉取请求、部署修复并标记问题已解决。
Issues如何在一天内发现并解决两个Workflows错误
Cloudflare Workflows 是一个用于构建长期运行、多步骤应用程序的原语,完全基于Workers平台构建。
在幕后,其服务会跟踪步骤、重试和保存的状态。这使得Workflows成为在我们自己的生产系统上测试Issues的理想场所。在启用后的一天内,团队在大量流量中发现了两个隐藏的异常问题。
- 卡在重试循环中的迁移:当Workflows控制平面迁移在特定边缘情况下尝试应用迁移时,反复遇到SQLite外键错误。Issues使Workflows团队能够识别问题并进行修复。
- 从未完成的删除过程:Workflows发现,在删除Workflows实例时,存在一种边缘情况可能导致超出Workers子请求限制并无法完成删除。Issues帮助Workflows团队识别问题并进行了修复。
而不是让团队连接数千个独立的遥测和用户报告片段,他们的自动化设置直接将这些问题发送到Cloudflare OS,后者追踪错误进入Workflows代码并为这两个问题提出了修复方案。
入门指南
准备好查看Issues在您的应用中发现的内容了吗?要开始使用:
- 在 wrangler.jsonc 文件中将 observability.issues.enabled 设置为 true
- 在Cloudflare仪表板中设置您的第一个自动化,将问题发送到您选择的目的地,无论是代理、webhook、事件管理工具还是聊天平台。
如果您的代理负责处理设置,它还可以使用新的 cf CLI 工具检查问题并创建自动化。了解更多请查看我们的文档!
目录列
讨论列
相关标签和社会媒体链接
相关标签
关注社交媒体
- Cloudflare
- Thomas Ankcorn
- Maksym Makuch
- Nevi Shah
电子邮件订阅