grafite/mission-control-laravel

用于 Mission Control (Grafite Inc) 的 Laravel 包

v3.6.0 2024-08-19 15:31 UTC

README

Build Status Packagist license

Mission Control Laravel 包 - 将数据发送到 Grafite 的 Mission Control 系统,以保持对您的应用程序的控制。

Grafite 的 Mission Control 是一个优雅的应用性能管理系统。忘记被成百上千的图表和复杂的配置淹没,例如 CMS 网站、自定义电子商务平台等。利用简单的用户界面,获取高需求时刻的特定数据。在系统过载或高错误触发几分钟内获得通知。通过下一次部署在5分钟内设置它,并夺回您的周末。

要求

  1. PHP 7.3+

Composer

composer require grafite/mission-control-laravel

环境变量

您需要将这些变量添加到您的环境中。这些将是使用 Laravel FORGE 部署的应用程序的格式。

只需记住您需要在服务器上启用日志记录 - 以下为信息

MISSION_CONTROL_USER_TOKEN={api_token}
MISSION_CONTROL_PROJECT_KEY={project_key}
MISSION_CONTROL_PROJECT_UUID={project_uuid} // required for JS error reporting

发布配置

php artisan vendor:publish --provider="Grafite\MissionControlLaravel\GrafiteMissionControlLaravelProvider"

Blade 指令

您可能想利用 JavaScript 错误报告功能。如果是这样,您需要简单地将以下内容添加到您的标题中

@missionControl

它将注入一个 JS 错误跟踪,并带有 window 监听器的错误。

问题

默认情况下,Mission Control 将记录您在配置中指定的任何环境的所有异常和日志。您可以通过删除所有环境来禁用此功能。否则,您可以手动记录事项。

问题允许您查看异常或任何您想跟踪的标记消息。您可以使用以下方法做到这一点

use Grafite\MissionControlLaravel\Issue;

try {
    // do some code
} catch (Exception $e) {
    app(Issue::class)->exception($e);
}

或者,如果您只想标记应用中可能的问题或担忧

use Grafite\MissionControlLaravel\Issue;

app(Issue::class)->log('Anything you want to say goes here', 'tag');
标签

标签可以是您想要的任何术语,以帮助整理您的问题。

通知

您可以通过这个方便的服务轻松地为您的应用程序提供标记通知

use Grafite\MissionControlLaravel\Notify;

app(Notify::class)->send('This is a title', 'info', 'This is a custom message');

Mission Control 报告

Report CRON 作业允许您将应用程序性能的数据发送回 Mission Control。

然后如果您使用 FORGE(默认设置),您可以将以下内容添加到计划作业中

COMMAND: php /home/forge/{domain}/artisan mission-control:report
USER: forge
FREQUENCY: Custom
CUSTOM SCHEDULE: */5 * * * *

Forge Screenshot

如果没有,只需将其添加到您的 CRONTAB

*/5 * * * * php /{app-path}/artisan mission-control:report

安全措施

COMMAND: php /home/forge/{domain}/artisan mission-control:virus-scan
USER: forge
FREQUENCY: Custom
CUSTOM SCHEDULE: 0 1 * * *

安装 ClamAV

sudo apt-get install clamav clamav-daemon mailutils -y
sudo service clamav-freshclam stop
sudo freshclam

PHPUnit 设置

如果发生这种情况,您的测试可能会开始失败。如果发生这种情况,只需将这些环境变量添加到您的 phpunit.xml 文件中。您还可以直接将它们添加到您选择的 CI 工具中。

<env name="MISSION_CONTROL_USER_TOKEN" value="testing"/>
<env name="MISSION_CONTROL_PROJECT_KEY" value="testing"/>

许可证

Mission Control PHP 包是开源软件,根据 MIT 许可证 发布。

错误报告和功能请求

请在提交问题或功能请求时提供尽可能多的细节

免责声明

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和不侵犯版权。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他方式,以及软件或其使用或其他交易产生的。