$ 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.

And way more

Cache operations, mail, notifications, Artisan commands, per-user timelines — all captured and correlated by trace.

Jobs Schedules HTTP Logs Issues Cache Mail Notifications Commands Users

[ 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.

PostgreSQL

Multi-channel alerts

Slack, Discord, email (your SMTP), webhooks with HMAC-SHA256 signing. Unlimited channels per app, one-click test send.

Slack Discord Email Webhook

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.

preview 847,293 rows · 2xx · 90d+

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.

production · staging · local

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.

agent-01 agent-02 agent-03

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.

Claude Code
Codex
Cursor
Windsurf
Zed
+ MCP

[ SETUP · GUIDE ]

Up and running in 5 minutes

1

Sign up and connect your database

Create your account, add an app, plug in your PostgreSQL credentials. You get an agent token.

2

Install the package

composer require nightowl/agent
3

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.