Hey all,
I thought I’d share my full working Grafana dashboard for monitoring n8n internals, Node.js process metrics, heap, GC duration, event loop lag, and more.
This was built using the Prometheus metrics n8n exposes when you enable it manually link below to official n8n docs.
Why?
When running n8n in production or self-hosted, especially in high load / enterprise scenarios, it’s important to keep an eye on:
-
Memory leaks
-
Event loop lag
-
GC pauses (major, minor, incremental)
-
Heap space usage by type (old, new, large object)
-
Open file descriptors
-
Active handles and resources and more
I may share further Dashboards for actual host stats, multi-server setup soon…Maybe
What I’ve built so far
I pulled every relevant Node.js and n8n metric into clean Grafana widgets:
Stat panels for key metrics (e.g., heap usage, open FDs)
Time series for CPU, GC, heap trends
Bar charts for breakdowns (e.g., active handles by type, active resources by type)
Correct units everywhere (bytes(IEC), seconds, etc.)
With percentiles and means for event loop lag
Everything uses N8N native metrics, no plugins or hacks.
You will need Promethus and Grafana Installed!!
How to enable Prometheus metrics in n8n (MUST DO FIRST)
n8n does NOT expose metrics by default.
To enable:
N8N_METRICS=true
Test here once enabled
http://your-n8n-url:5678/metrics
Official configs from N8N to enable:
Enable Prometheus metrics | n8n Docs
.
.
.
GRAFANA Dashboard JSON Example
I’ve attached a working Grafana JSON dashboard you can import directly, tested with Prometheus as datasource.
Prometheus.yml config
global:
scrape_interval: 5s
scrape_configs:
- job_name: 'n8n-main'
static_configs:
- targets: ['n8n-main:5678']
Let me know if you’d like a follow-up post on:
- Full stack observability (OS + Node.js + n8n + Redis + Postgres)
- Multi-server n8n scaling with metrics & alerts
- Prometheus Alertmanager config for critical thresholds (heap > 80%, event loop lag spikes, etc.)
I can post the JSON + rules I use.
Enjoy!