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.
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.
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.
Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.