spatie / laravel-prometheus
Export Laravel metrics to Prometheus
Installs: 340 948
Dependents: 1
Suggesters: 0
Security: 0
Stars: 146
Watchers: 4
Forks: 19
Open Issues: 1
Requires
- php: ^8.1
- illuminate/config: *
- illuminate/contracts: ^10.0|^11.0
- illuminate/support: *
- promphp/prometheus_client_php: ^2.7.1
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- ext-redis: *
- larastan/larastan: ^2.6.0
- laravel/horizon: ^5.16.1
- laravel/pint: ^1.10
- mockery/mockery: ^1.6
- nunomaduro/collision: ^7|^8
- orchestra/testbench: ^8.5.5|^9
- pestphp/pest: ^2.6.2
- pestphp/pest-plugin-arch: ^2.2
- pestphp/pest-plugin-laravel: ^2.0
- spatie/laravel-ray: ^1.32.4
- spatie/pest-plugin-snapshots: ^2.0.1
README
This package can export key metrics of your app to Prometheus. It does this by providing an easy way to register metrics. Here's an example where we are going to export the user count to Prometheus.
Prometheus::addGauge('User count') ->value(fn() => User::count());
These metrics will be exposed at the /prometheus
endpoint. The package offers a way to add a security layer, so your key metrics don't become public.
You can configure your Prometheus instance to periodically crawl and import the metrics at the /prometheus
endpoint of your app. Using Grafana, you can visualize the data points that are stored in Prometheus.
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Documentation
You can find full documentation on our dedicated documentation site.
Testing
To run the horizon collector tests you need to install the redis extension.
On Ubuntu you can do so with the following command:
sudo apt-get install php-redis
On MacOS you can do so with the following command:
pecl install redis
To run the tests call composer test
:
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
The Horizon collectors were heavily inspired on Lukas Kämmerling' excellent laravel-horizon-prometheus-exporter package.
License
The MIT License (MIT). Please see License File for more information.