用途:Canary 用于部署后监控,观察已上线的应用,检测错误与性能回退,并与部署前基线对比,最后输出健康状态报告。
主要能力:支持两种模式,--baseline 在部署前捕获当前状态;默认模式在部署后监控并与基线对比。可自动识别部署平台(依据 fly.toml、render.yaml、vercel.json、netlify.toml、Procfile、railway.toml),检查健康端点,从 sitemap.xml、robots.txt 发现待监控页面。监控循环默认持续 10 分钟、每 60 秒检查一次,记录 HTTP 状态与响应时间,并按级别告警:CRITICAL(页面加载失败、非 2xx、超时、DNS 失败)、HIGH(新增错误)、MEDIUM(响应时间超过基线 2 倍)、LOW(此前可用路由返回 404)。遵循按变化而非绝对值告警、并要求连续 2 次检查确认瞬时抖动。结束后生成 CANARY REPORT,保存到 .canary/reports/ 下。
使用方式:示例命令包括 /canary https://app.example.com、/canary https://app.example.com --baseline、--duration 5m、--quick、--pages /,/dashboard,/api/health。先运行 --baseline 抓取基线,部署后再运行默认模式;健康后可用 cp .canary/reports/latest-snapshot.json .canary/baselines/baseline.json 更新基线。
适用场景:生产部署后回归监控、发布验证流水线(如 /land-and-deploy 自动运行 canary)。
限制:依赖 curl、jq、git 等命令行工具;需可访问目标 URL;页面发现依赖站点提供的 sitemap.xml 或 robots.txt,否则默认仅监控首页;资料未提供安装方式、收费信息、平台差异或错误率采集的具体实现细节。