All Projects → aschmelyun → Larametrics

aschmelyun / Larametrics

Licence: mit
A self-hosted metrics and notifications platform for Laravel apps

Projects that are alternatives of or similar to Larametrics

Project
⭐️ Antares Project Application Skeleton. This is the very first place you should start. It allows you to create a brand new awesome project in easy few steps.
Stars: ✭ 84 (-83.75%)
Mutual labels:  laravel, notifications
Server Monitor App
A PHP application to monitor the health of your servers
Stars: ✭ 141 (-72.73%)
Mutual labels:  laravel, notifications
Facebook
📨 Facebook Notifications Channel for Laravel
Stars: ✭ 120 (-76.79%)
Mutual labels:  laravel, notifications
Laravel Fcm
🌐 A Laravel package to send Push Notifications to one or many devices of the user.
Stars: ✭ 56 (-89.17%)
Mutual labels:  laravel, notifications
Laravel Desktop Notifier
💻 Send notifications to your desktop from your Laravel Artisan Commands. An JoliNotif wrapper for Laravel.
Stars: ✭ 333 (-35.59%)
Mutual labels:  laravel, notifications
Notifier
NO LIBRARIES socket per page bridge for your Laravel application. (CLIENT PART INCLUDED)
Stars: ✭ 57 (-88.97%)
Mutual labels:  laravel, notifications
Health
Laravel Health Panel
Stars: ✭ 1,774 (+243.13%)
Mutual labels:  laravel, notifications
Laravel Notify
Flexible Flash notifications for Laravel
Stars: ✭ 787 (+52.22%)
Mutual labels:  laravel, notifications
chia-monitor
🍃 A comprehensive monitoring and alerting solution for the status of your Chia farmer and harvesters.
Stars: ✭ 131 (-74.66%)
Mutual labels:  notifications, metrics
Laravel Slack Slash Command
Make a Laravel app respond to a slash command from Slack
Stars: ✭ 215 (-58.41%)
Mutual labels:  laravel, notifications
Laravel Notification
Example package for using the (still under development) Messages API from Nexmo as a notification channel in Laravel
Stars: ✭ 44 (-91.49%)
Mutual labels:  laravel, notifications
Webpush
Webpush notifications channel for Laravel.
Stars: ✭ 437 (-15.47%)
Mutual labels:  laravel, notifications
Builder
Prepare your Laravel apps incredibly fast, with various commands, services, facades and boilerplates.
Stars: ✭ 1,009 (+95.16%)
Mutual labels:  laravel, notifications
Laravel Console Logger
Logging and Notifications for Laravel Console Commands.
Stars: ✭ 79 (-84.72%)
Mutual labels:  laravel, notifications
Laravel Smsgateway Notification Channel
SMS Gateway notification channel for Laravel
Stars: ✭ 13 (-97.49%)
Mutual labels:  laravel, notifications
Laravel Fcm
Firebase Cloud Messaging (FCM) sender for Laravel
Stars: ✭ 129 (-75.05%)
Mutual labels:  laravel, notifications
Laravel Failed Job Monitor
Get notified when a queued job fails
Stars: ✭ 582 (+12.57%)
Mutual labels:  laravel, notifications
Laravel Server Monitor
Don't let your servers just melt down
Stars: ✭ 595 (+15.09%)
Mutual labels:  laravel, notifications
Twilio
Twilio notifications channel for Laravel
Stars: ✭ 141 (-72.73%)
Mutual labels:  laravel, notifications
Laravel Onesignal
OneSignal Push Notifications for Laravel
Stars: ✭ 369 (-28.63%)
Mutual labels:  laravel, notifications

Larametrics

Current Version License Build Status Total Downloads

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.

Screenshot of Larametrics Dashboard

Requirements

  • PHP 5.6.4 or higher
  • Laravel 5.2 or higher
  • guzzlehttp/guzzle (if notifications enabled)

Installation

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.php file 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.

Displaying the Dashboard

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 /metrics prefix, 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();
});

Configuration

Configuring Larametrics for use within your Laravel app takes place mainly in the config/larametrics.php file. 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:

  • LARAMETRICS_NOTIFICATION_EMAIL, the address that all email notifications will be routed to
  • LARAMETRICS_NOTIFICATION_SLACK_WEBHOOK, a Slack webhook configured for receiving requests and adding messages to a specified channel. More info here.

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_FROM_EMAIL, the email address that notifications will appear to be sent from
  • LARAMETRICS_FROM_NAME, the name that will appear alongside associated email notifications
  • LARAMETRICS_MODEL_SUBJECT, the subject of notification emails that arrive when models are created/updated/deleted
  • LARAMETRICS_LOG_SUBJECT, the subject of notification emails that arrive when an application log event is recorded
  • LARAMETRICS_ROUTE_SUBJECT, the subject of notification emails that arrive when a route has been visited

Roadmap

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:

  • [x] Add the ability to ignore specific request paths
  • [x] Integrate custom webhooks as a notification option
  • [x] Move listeners out of root directory and into their own namespace
  • [x] Optimize front-end for mobile devices
  • [x] Expand on the notification filter options
  • [ ] Integrate Twilio for text message notifications
  • [ ] Optimize database querying for expired models to improve performance
  • [ ] Add Artisan commands for displaying Larametrics data
  • [ ] Add watcher for Queues
  • [ ] Add watcher for Scheduled Tasks
  • [ ] Compatibility for Laravel 4.2+

Difference to Laravel Telescope

In October 2018, Taylor Otwell announced Laravel Telescope, which acts as a debugging tool for Laravel applications. For a distinction between Larametrics and Telescope, please see this discussion here.

Contact Info

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.

License

The MIT License (MIT). See LICENSE.md for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].