首页/新闻资讯/正文详情

Vercel CLI 告警规则:`vc alerts rules schema` 与内置/自定义告警规则创建实战指南

发布时间:2026/9/21 3:40:02 来源:云帆数科 栏目:资讯中心
Vercel CLI 告警规则:`vc alerts rules schema` 与内置/自定义告警规则创建实战指南
CLI后端云原生【免费下载链接】vercelDevelop. Preview. Ship.项目地址https://gitcode.com/gh_mirrors/ve/vercel点击查看免费下载导读本文基于 Vercel CLI本仓库packages/cli中新增的alerts rules schema命令及其配套的规则创建示例系统讲解如何通过 CLI 以 JSON body 的形式创建、查询、更新和删除告警通知规则Alert Rules。你将掌握三种规则类型usage_anomaly、error_anomaly、custom_alert的完整字段定义与可复制示例、--project与--all作用域语义以及自定义告警查询queryJsonString从指标发现到 JSON 转义的完整链路实现与 Vercel 控制台Dashboard对齐的告警管理能力。一、背景本次变更带来了什么本次变更见 .changeset/alert-rules-schema-help.md为vercelCLI 增加了alerts rules schema子命令并补充了内置规则与自定义告警规则的创建示例。其核心改进有三点新增schema子命令开发者无需翻阅文档即可在终端查看告警规则 body 的字段定义与示例显式--project作为内置规则的目标创建内置规则时通过--project name-or-id明确指定目标项目避免依赖隐式上下文完整自定义告警项目元数据创建自定义告警规则时自动补齐scope中的projectId/projectName等项目元数据确保规则创建后可以直接在 Dashboard 中编辑。这些改动落在packages/cli/src/commands/alerts/rules/目录下与已有的ls、add、inspect、update、rm子命令共同构成一套完整的告警规则命令行管理能力源码中的rulesAggregateCommand将其描述为Create, list, update, or delete alert notification rules (dashboard parity)见 command.ts。二、alerts rules命令族速览在深入schema之前先整体认识vc alerts rules的六个子命令定义见 command.ts子命令别名作用示例lslist列出当前作用域下的告警规则可按类型过滤vc alerts rules ls --type custom_alertschema—按告警类型展示规则 body schema 与示例vc alerts rules schema --type error_anomalyaddcreate从 JSON body 文件创建规则vc alerts rules add --body ./rule.jsoninspectget按ruleId查看单条规则vc alerts rules inspect ar_abc123updatepatch从 JSON body 文件局部更新规则vc alerts rules update ar_abc123 --body ./patch.jsonrmremove、delete删除规则vc alerts rules rm ar_abc123 --yes所有子命令都共享两个作用域选项--project name-or-id简写-p指定项目作用域覆盖当前链接项目需要团队上下文--all简写-a仅操作团队级规则省略项目过滤忽略链接项目。从源码可以确认--all与--project是互斥的parseRulesFlagsAndScope会调用validateAllProjectMutualExclusivity做校验同时传入两个参数会报参数错误见 parse-scope.ts。三、vc alerts rules schema命令详解3.1 列出支持的规则类型不带任何参数运行vc alerts rules schema会以表格形式输出三种受支持的规则类型源码见 schema.tsTypeDescriptionusage_anomalyBuilt-in usage anomaly alerts内置用量异常告警error_anomalyBuilt-in error anomaly alerts内置错误异常告警custom_alertCustom Observability metric alerts自定义可观测性指标告警并提示运行vc alerts rules schema --type type查看具体规则 body schema。3.2 查看某一类型的完整 schemavc alerts rules schema --type custom_alert--type参数接受usage_anomaly、error_anomaly、custom_alert三者之一。从源码看参数会经过normalizeRuleType归一化处理会trim()、转小写并将连字符/空白替换为下划线如custom-alert或custom alert都会被识别为custom_alert见 schema.ts传入非法类型时则返回INVALID_ARGUMENTS错误并提示可用的三种类型。CLI 文本输出结构为字段表Fields→alertTypes[].filter允许值 → 自定义告警字段表 →queryJsonString字段表 → 转义前的查询 JSON 示例 → 完整 body 示例。3.3 JSON 输出模式对脚本/自动化场景可以追加--format json对应源码中的formatOptionvc alerts rules schema --type custom_alert --format json此时整个 schema 对象含type、description、fields、examples等以 JSON 形式输出到 stdout见 schema.ts便于被 jq 等工具进一步处理。四、内置规则 schemausage_anomaly 与 error_anomaly4.1 公共字段两类内置规则共享BUILT_IN_COMMON_FIELDS见 schema.tsFieldRequiredType说明nameyesstring规则名称alertTypesyesarray一个或多个告警类型配置projectIdnostringOData 项目过滤表达式省略则作用于团队级autosubscribeOwnersInKnocknoboolean是否自动订阅项目所有者4.2usage_anomaly用量异常除公共字段外alertTypes[].type固定为usage_anomaly必填alertTypes[].filter为可选的 OData 过滤表达式。filter支持的指标metric字段取值为fluid_cpu_duration, fluid_duration, fast_data_transfer, edge_requests, function_invocations最小示例团队级监控所有用量指标{ name: Usage anomalies, alertTypes: [{ type: usage_anomaly }] }过滤到单一指标的项目级示例{ name: Edge request anomalies, projectId: projectId eq prj_123, alertTypes: [{ type: usage_anomaly, filter: metric eq edge_requests }] }4.3error_anomaly错误异常结构同usage_anomalyalertTypes[].type固定为error_anomaly。filter的典型维度与取值示例FieldAllowed values / examplesstatusGroup4xx,5xxrouteroute eq /api/checkout,contains(route, /api)最小示例{ name: Error anomalies, alertTypes: [{ type: error_anomaly }] }按 5xx 状态组与路由过滤{ name: Checkout 5xx errors, projectId: projectId eq prj_123, alertTypes: [ { type: error_anomaly, filter: statusGroup eq 5xx and route eq /api/checkout } ] }五、自定义告警规则 schemacustom_alert5.1 公共字段custom_alert使用CUSTOM_ALERT_COMMON_FIELDS见 schema.ts其中projectId是可选的默认取--project或当前链接项目FieldRequiredType说明nameyesstring规则名称projectIdnostring默认为--project或链接项目alertTypesyesarray一个或多个告警类型配置type为custom_alertcustomAlertyesobject自定义告警定义autosubscribeOwnersInKnocknoboolean自动订阅项目所有者5.2customAlert字段FieldRequiredType说明customAlert.queryJsonStringyesstring转义后的查询 JSON 字符串customAlert.triggerTypeyesstringthreshold阈值或anomaly异常检测customAlert.triggerOperatoryesstringgt,gte,lt,ltecustomAlert.triggerThresholdyesnumber阈值或 z-scorecustomAlert.minThresholdnonumber最小观测值customAlert.formulanoobject比率公式left/right 引用 rollup 键5.3queryJsonString内部字段queryJsonString本质是查询引擎query-engine查询 JSON 的转义字符串其字段为FieldRequiredType说明scopenoobject项目作用域eventyesstring告警查询事件名例如incomingRequestrollupsyesobject具名度量聚合rollups.*.measureyesstring度量指标rollups.*.aggregationyesstring聚合方式rollups.*.filternostringrollup 级 OData 过滤groupBynoarray最多一个维度filternostring顶层 OData 过滤granularitynoobject5m、1h或1d默认5m例如一个按route分组的 5 分钟请求量查询转义前源码 schema.ts{ event: incomingRequest, rollups: { requests: { measure: count, aggregation: sum } }, groupBy: [route], granularity: { minutes: 5 } }以及一个计算错误率的比率查询numerator/denominator两个 rollup 键配合formula使用见 schema.ts{ event: incomingRequest, rollups: { numerator: { measure: count, aggregation: sum, filter: httpStatus ge 500 }, denominator: { measure: count, aggregation: sum } }, granularity: { hours: 1 } }5.4 自定义告警示例异常检测Anomaly{ name: Request volume anomaly, alertTypes: [{ type: custom_alert }], customAlert: { queryJsonString: {\event\:\incomingRequest\,\rollups\:{\requests\:{\measure\:\count\,\aggregation\:\sum\}},\groupBy\:[\route\],\granularity\:{\minutes\:5}}, triggerType: anomaly, triggerOperator: gt, triggerThreshold: 3 } }阈值 比率Threshold ratio{ name: Checkout error rate, alertTypes: [{ type: custom_alert }], customAlert: { queryJsonString: {\event\:\incomingRequest\,\rollups\:{\numerator\:{\measure\:\count\,\aggregation\:\sum\,\filter\:\httpStatus ge 500\},\denominator\:{\measure\:\count\,\aggregation\:\sum\}},\granularity\:{\hours\:1}}, triggerType: threshold, triggerOperator: gt, triggerThreshold: 0.05, formula: { operator: divide, left: numerator, right: denominator }, minThreshold: 20 } }注意queryJsonString必须是转义后的 JSON 字符串。实际编写时可将上述未转义 JSON 用JSON.stringify处理后嵌入源码示例正是这样生成的见 schema.ts。5.5 自定义告警指标发现schema命令的 help 部分提供了指标发现指引见 schema-help.ts运行vc metrics schema metric-or-prefix可以发现可用指标、聚合与维度指标 ID 使用vercel.命名空间如vercel.request.count自定义告警查询使用 query-engine 的 event/measure 名称而非公开指标 ID映射关系如下公开指标 IDeventmeasurevercel.request.countincomingRequestcountvercel.function_invocation.countserverlessFunctionInvocationcountvercel.external_api_request.countoutgoingRequestcountvercel.sandbox.cpu_total_time_mssandboxUsagecpuTotalTimeMs六、规则创建实战vc alerts rules add6.1 完整的内置规则示例以下示例直接来自 CLI 帮助文本见 add-help.ts。显式指定项目的内置用量异常规则注意--project用法与projectId使用in运算符{ name: Production usage anomalies, alertTypes: [{ type: usage_anomaly }], projectId: projectId in (prj_123), autosubscribeOwnersInKnock: true }内置 4xx 错误异常规则{ name: Production 4xx error anomalies, alertTypes: [{ type: error_anomaly, filter: statusGroup eq 4xx }], projectId: projectId in (prj_123) }6.2 自定义阈值规则与异常规则自定义阈值规则错误率 5%基于比率公式{ name: Checkout error rate, alertTypes: [{ type: custom_alert }], customAlert: { queryJsonString: {\event\:\incomingRequest\,\rollups\:{\errors\:{\measure\:\count\,\aggregation\:\sum\,\filter\:\httpStatus ge 500\},\requests\:{\measure\:\count\,\aggregation\:\sum\}},\granularity\:{\hours\:1}}, triggerType: threshold, triggerOperator: gt, triggerThreshold: 0.05, formula: { operator: divide, left: errors, right: requests }, minThreshold: 20 } }自定义异常规则请求量 z-score 3{ name: Edge request volume anomaly, alertTypes: [{ type: custom_alert }], customAlert: { queryJsonString: {\event\:\incomingRequest\,\rollups\:{\requests\:{\measure\:\count\,\aggregation\:\sum\}},\groupBy\:[\route\],\granularity\:{\minutes\:5}}, triggerType: anomaly, triggerOperator: gt, triggerThreshold: 3 } }6.3 执行创建命令将上述任一 body 保存为 JSON 文件如rule.json替换占位符后运行vc alerts rules add --body ./rule.json也可以显式指定目标项目vc alerts rules add --project my-app --body ./rule.json从源码add.ts可以确认整个创建流程解析参数并校验--body必填解析作用域--project/--all互斥校验读取并JSON.parsebody 文件文件不存在或 JSON 非法会给出明确错误若 body 是自定义告警规则会解析customAlert.queryJsonString校验其合法性非法 JSON 会提示Provide queryJsonString as an escaped JSON string见 custom-alert-query.ts自动删除id与teamId——这两个字段由 API 分配不应手动传入POST 到/alerts/v2/alert-rules?teamId...projectId...路径构造见 util.ts。6.4 自定义告警项目元数据的自动补齐这是本次变更的亮点之一。对于自定义告警规则若 body 中未提供projectIdCLI 会将其默认到--project或链接项目见 add.ts并进一步通过setMissingCustomAlertProjectScope向queryJsonString内的scope注入完整的项目元数据{ type: project, ownerId: teamId, projectIds: [projectId], projectId: projectId, projectName: projectName }其中projectName通过resolveCustomAlertProjectName按项目名或 ID 解析获得见 custom-alert-query.ts。补齐这些元数据后规则在 Vercel Dashboard 中可以直接展示和编辑不会出现项目信息缺失的问题。6.5 查看、更新与删除创建完成后用以下命令管理规则命令定义见 command.ts# 列出当前项目的规则 vc alerts rules ls # 列出团队级规则 vc alerts rules ls --all # 按类型过滤 vc alerts rules ls --type custom_alert # JSON 输出便于脚本处理 vc alerts rules ls --json # 查看单条规则 vc alerts rules inspect ar_abc123 # 局部更新省略的字段保持不变null 清除可选的受支持字段 vc alerts rules update ar_abc123 --body ./patch.json # 删除--yes 跳过确认 vc alerts rules rm ar_abc123 --yes七、底层实现与错误处理7.1 API 端点规则相关的 API 路径统一由 util.ts 构造集合路径GET/POST /alerts/v2/alert-rules?teamIdidprojectIdid单项路径GET/PATCH/DELETE /alerts/v2/alert-rules/ruleId?teamIdid。projectId查询参数仅在项目作用域下追加团队级--all规则省略该参数。7.2 常见错误与排查建议handleRulesApiError见 util.ts对不同的 HTTP 状态码给出了针对性提示401 / 403当前身份无权管理该作用域的告警规则。建议确认角色是否具备管理 Alert Rules 的权限必要时通过--token与--scope指定身份可用vc whoami确认当前用户与团队若规则属于其他团队则使用--scope team-slug5xx告警规则端点服务异常可加--debug重跑并附带失败请求的x-vercel-id反馈排查404规则不存在对应NOT_FOUND原因码429触发限流rate_limited其他透出serverMessage。此外--body文件不可读、JSON 非法、--project缺少参数等场景均有专门的错误提示见emitRulesArgParseError交互模式下会输出到 stderr非交互模式则输出 JSON 到 stdout 并返回退出码 1便于 CI 集成。八、最佳实践小结先 schema 后编写创建规则前先运行vc alerts rules schema --type type文本或--format json获取当前版本支持的字段与示例避免手写过时结构内置规则显式指定项目使用--project name-or-id明确目标项目或通过--all声明团队级规则不要依赖模糊的隐式上下文自定义规则注意转义queryJsonString是转义后的 JSON 字符串先用JSON.stringify处理查询对象再嵌入 body若提示 Invalid JSON优先检查转义不传id/teamId这两个字段由 API 分配CLI 会自动删除 body 中的多余值让 CLI 补齐元数据自定义告警的projectId缺省即取--project/链接项目scope项目元数据会自动补齐保证 Dashboard 可编辑。通过以上命令与示例你可以在不改动仓库代码的前提下用 Vercel CLI 完成从内置用量/错误异常告警到自定义可观测性指标告警的全流程管理。相关源码与帮助文本可进一步查阅 schema.ts、add-help.ts、add.ts 与 command.ts。赞分享CLI后端云原生【免费下载链接】vercelDevelop. Preview. Ship.项目地址https://gitcode.com/gh_mirrors/ve/vercel点击查看免费下载相关推荐Nacos告警规则自定义预警设置Nacos告警规则自定义预警设置 1. 痛点与解决方案 在微服务架构中配置中心的异常往往导致级联故障。当Nacos服务器出现配置推送失败、数据同步延迟或存储后端微服务配置中心服务注册发现云原生如何快速获取电子课本tchMaterial-parser完整使用指南如何快速获取电子课本tchMaterial parser完整使用指南 在教育数字化快速发展的今天国家中小学智慧教育平台为师生提供了丰富的电子教材资源但这些网页爬虫教育DolphinScheduler告警系统自定义告警规则与通知DolphinScheduler告警系统自定义告警规则与通知 痛点场景为什么需要强大的告警系统 在大数据任务调度场景中你是否遇到过这些问题 凌晨3点任任务调度数据编排工作流自动化后端大数据上一篇如何用Fillinger脚本10分钟搞定原本需要2小时的设计填充任务下一篇告别锁竞争Kotlin Native无锁编程实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

