nestjs-observability
Structured logging (Pino) and Prometheus metrics.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Observability Standards
Priority: P1 (OPERATIONAL)
Logging, monitoring, and observability patterns for production applications.
-
Standard: Use
nestjs-pinofor high-performance JSON logging.-
Why: Node's built-in
console.logis blocking and unstructured.
-
Why: Node's built-in
-
Configuration:
-
Redaction: Mandatory masking of sensitive fields (
password,token,email). -
Context: Always inject
Loggerand set the context (LoginService).
-
Redaction: Mandatory masking of sensitive fields (
Tracing (Correlation)
-
Request ID: Every log line must include a
reqId(Request ID).-
nestjs-pinohandles this automatically usingAsyncLocalStorage. -
Propagation: Pass
x-request-idto downstream microservices/database queries key to trace flows.
-
Metrics
-
Exposure: Use
@willsoto/nestjs-prometheusto expose/metricsfor Prometheus scraping. -
Key Metrics:
-
http_request_duration_seconds(Histogram) -
db_query_duration_seconds(Histogram) -
memory_usage_bytes(Gauge)
-
Health Checks
-
Terminus: Implement explicit logic for "Liveness" (I'm alive) vs "Readiness" (I can take traffic).
-
DB Check:
TypeOrmHealthIndicator/PrismaHealthIndicator. - Memory Check: Fail if Heap > 300MB (prevent crash loops).
-
DB Check:
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!