$ php artisan nightowl:agent
Self-hosted monitoring
for Laravel apps _
Route your Nightwatch telemetry to your own PostgreSQL database. From $5/month flat — no per-event fees, no retention caps, no vendor lock-in.
14-day free trial · No credit card
You don't have any Postgres db yet? Works like a charm with free options.
Step-by-step setup in ~15 minutes.
[ WHAT · WE · CAPTURE ]
Full-stack Laravel visibility
Requests, queries, jobs, scheduled tasks, mail, logs, exceptions. All correlated by trace.
Requests
HTTP traces by route — status codes, P95, timing breakdown.
Exceptions
Auto-grouped by fingerprint with stack traces and per-env counts.
Slow queries
Grouped by query shape with bind values and P95 timings.
Background jobs
Queue throughput, retries, failures, full payload capture.
Scheduled tasks
Run history, durations, output capture, missed-run detection.
Outgoing HTTP
Every external API call — duration, status, payloads.
Logs
Structured logs with context expansion and trace-aware navigation.
Issue management
Exceptions and slow endpoints as tracked issues.
Cache operations, mail, notifications, Artisan commands, per-user timelines — all captured and correlated by trace.
[ WHY · NIGHTOWL ]
We bring nice things to the table
Your PostgreSQL, your rules
Standard SQL. Your backups. Your retention policy. Query your monitoring data the same way you query everything else — because it lives in the same place.
Multi-channel alerts
Slack, Discord, email (your SMTP), webhooks with HMAC-SHA256 signing. Unlimited channels per app, one-click test send.
Granular data clearing
Delete by table, date range, route, status code, or log level. Always previews the row count. 30-day protection window stops accidents.
One app, every environment
Production, staging, local — one app, one token, stamped automatically from APP_ENV. Issues dedupe per environment, so staging noise never mutes production alerts. No per-env pricing.
Multi-instance agent
Run multiple agents for throughput or redundancy. CPU, memory, buffer utilization, and ingest rates tracked per instance. Benchmarked at 13,400 payloads/sec.
Your agents got your back
NightOwl ships an MCP server that exposes the full dashboard to Claude Code, Codex, and Cursor. Triage exceptions, inspect slow requests and queries, replay failed jobs, and many more.
81 typed tools · scoped bearer tokens · every AI-authored mutation logged with actor_type=mcp in the timeline.
[ SETUP · GUIDE ]
Up and running in 5 minutes
Sign up and connect your database
Create your account, add an app, plug in your PostgreSQL credentials. You get an agent token.
Install the package
composer require nightowl/agent
Setup env vars and run the agent
NIGHTOWL_TOKEN=your-agent-token NIGHTOWL_APP_ID=your-app-id NIGHTOWL_DB_HOST=your-pg-host NIGHTOWL_DB_DATABASE=nightowl ...
php artisan nightowl:agent
Full setup guide in the docs.
Frequently asked questions
Do I need Laravel Nightwatch installed?
You don't install it separately — laravel/nightwatch is a Composer dependency of the NightOwl agent, so it gets pulled in automatically when you require nightowl/agent. Nightwatch captures the telemetry, and the agent routes it to your PostgreSQL instead of the hosted Nightwatch Cloud.
What's the performance overhead in my app?
Negligible. The agent runs as a separate process and accepts async TCP payloads. Your application fires-and-forgets, so the request path stays unblocked. We benchmark 13,400 payloads per second on a single agent instance.
Where does my data live?
In your PostgreSQL database. The hosted dashboard reads from it over an encrypted connection using credentials you provide. You hold the keys, the backups, and the retention policy.
Can I leave without losing data?
Yes. The data is standard PostgreSQL with documented schemas. Cancel your subscription and the data stays exactly where it is — yours to query, archive, or import elsewhere.
How does it handle scale?
Run multiple agent instances for ingest throughput. Drain workers parallelize against your database, and the agent buffers to local SQLite under back-pressure so spikes don't drop telemetry.
Why is it cheaper than the hosted alternatives?
Because you provide the storage. NightOwl's pricing covers the dashboard, agent, and updates — not per-event ingest. You scale your Postgres the same way you scale any other database.
Stop paying per event. Start at $5/month.
Route your Nightwatch telemetry to your own PostgreSQL. 14-day free trial, no credit card.