Laravel Packages

LaraOwl: Self-Hosted Monitoring for Laravel Applications

Published
LaraOwl: Self-Hosted Monitoring for Laravel Applications image

LaraOwl is an open-source monitoring platform for Laravel applications that you deploy and run on your own infrastructure. Instead of sending application data to a third-party service, you set up a LaraOwl server and install a client package in the apps you want to watch. The client captures telemetry and ships it to your server for storage and display. It covers similar territory to Laravel Nightwatch, request, exception, query, and job monitoring, but Nightwatch is a hosted service while LaraOwl is something you run yourself. The project is licensed under Apache 2.0.

What the Client Captures

After installing the laraowl/client package in a monitored application, LaraOwl records data across several layers of the request lifecycle:

  • HTTP requests, including method, path, status code, duration, and response size
  • Exceptions, grouped together with stack traces and a resolution status you can mark off
  • Database queries, with slow query detection and N+1 query identification
  • Jobs and queue activity, including processing status, duration, and failures
  • Per-user activity and request history

Telemetry is sent asynchronously through Laravel's queue system, so capturing data stays off the request's critical path.

WAF Analysis and Cloudflare Integration

Beyond performance data, LaraOwl inspects incoming traffic for common attack patterns. Its WAF analysis flags requests that look like SQL injection, cross-site scripting, and path traversal attempts. It also connects directly to the Cloudflare API, so you can manage firewall rules from the dashboard rather than switching between tools.

Real-Time Dashboard and Alerts

The dashboard updates live over WebSockets using Laravel Reverb, with charts that reflect new requests, exceptions, and jobs as they arrive. When something needs attention, LaraOwl can notify you through Slack, Discord, Telegram, email, or a webhook of your choosing. It also supports uptime and heartbeat checks for monitoring whether a service is responding.

Installation

The server is a Laravel application you create with Composer, then build the frontend assets and run migrations:

composer create-project laraowl/laraowl laraowl
cd laraowl
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate
npm run build

Because the dashboard relies on queued ingestion, scheduled tasks, and Reverb, the server runs three supporting processes:

php artisan queue:work
php artisan reverb:start
php artisan schedule:work

In each application you want to monitor, pull in the client package and run its installer:

composer require laraowl/client
php artisan laraowl:install

LaraOwl requires PHP 8.3+, Node.js 18+, and either MySQL 8.0+ or PostgreSQL. You can read the documentation and view the source on GitHub.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article