ricardosierra / larametrics
Laravel应用的托管指标和通知平台
资助包维护!
aschmelyun
Requires
- php: ^7.0
- guzzlehttp/guzzle: ^6.5|^7.0
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
Replaces
README
Larametrics是一个Laravel应用的托管指标和通知平台,它可以记录并通知你模型、接收到的请求和写入日志的消息的变化。
完整的文档可以在这里找到,下面是快速入门指南。
要求
- 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。