$ php artisan nightowl:agent
Self-hosted monitoring data
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
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 become tracked issues — status, priority, assignee, comments.
Cache operations, mail, notifications, Artisan commands, per-user timelines — all captured and correlated by trace.
What makes NightOwl different
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 coding agent sees production
NightOwl ships an MCP server that exposes the full dashboard to Claude Code, Codex, and Cursor. Triage exceptions, inspect slow requests and queries, and resolve issues without leaving your editor.
75 typed tools · scoped bearer tokens · every AI-authored mutation logged with actor_type=mcp in the timeline.
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.
Don't have a Postgres database yet? Start on a free tier.
Step-by-step guides for each provider — about 15 minutes start to finish.
Cheaper because you bring the database
Most Laravel monitoring is priced by the event. Send more telemetry, pay more. That means the months you most need visibility — a traffic spike, an incident, a launch — are the months the bill jumps. NightOwl prices the dashboard and the agent at a flat rate and leaves the storage to you: your telemetry lands in a PostgreSQL database you already know how to run.
That's the trade. You bring a database (a free-tier Postgres is plenty to start), and in exchange the price doesn't move with your traffic, the data stays yours to query and keep, and leaving means cancelling a subscription instead of exporting your history out of someone else's system.
It's a good fit if you run a Laravel app in production and want monitoring without per-event pricing or shipping your data to a third party. It's a poor fit if you'd rather not run a database at all, or if your stack spans several languages and you need one tool for all of them. NightOwl is Laravel-specific on purpose.
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.
Stop paying per event. Start at $5/month.
Monitoring that lives in a PostgreSQL database you own, priced flat from $5/month. 14-day free trial, no credit card.