契约漂移审计方法论:如何系统化核查 Caffeine 文档承诺与实现行为的偏差
契约漂移审计方法论:如何系统化核查 Caffeine 文档承诺与实现行为的偏差

契约漂移审计方法论:如何系统化核查 Caffeine 文档承诺与实现行为的偏差 【免费下载链接】caffeine A high performance caching library for Java 项目地址: https://gitcode.com/gh_mirrors/ca/caffeine 导读 本文围绕 Caffeine 仓库中面向 AI 审计 Agent… · 2026/9/21 3:39:02

react-pdf 重新引入 @react-pdf/svgkit:用 pdfkit 形状的绘制上下文把文档渲染为 SVG 字符串
react-pdf 重新引入 @react-pdf/svgkit:用 pdfkit 形状的绘制上下文把文档渲染为 SVG 字符串

react-pdf 重新引入 react-pdf/svgkit:用 pdfkit 形状的绘制上下文把文档渲染为 SVG 字符串 【免费下载链接】react-pdf 📄 Create PDF files using React 项目地址: https://gitcode.com/gh_mirrors/re/react-pdf 导读 本篇文章围绕变更集 .cha… · 2026/9/21 3:39:02

UIkit快速开始教程:CDN、npm、pnpm五种安装方式与第一个响应式页面
UIkit快速开始教程:CDN、npm、pnpm五种安装方式与第一个响应式页面

