SuperAPI AI 工具集

nestjs-observability

部署与运维

查看项目

更新于 10-15 22:13

技能介绍

用途:为 NestJS 服务建立可观测性标准,涵盖结构化日志、请求关联追踪、指标暴露与健康检查。

主要能力:使用 nestjs-pino 实现高性能异步 JSON 日志,替代阻塞且无结构的 console.log;每条日志行包含 reqId,借助 AsyncLocalStorage 处理,并将 x-request-id 传递到下游微服务与数据库查询,实现端到端追踪;使用 @willsoto/nestjs-prometheus 暴露 /metrics 供 Prometheus 抓取;使用 Terminus 实现 Liveness(存活)与 Readiness(可否接收流量)检查,包含 TypeOrmHealthIndicator / PrismaHealthIndicator 数据库检查,Heap 超过 300MB 时 readiness 失败以防崩溃循环。

使用方式:按上述库进行接入配置;开发环境可返回 X-Response-Duration-Ms、X-DB-Execution-Ms、X-API-Overhead-Ms 性能头,但必须由 ENABLE_PERFORMANCE_BENCHMARK 特性标志控制,生产环境永不暴露。

适用场景:NestJS 微服务或 API 服务的日志、追踪、监控与健康探针配置。

限制与反模式:不使用 console.log;不可缺少 reqId;性能数据默认不在生产环境输出。具体安装命令与代码示例资料未提供。