lkaemmerling / laravel-horizon-prometheus-exporter
A small package to gain and export long time information from Laravel & Horizon for Prometheus.
Installs: 1 225 725
Dependents: 0
Suggesters: 0
Security: 0
Stars: 137
Watchers: 4
Forks: 18
Open Issues: 4
Requires
- php: ^7.1|^8.0
- illuminate/config: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/routing: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- laravel/horizon: ^4.0|^5.0
- promphp/prometheus_client_php: ^1.0.3|^2.0.0
Requires (Dev)
- orchestra/testbench: ^v4.9|^5.3|^6.3|^7.0|^8.0|^9.0
- phpunit/phpunit: ^8.2|^9.0|^10.5
- symfony/var-dumper: ^4.3|^5.1
README
This package allows an easy way to expose the Laravel Horizon Metrics to Prometheus.
Prom... What?
Prometheus is a scraping service which allows you to easily store and scrape information from your application, server or even from your router!
Prometheus itself does not know about your application, so you need a exporter on your app. This small package is exactly this, an exporter which allows Prometheus to understand some information
from your application. With Prometheus and a visualisation tool called Grafana
you can build something like this beautiful Dashboard:
Installation
You can install the package via composer:
composer require lkaemmerling/laravel-horizon-prometheus-exporter
Configuration
php artisan vendor:publish --provider=LKDevelopment\\HorizonPrometheusExporter\\HorizonPrometheusExporterServiceProvider
You can configure this package by changing the values in config/horizon-exporter.php
.
Custom Metrics
You can also use this package easily to expose custom metrics. You just need to implement the LKDevelopment\HorizonPrometheusExporter\Contracts\Exporter
interface and then add your implementation to your config/horizon-exporter.php
like we do it for the Horizon exporters: https://github.com/LKaemmerling/laravel-horizon-prometheus-exporter/blob/master/config/config.php#L17
Dashboard
You can find a sample dashboard using this metrics on the Grafana Marketplace.
Testing
composer test
Changelog
Please see Releases for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email kontakt@lukas-kaemmerling.de instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.