nestjs-observability
Structured logging (Pino) and Prometheus metrics.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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:
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!