UIkit快速开始教程:CDN、npm、pnpm五种安装方式与第一个响应式页面 【免费下载链接】uikit A lightweight and modular front-end framework for developing fast and powerful web interfaces 项目地址: https://gitcode.com/gh_mirrors/ui/uikit UIkit 是一… · 2026/9/21 3:39:02

网络安全学习路线:从基础到实战的完整指南与避坑经验
网络安全学习路线:从基础到实战的完整指南与避坑经验

说实话,我最早对网络安全的认知,完全来自电影里那种噼里啪啦敲代码、三秒黑进银行系统的画面。真正开始学之后才明白,这个行业最不值钱的,恰恰是那点"炫技"式的黑客幻想;最值钱的,是扎实的基础、… · 2026/9/21 5:11:25

Windows下AutoDock 4.2.6零失败安装配置指南
Windows下AutoDock 4.2.6零失败安装配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/21 5:11:25

2026年Docker应用部署指南:从大模型到监控的实用清单
2026年Docker应用部署指南:从大模型到监控的实用清单

2026年了,还有人觉得Docker只是开发环境里的玩具吗?说句实在话,我这两年看下来,身边把Docker真正用起来的人,早就不是拿它跑个MySQL、Redis就完事了。家里NAS上挂着青龙面板定时跑任务,工作室用一台小主机把… · 2026/9/21 5:11:25

