ntm-dev/laravel-monitor
Laravel Monitor provides a lightweight dashboard for keeping an eye on your Laravel app in production. Track requests, slow queries, exceptions, and uptime, spot performance bottlenecks, and catch issues early without heavy external tooling.
composer require and publish its config/migrations (php artisan vendor:publish --tag=monitor-config / --tag=monitor-migrations), then run php artisan migrate to create the monitor_entries table. No manual schema work is needed — including after the 1.7.1 upgrade.Queries page and related views) and confirm entries flow in by hitting an endpoint that runs a query or throws an exception.monitor:clear when you want a clean slate before reproducing a bug, and schedule monitor:prune in app/Console/Kernel.php (or the scheduler) to keep retention bounded. As of 1.7.1 both commands delete in 5000-row batches, so they are safe to run against large production tables without hitting MySQL error 1206.Failed badge. Use this during development to catch statements that never fire a query event — e.g. "too many placeholders" (error 1390) from dynamically built whereIn clauses — instead of discovering them in logs.reportable(). You do not need to add manual report() calls or custom middleware to get coverage. Recording is once per exception and only when the handler would report it, so it respects your dontReport list.monitor:clear → hit the endpoint / dispatch the job → read the Queries and exceptions views → fix → confirm the entry no longer appears.reportable() filtering still governs what appears. The new recording path only logs exceptions your handler would report — if you've added an exception to dontReport (or a reportable() return of false) and expected to see it in the dashboard, it won't be there by design.monitor:prune/monitor:clear still delete the same rows, just in chunks of 5000. On very large tables expect the command to run longer in wall-clock time; give it a generous timeout if you've wrapped it in a job or a scheduler with strict limits.Failed badge to find statements the driver rejected outright; slow-but-successful statements won't carry it. Check both views when diagnosing an incident.How can I help you explore Laravel packages today?