SuperAPI AI 工具集

sentry-nestjs-sdk

部署与运维

查看项目

更新于 10-15 21:51

技能介绍

用途:为 NestJS 项目接入 Sentry,覆盖错误监控、追踪、性能分析、日志、指标、Crons 与 AI 监控。适用于用户要求“给 NestJS 添加 Sentry”“安装 @sentry/nestjs”或监控控制器、服务、守卫、微服务与后台任务时。

主要能力:先扫描项目(检查 @nestjs/core 版本、是否已装 Sentry、instrument.ts、DI 包装、配置类、SentryModule.forRoot、HTTP 适配器、GraphQL、微服务、WebSocket、任务队列、数据库与 AI 库),再给出推荐组合。核心为错误监控与追踪;检测到生产 CPU 敏感负载推荐 Profiling,检测到 @nestjs/schedule、Bull、BullMQ 推荐 Crons,检测到 OpenAI/Anthropic/LangChain 等推荐 AI 监控。

使用方式:安装 npm install @sentry/nestjs(Profiling 需加 @sentry/profiling-node,勿同时安装 @sentry/node)。采用三文件初始化:创建 src/instrument.ts 调用 Sentry.init();在 src/main.ts 首行 import "./instrument";在 AppModule 中导入 SentryModule.forRoot() 并以 APP_FILTER 注册 SentryGlobalFilter。ESM 用 node --import ./instrument.mjs。提供 @SentryTraced、@SentryCron、@SentryExceptionCaptured 装饰器,后台任务用 Sentry.withIsolationScope() 隔离作用域。

限制:SDK 版本与 API 以 @sentry/nestjs 10.x 为准,实施前应核对官方文档;Fastify 存在已知边缘情况;Prisma 需手动 prismaIntegration();SentryModule.forRoot() 不可重复注册;@sentry/nestjs 与 @sentry/nestjs/setup 入口不同,不可混用。