tech-djoin / laravel-prometheus
0.2.8
2023-11-03 03:21 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0
- promphp/prometheus_client_php: ^2.7
Requires (Dev)
- orchestra/testbench: ^6.27
- pestphp/pest: ^1.23
- pestphp/pest-plugin-laravel: ^1.4
README
Laravel Prometheus 是一个允许您将 Prometheus(一个流行的开源监控和警报工具包)集成到 Laravel 应用程序中的软件包。Prometheus 广泛用于监控软件系统的各个方面,包括指标、时间序列数据和警报。
此软件包使用 Redis 进行客户端聚合,并需要安装 phpredis 扩展以与 Redis 键值存储进行通信。要安装 phpredis 扩展,您可以按照以下链接进行操作
https://github.com/phpredis/phpredis/blob/develop/INSTALL.md
安装
您可以通过 composer 安装此软件包
composer require tech-djoin/laravel-prometheus
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="TechDjoin\LaravelPrometheus\PrometheusServiceProvider" --tag="config"
用法
此软件包提供了一种中间件,可以将其作为全局中间件或单个路由添加。
// in `app/Http/Kernel.php` protected $middleware = [ // ... \TechDjoin\LaravelPrometheus\Middleware\MetricCollector::class ];
// in a routes file Route::post('/dashboard', function () { // })->middleware(\TechDjoin\LaravelPrometheus\Middleware\MetricCollector::class);
导出指标
此软件包添加了一个 /metrics
终端点,默认启用,它公开了收集器收集的所有指标。
如果您想保护此终端点,可以在 .env 文件中添加 LARAVEL_PROMETHEUS_SECRET
上的密钥值,并且您只能使用 /metrics/{secret}
访问终端点。
测试
composer test
许可协议
本项目采用 MIT 许可协议 - 有关详细信息,请参阅 LICENSE.md 文件。