Docs
Troubleshooting
The things that actually go wrong, with the symptom that identifies each one.
No runs are appearing
Work through verify it's working — it lists each symptom and its cause. The most common answer is the least interesting one: n8n has had no executions since the agent started. The agent only reports runs that finish after it is running.
The instance says "down" but n8n is fine
Instance health comes from the agent's heartbeat, not from n8n. If the agent
stopped, or its host lost outbound network access, the instance goes down while
n8n carries on happily. Check docker ps on the agent host first.
Runs appear, but nothing is ever detected
Two likely causes:
- No alert channel. Detection is running and raising incidents; nothing is delivering them. Check Settings → Alerts and send a test alert.
- Not enough history. Green-but-broken needs roughly five successful runs before it will judge a workflow, and missed-run needs one observed run to establish the cadence.
Missed runs are never reported for a workflow
The detector needs a cadence it can read — a cron expression or a fixed interval on the trigger. A webhook-triggered workflow has no schedule to be late against, and an unparseable cron expression is skipped rather than guessed at.
Green-but-broken did not fire on an empty run
Check the baseline. The hard rule needs at least five successful runs and a historical minimum of at least one item. A workflow that has legitimately produced zero items before does not qualify, because zero is a normal outcome for it.
Duplicate incidents for one workflow
Usually two agents reporting the same n8n. Obsevo de-duplicates executions on
(instance, execution_id), so this shows up when the same n8n is connected as
two instances. The dashboard warns when it detects duplicate agents. Remove one.
Logs are rejected
| Response | Cause |
|---|---|
401 | Wrong or revoked event key. Note obse_ is the event key; obsv_ is the API key |
413 batch_too_large | More than 200 records in one batch |
429 rate_limited | Over the per-instance log budget. Back off for 60 seconds |
400 invalid_payload | Validation failed. The response body names the offending field paths |
A field is not being picked up
Matching is case-sensitive, and the accepted spellings are a published finite list
— see the field precedence reference. "Source" is
not "source" and will stay an attribute rather than becoming the source column.
Certificates fail after adding a domain
If ingest.<domain> has no DNS record, the proxy's certificate request for that
hostname fails validation and retries on a backoff. Create the record, then
restart. Note that repeated failures consume Let's Encrypt's allowance of five
failed validations per hour for that hostname.
Something else
Bug reports and questions go to contact@obsevo.com.
Report security issues privately to the same address. You will get a first response within three working days.