aschmelyun / larametrics
Laravel应用的托管指标和通知平台
Requires
- php: ^7.0
- guzzlehttp/guzzle: ^6.5
Requires (Dev)
- orchestra/testbench: ~3.4.0|~3.6.0|~3.7.0|~3.8.0|^4.0
- phpunit/phpunit: ^6.0|^7.0|^8.0
README
重要
本项目已被归档,目前不处于活跃开发状态。我建议使用 Laravel Pulse,这是一个优秀的生产就绪包,可捕获请求、模型更改和应用使用情况。
Laravel应用的托管指标和通知平台,Larametrics记录并通知您对模型、传入请求和日志中写入的消息所做的更改。
完整的文档可以在 这里 找到,以下是一个快速“入门”指南。
要求
- PHP 5.6.4 或更高版本
- Laravel 5.2 或更高版本
- guzzlehttp/guzzle (如果启用通知)
安装
Larametrics通过Composer作为独立包安装
composer require aschmelyun/larametrics
Composer完成后,如果您不在Laravel 5.5或更高版本上,您需要将以下行添加到您的 config/app.php 文件中
Aschmelyun\Larametrics\LarametricsServiceProvider::class
此外,您还需要将配置文件复制过来,并使用以下命令添加必要的数据库结构
php artisan vendor:publish --provider="Aschmelyun\Larametrics\LarametricsServiceProvider"
php artisan migrate
注意:通知使用可用的队列作业以防止应用程序响应时间延迟。如果您还没有为队列设置此数据库表,请运行 php artisan queue:table && php artisan migrate。
显示仪表板
一旦将包与您的Laravel应用程序关联起来,它就会基于默认配置文件开始收集数据,并将其存储在您的数据库中。为了查看与Larametrics关联的仪表板并分析您的指标和通知,您需要在您选择的路线文件中添加一个辅助方法。
\Aschmelyun\Larametrics\Larametrics::routes();
将其包含在您想要仪表板出现的位置。为了参考,所有Larametrics路由都位于 /metrics 前缀下,但您可以根据需要调整路由出现的位置。
在以下示例中,Larametrics仪表板仅供已登录应用程序的用户查看,并访问 /admin/metrics
// routes/web.php Route::group(['middleware' => 'auth', 'prefix' => 'admin'], function() { \Aschmelyun\Larametrics\Larametrics::routes(); });
配置
在您的Laravel应用程序中使用Larametrics的配置主要发生在 config/larametrics.php 文件中。每个项目都在其上面的注释行中分解,描述该项目的功能和它期望的值。
还有两个 .env 变量您需要根据是否使用通知来设置
- LARAMETRICS_NOTIFICATION_EMAIL,所有电子邮件通知都将路由到的地址
- LARAMETRICS_NOTIFICATION_SLACK_WEBHOOK,一个用于接收请求并将消息添加到指定频道的Slack webhook。更多信息请点击这里。
此外,还有一些专门用于通知的变量可以设置。以下是对每个变量的简要描述,或更多详细信息请访问文档网站。
- LARAMETRICS_FROM_EMAIL,通知将显示为发送的电子邮件地址
- LARAMETRICS_FROM_NAME,将与相关电子邮件通知一起显示的名称
- LARAMETRICS_MODEL_SUBJECT,当创建/更新/删除模型时到达的通知电子邮件的主题
- LARAMETRICS_LOG_SUBJECT,当记录应用程序日志事件时到达的通知电子邮件的主题
- LARAMETRICS_ROUTE_SUBJECT,当访问路由时到达的通知电子邮件的主题
路线图
Larametrics仍在开发中,不断优化,并尝试与较旧的Laravel版本兼容。以下是即将到来的工作内容
- 添加忽略特定请求路径的功能
- 集成自定义webhook作为通知选项
- 将监听器从根目录移出,进入其自己的命名空间
- 优化前端以适应移动设备
- 扩展通知过滤器选项
- 集成Twilio进行短信通知
- 优化数据库查询以删除过期的模型以提高性能
- 添加Artisan命令以显示Larametrics数据
- 添加对队列的监视器
- 添加对计划任务的监视器
- 与Laravel 4.2+兼容
与Laravel Telescope的区别
2018年10月,Taylor Otwell宣布了Laravel Telescope,它作为Laravel应用程序的调试工具。有关Larametrics和Telescope之间的区别,请参阅这里的讨论。
联系方式
有问题?请在这里提交!想要联系?请随时通过Twitter与我联系,有任何一般性问题或评论都可以。
许可
MIT许可(MIT)。更多详细信息请参阅LICENSE.md。