[ MIGRATION ]

Migrate from Nightwatch Cloud to NightOwl

Keep the Nightwatch package. Change the destination. Same instrumentation, your PostgreSQL, flat pricing.

QUICK ANSWER

How do I migrate from Nightwatch Cloud to NightOwl?

Keep laravel/nightwatch installed — same instrumentation on both sides. Install the NightOwl agent via composer require nightowl/agent, run php artisan nightowl:install, point at your PostgreSQL. The Nightwatch package supports multiple destinations so you can keep Cloud active while validating NightOwl. When ready, disable the Cloud destination in config. Zero application code changes and no backfill needed.

Updated · 2026-04-13

The 3-step migration

Step 1 — install the agent

bash
# Keep laravel/nightwatch installed. Add NightOwl's agent package:
composer require nightowl/agent
php artisan nightowl:install

Step 2 — configure PostgreSQL

bash
# The installer will prompt you for:
# - PostgreSQL connection (host, port, database, credentials)
# - NightOwl account ID / app token
# - Environment (production, staging, etc.)

# Migrations run automatically to create the nightowl_* tables.

Step 3 — configure destinations (validation period)

php
// config/nightwatch.php
return [
    'destinations' => [
        'cloud' => ['enabled' => env('NIGHTWATCH_CLOUD_ENABLED', true)],
        'nightowl' => ['enabled' => env('NIGHTOWL_ENABLED', true)],
    ],
];

Both destinations now receive telemetry. Run for 1-2 weeks to compare. Once you're confident, disable the cloud destination:

bash
# In .env:
NIGHTWATCH_CLOUD_ENABLED=false
NIGHTOWL_ENABLED=true

php artisan config:clear
php artisan queue:restart

Validation checklist

  • Request throughput in NightOwl matches Cloud within ~1%
  • Exception count matches
  • Query patterns are grouped identically
  • Queue job classes appear with the same runtime stats
  • Scheduled tasks appear with last-run timestamps
  • Alert channels in NightOwl fire on the same conditions

What stays with Nightwatch Cloud

Historical data in your Cloud account. You can access it read-only until the plan ends. Export critical reports before you cancel if you need them for long-term records.

Cancel the Cloud subscription

Once NightOwl has been running as your sole destination for a week without issues, cancel Nightwatch Cloud via your account settings. The Nightwatch package continues to function — only the cloud destination is removed.

Pricing at your volume

Break-even point for most teams: Nightwatch Cloud is free under 300K events/month, then usage-based. NightOwl is from $5/month flat. At ~500K+ events/month, NightOwl is cheaper; at low volume, Cloud's free tier is cheaper. Most apps that outgrow the free tier benefit from switching.

Rollback

If you want to go back: flip the destination config, re-enable the Cloud integration, done. NightOwl's data stays in your PostgreSQL for future reference. Nothing to rebuild.

AFTER MIGRATION

Same instrumentation, your database

The Laravel team's nightwatch package still powers your telemetry. The dashboard is ours. The storage is yours. From $5/month flat.

INSTALL

Install in 60 seconds

Works on Laravel 10+ / PHP 8.2+. Keep the official Nightwatch package — NightOwl reads the same instrumentation.

$ composer require nightowl/agent
$ php artisan nightowl:install

Publishes the config, creates monitoring tables in your PostgreSQL, and starts the agent. First payload lands in the dashboard within 30 seconds.

Frequently asked questions

Is switching from Nightwatch Cloud to NightOwl invasive?

No — it's the shortest migration in this space. You keep laravel/nightwatch installed (the instrumentation is identical). You install the NightOwl agent as an additional composer package and point it at your PostgreSQL. You disable the Nightwatch Cloud destination in your config. Zero application code changes.

Can I run both Nightwatch Cloud and NightOwl in parallel during the switch?

Yes. The Nightwatch package supports multiple destinations. Keep Nightwatch Cloud as a destination while you validate NightOwl, then disable the cloud destination once you're confident. Both receive the same telemetry during the overlap.

Can I migrate my historical Nightwatch Cloud data?

No official export path. Your historical data remains in your Nightwatch Cloud account until the plan ends or you delete it. NightOwl starts accumulating fresh data from the moment you install. Most teams find they rarely look at monitoring data older than 2-4 weeks, so the lack of backfill isn't usually load-bearing.

Do I need the same PostgreSQL schema Nightwatch Cloud uses?

No. NightOwl defines its own schema via migrations — tables prefixed with nightowl_ (telemetry tables plus issues, comments, activity, alert channels, users, and settings). Your PostgreSQL instance just needs to be reachable by the NightOwl agent; the schema management is automatic.

Will my issue management workflow carry over?

Not directly — each product has its own issue schema. In practice: open issues in Nightwatch Cloud stay there as reference; new issues accumulate in NightOwl. If you want the closed-issue archive, export it from Nightwatch Cloud before cancelling. Status, priority, assignment, and comments work identically in NightOwl.

How does the pricing compare at my traffic volume?

Nightwatch Cloud is free under 300K events/month, then usage-based. NightOwl is from $5/month flat (Hobby) or $15/month Team (3 apps). Break-even is typically around 500K events/month. Above that, NightOwl costs less; below, Nightwatch Cloud's free tier wins. Calculators on each vendor's pricing page can estimate precisely.

What if I want to go back to Nightwatch Cloud?

Trivially easy. The Nightwatch package is still installed — flip the destination config back to Nightwatch Cloud and the agent stops shipping to your Postgres. Nothing to rebuild. This is the argument for BYOD: no lock-in.

PRICING

Flat pricing. No event caps. No per-seat fees.

14-day free trial, no credit card. Your PostgreSQL, your data.

HOBBY

$5 /month

1 app · 14 days lookback · all Laravel events

TEAM

$15 /month

Up to 3 connected apps · unlimited environments · all Laravel events

AGENCY

$69 /month

Unlimited apps · unlimited agent instances · same flat rate at any traffic

Related