traum-ferienwohnungen / laravel-prometheus-exporter
A prometheus exporter for Laravel & Lumen
Installs: 19 595
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 5
Forks: 13
Open Issues: 0
Requires
- php: ^7.4
- endclothing/prometheus_client_php: ^1
- fzaninotto/faker: ~1.7
- illuminate/support: ^6
Requires (Dev)
- illuminate/http: ^6
- mockery/mockery: ^1.1
- orchestra/testbench: ^4
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-12-08 18:40:14 UTC
README
A prometheus exporter for the Laravel and the Lumen web framework.
It tracks latency and request counts by request method, route and response code.
Project State
This is unreleased software. I commit backwards incompatible changes without notice.
Installation
composer require traum-ferienwohnungen/laravel-prometheus-exporter
Adapters
Then choose from two storage adapters: APCu is the default option. Redis can also be used.
APCu
Ensure apcu-bc is installed and enabled.
Redis
Ensure php redis is installed and enabled.
By default it looks for a redis server at localhost:6379. The server
can be configured in config/prometheus_exporter.php
.
Laravel
Enable the Middleware
In app/Http/Kernel.php
protected $middleware = [
...
\traumferienwohnungen\PrometheusExporter\Middleware\LaravelResponseTimeMiddleware::class,
];
Add an endpoint for the metrics
Route::get('metrics', \traumferienwohnungen\PrometheusExporter\LaravelController::class . '@metrics');
Lumen
Register the ServiceProvider
In bootstrap/app.php
$app->register(traumferienwohnungen\PrometheusExporter\LumenServiceProvider::class);
Add an endpoint for the metrics
In bootstrap/app.php
$app->router->get('metrics', ['as' => 'metrics', 'uses'=> 'traumferienwohnungen\PrometheusExporter\LumenController@metrics']);
Configuration
The configuration can be found in config/prometheus_exporter.php
.