用途:在不牺牲关键生产错误可见性的前提下降低 Sentry 支出,做法包括 SDK 层采样、服务端入站过滤器、beforeSend 事件丢弃与配额管理。
前置条件:具备 org:read 与 project:read 权限的 Sentry 账户令牌;可访问项目的 Sentry.init() 配置;已确认当前套餐层级;设置 SENTRY_AUTH_TOKEN 与 SENTRY_ORG 环境变量;安装 @sentry/node >= 8.0 或 @sentry/browser >= 8.0。
主要能力与用法:
- 用量审计:调用 Stats API 按 category、project 统计用量,记录基线。
- 错误采样:在 Sentry.init() 中设置 sampleRate(如 0.1)。
- 性能采样:使用 tracesSampleRate 或 tracesSampler 按路由动态采样,对健康检查、静态资源返回 0,对支付、认证流程提高采样率。
- beforeSend:返回 null 丢弃噪音事件(ResizeObserver、网络错误、浏览器扩展等),并可配合 ignoreErrors、denyUrls。
- 服务端入站过滤器:启用 browser-extensions、legacy-browsers、localhost-events、web-crawlers 及自定义错误消息过滤。
- 峰值保护与限流:配置组织级 Spike Protection 和每个 DSN key 的 rate limit。
- 预留量与按需量:预留量单价约比按需量低 38%,可按 P90 用量购买预留块。
- 减小事件负载:调低 maxBreadcrumbs、截断请求体、裁剪请求头、关闭未使用的 replays、profiling。
- 验证节省:部署后 48-72 小时重新审计用量对比基线。
限制:资料中价格与套餐层级为示例数据,需以当前官方信息为准;入站过滤器仅对新事件生效;sampleRate 过低可能漏掉低频错误,需用 beforeSend 对 fatal 或 critical 标签强制发送;过宽正则可能误丢有用事件,建议先在 Discover 中测试。