用途:为 Clerk 认证系统建立监控、日志与可观测性,便于在生产环境排查认证问题。
主要能力:
- 结构化认证事件日志:用 Pino 记录 sign_in、sign_out、sign_up、permission_denied、session_expired 等事件及错误。
- 中间件性能监控:在 clerkMiddleware 中测量认证耗时,超过 100ms 时告警,并写入 X-Auth-Duration 响应头。
- Webhook 事件追踪:处理 user.created、session.created、session.ended 等事件,记录处理耗时,超过 5000ms 报错。
- Sentry 集成:将 Clerk 用户 ID、邮箱、org_id 写入 Sentry 上下文,并在 beforeSend 中清除误记的 CLERK_SECRET_KEY。
- 健康检查端点:检测 Clerk Backend API 与数据库连通性,返回 healthy/degraded 及 200/503。
- 管理端指标接口:按 org:admin 角色鉴权,统计 24 小时内登录、注册、认证错误与 Webhook 事件数。
使用方式:需已有可用的 Clerk 集成,并准备监控平台(Sentry、DataDog 或至少 Pino)与结构化 JSON 日志基础设施。按步骤在 lib/auth-logger.ts、middleware.ts、Webhook 路由、Sentry 配置、健康检查路由等位置添加相应代码。开发环境可用 LOG_LEVEL=debug npm run dev 2>&1 | grep '"category":"auth"' 实时查看认证事件。
适用场景:生产环境认证问题调试、认证性能与 Webhook 可靠性监控、认证指标看板。
限制:资料未提供具体收费、价格、平台兼容范围与效果数据;示例基于 Next.js 与 TypeScript,其他框架的适配方式暂未提供。