西门子828D换PPU维修指南:从组件通信到上电时序与备份恢复
西门子828D换PPU维修指南:从组件通信到上电时序与备份恢复

简介:这份PDF是西门子官方发布的SINUMERIK 828D数控系统PPU(处理单元)与组件设备手册,面向机床制造商的设计、安装、电气工程及维修调试人员。文档适用于PPU 24x.3 BASIC、PPU 26x.3、PPU 28x.3及PPU 290.3等多个型号,… · 2026/9/21 5:11:24

Godot动画系统详解:AnimationPlayer从入门到实战
Godot动画系统详解:AnimationPlayer从入门到实战

说到游戏引擎里的动画,很多刚上手Godot的朋友第一反应可能是“写代码控制position、rotation不就行了吗”,一开始我也这么干,直到项目里角色待机、攻击、受击、掉落各种动画叠在一起,代码里全是if分支和tween链,改一个… · 2026/9/21 5:10:24

微交互设计完全指南:从细节到动效落地的核心方法
微交互设计完全指南:从细节到动效落地的核心方法

做了七八年UI设计,回头看看自己经手的项目,真正让用户记住并反复回来的,往往不是那些宏大的首页视觉,而是藏在角落里的、几十毫秒内完成的小细节——按钮按下去的轻微回弹、下拉刷新时那个俏皮的图标、表单输错时输入框边缘的抖动… · 2026/9/21 5:10:24

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化
Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡… · 2026/9/21 0:02:39

Word表格编号全攻略:从列表编号到题注交叉引用
Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技… · 2026/9/21 0:02:39

从第一个站到第二个站:独立开发者的静态网站选型与落地实践
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&… · 2026/9/20 0:00:41

Claude Code 按智谱AI指南装完,ANTHROPIC_BASE_URL 改走 TaoToken 兼容通道行不行
Claude Code 按智谱AI指南装完,ANTHROPIC_BASE_URL 改走 TaoToken 兼容通道行不行

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/21 0:00:18

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程
agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and … · 2026/9/21 0:00:18

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,… · 2026/9/21 0:00:18

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码