A self-hosted metrics and notifications platform for Laravel apps
A self-hosted metrics and notifications platform for Laravel apps, Larametrics records and notifies you of changes made to models, incoming requests, and messages written to the log.
A full version of the docs can be found here, below you'll find a quick 'Getting Started' guide.
Larametrics is installed as a standalone package through Composer:
composer require aschmelyun/larametrics
After Composer finishes up, you'll have to add the following line to your
config/app.phpfile if you're not on Laravel 5.5 or higher:
Aschmelyun\Larametrics\LarametricsServiceProvider::class
Additionally, you'll want to get the config file copied over and add in the necessary database structure with:
php artisan vendor:publish --provider="Aschmelyun\Larametrics\LarametricsServiceProvider" php artisan migrate
Note: Notifications use queued jobs when available to prevent delays in app response time. If you don't have this database table set up already for queues, run
php artisan queue:table && php artisan migrate.
Once you have the package tied in to your Laravel app, it starts collecting data based off of the default config file and storing it in your database. In order to view the dashboard associated with Larametrics and analyse your metrics and notifications, you'll need to add in a helper method to your routes file of choice.
\Aschmelyun\Larametrics\Larametrics::routes();
Include that where (and how) you want the dashboard to appear. For reference, all Larametrics routes are wrapped under a
/metricsprefix, but you can adjust where you want the routes to appear.
In the following example, the Larametrics dashboard will only be viewable to people who are signed into the application, and visit
/admin/metrics:
// routes/web.php Route::group(['middleware' => 'auth', 'prefix' => 'admin'], function() { \Aschmelyun\Larametrics\Larametrics::routes(); });
Configuring Larametrics for use within your Laravel app takes place mainly in the
config/larametrics.phpfile. Each item is broken down in the comment lines above it, describing what that item does and what value(s) it's anticipating.
There are also two .env variables you'll need to set depending on if you use notifications:
Additionally, there's a few other niche variables that you can set specifically for notifications. See a brief description of each below, or a more details on the documentation site.
Larametrics is still in development, constantly being optimized and attempting to be made compatible for older Laravel versions. Here's what's on the path ahead:
In October 2018, Taylor Otwell announced
Laravel Telescope, which acts as a debugging tool for Laravel applications. For a distinction between
Larametricsand
Telescope, please see this discussion here.
Have an issue? Submit it here! Want to get in touch? Feel free to reach out to me on Twitter for any kind of general questions or comments.
The MIT License (MIT). See LICENSE.md for more details.