DevOps · n8n

n8n Monitoring and Observability

A self-hosted n8n instance is production infrastructure. Monitor it on two levels: the workflows running inside it, and the service and workers running underneath.

John Kihiu12 min read

Once n8n runs real automations, it is production infrastructure, and it can fail on two levels: an individual workflow can break, or the n8n service and its workers can degrade. Monitoring needs to cover both, because a healthy workflow on a dying instance still stops running.

Workflow-level health

n8n records every execution — success, failure, duration — and that data is your first monitoring layer. Pair it with a global Error Trigger workflow so failures push an alert instead of sitting unseen in the executions list. Watch the failure rate and execution duration; a workflow that starts taking longer or failing more is usually the early warning of a downstream problem or a growing backlog.

Service and worker metrics

n8n can expose Prometheus metrics (enable N8N_METRICS), giving you the operational view: event-loop health, execution counts, and in queue mode the state of the queue and workers. Scrape these into your monitoring stack and you can see resource pressure and worker saturation before they turn into failed executions.

Bash · enable metrics + the alerts to build
N8N_METRICS=true            # exposes /metrics for Prometheus

# Alerts worth having:
#  - workflow failure rate above threshold
#  - queue depth growing (workers can't keep up)  [queue mode]
#  - no successful executions in T for a scheduled workflow  (silent!)
#  - n8n process/event-loop unhealthy

Alert on silence too

The failure you will miss is the scheduled workflow that stops triggering — no execution means no error to alert on. For anything that should run on a cadence, alert on the absence of a recent successful run. The nightly sync that quietly stopped a week ago is the classic silent n8n failure, and only an absence check catches it.

Queue depth is your scaling signal

In queue mode, a steadily rising queue depth means executions are arriving faster than workers can process them. That single metric tells you when to add workers before the backlog turns into missed SLAs. Watch it as closely as you watch the failure rate.

Monitor n8n as the production system it is: execution failure and duration from the workflow layer, Prometheus metrics and queue depth from the service layer, and an absence alarm for scheduled workflows that go quiet. Cover both levels and a problem surfaces on a dashboard rather than as automation that mysteriously stopped.

John Kihiu
Acumatica ERP Developer · Laravel Engineer

Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.