A prometheus exporter for the Laravel and the Lumen web framework.
It tracks latency and request counts by request method, route and response code.
This is unreleased software. I commit backwards incompatible changes without notice.
composer require traum-ferienwohnungen/laravel-prometheus-exporter
Then choose from two storage adapters: APCu is the default option. Redis can also be used.
Ensure apcu-bc is installed and enabled.
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
.
In app/Http/Kernel.php
protected $middleware = [
...
\traumferienwohnungen\PrometheusExporter\Middleware\LaravelResponseTimeMiddleware::class,
];
Route::get('metrics', \traumferienwohnungen\PrometheusExporter\LaravelController::class . '@metrics');
In bootstrap/app.php
$app->register(traumferienwohnungen\PrometheusExporter\LumenServiceProvider::class);
In bootstrap/app.php
$app->router->get('metrics', ['as' => 'metrics', 'uses'=> 'traumferienwohnungen\PrometheusExporter\LumenController@metrics']);
The configuration can be found in config/prometheus_exporter.php
.
name | description |
---|---|
adapter | Storage adapter to use: 'apc' or 'redis' default: 'apc' |
namespace | name (prefix) to use in prometheus metrics. default: 'default' |
namespace_http_server | name (prefix) to use for http latency in prometheus metrics. default: 'http_server' |
redis | array of redis parameters. see prometheus_exporter.php for details |