dotswan / filament-laravel-pulse
Requires
- php: ^8.2
- filament/filament: ^3.0
- illuminate/contracts: ^10.0 || ^11.0
- laravel/pulse: ^1.2.3
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
简介
Filament Laravel Pulse 是一个旨在增强 Filament 控制面板的综合监控小部件包。它提供了对 Laravel 应用程序性能各个方面的洞察,包括缓存使用、异常、队列、服务器等。通过将这些小部件集成到您的 Filament 控制面板中,您可以获得关键指标的可视化,并简化监控过程。
特性
Filament Laravel Pulse 提供以下特性
- 服务器监控:跟踪服务器性能指标。
- 缓存使用:监控缓存利用率和性能。
- 异常跟踪:查看和管理应用程序抛出的异常。
- 队列管理:监控作业队列和处理时间。
- 性能分析:对慢速出站请求、查询和应用使用模式的洞察。
安装
要将 Filament Laravel Pulse 包集成到您的项目中,请按照以下步骤操作
安装 Pulse
composer require laravel/pulse
php artisan vendor:publish --provider="Laravel\Pulse\PulseServiceProvider"
php artisan migrate --step
安装 Filament Laravel Pulse
composer require dotswan/filament-laravel-pulse
Filament Laravel Pulse 可配置以适应您应用程序的具体需求。安装包后,使用 Artisan 发布配置文件
php artisan vendor:publish --provider="Dotswan\FilamentLaravelPulse\FilamentLaravelPulseServiceProvider"
基本用法
要开始使用 Filament Laravel Pulse,请按照以下步骤操作
-
创建自定义 Filament 页面:通过创建自定义页面扩展默认的 Filament 控制面板。您可以为自定义仪表板类定义自定义仪表板类,并扩展
app/Filament/Pages/Dashboard
。 -
定义小部件:在您的自定义仪表板类中,定义要包含的小部件。使用提供的 Pulse 小部件(如 PulseCache、PulseExceptions 等)来显示相关指标。
<?php use Dotswan\FilamentLaravelPulse\Widgets\PulseCache; use Dotswan\FilamentLaravelPulse\Widgets\PulseExceptions; use Dotswan\FilamentLaravelPulse\Widgets\PulseQueues; use Dotswan\FilamentLaravelPulse\Widgets\PulseServers; use Dotswan\FilamentLaravelPulse\Widgets\PulseSlowOutGoingRequests; use Dotswan\FilamentLaravelPulse\Widgets\PulseSlowQueries; use Dotswan\FilamentLaravelPulse\Widgets\PulseSlowRequests; use Dotswan\FilamentLaravelPulse\Widgets\PulseUsage; use Filament\Actions\Action; use Filament\Actions\ActionGroup; use Filament\Pages\Dashboard\Concerns\HasFiltersAction; use Filament\Support\Enums\ActionSize; class Dashboard extends \Filament\Pages\Dashboard { use HasFiltersAction; public function getColumns(): int|string|array { return 12; } protected function getHeaderActions(): array { return [ ActionGroup::make([ Action::make('1h') ->action(fn() => $this->redirect(route('filament.manager.pages.dashboard'))), Action::make('24h') ->action(fn() => $this->redirect(route('filament.manager.pages.dashboard', ['period' => '24_hours']))), Action::make('7d') ->action(fn() => $this->redirect(route('filament.manager.pages.dashboard', ['period' => '7_days']))), ]) ->label(__('Filter')) ->icon('heroicon-m-funnel') ->size(ActionSize::Small) ->color('gray') ->button() ]; } public function getWidgets(): array { return [ PulseServers::class, PulseCache::class, PulseExceptions::class, PulseUsage::class, PulseQueues::class, PulseSlowQueries::class, PulseSlowRequests::class, PulseSlowOutGoingRequests::class ]; } }
示例配置
以下是您可能发现在发布的 filament-laravel-pulse.php 配置文件中的示例
<?php return [ 'components' => [ // Customize and configure your monitoring widgets here 'cache' => [ 'columnSpan' => [ 'md' => 5, 'xl' => 5, ], 'cols' => 'full', 'ignoreAfter' => '1 hour', 'isDiscovered' => true, 'isLazy' => true, 'sort' => null, 'canView' => true, 'columnStart' => [], ], // Define more components as needed ], ];
修改 'components' 下的数组,以调整 Filament Laravel Pulse 提供的每个监控小部件的设置。
许可证
此包在 MIT 许可证 下分发。
安全
安全对我们来说是一个重点。如果您遇到任何与安全相关的问题或漏洞,请通过我们的 GitHub 问题跟踪器 报告。对于直接沟通,请联系 tech@dotswan.com。
贡献
欢迎并重视贡献。增强功能、建议和错误报告有助于提高本包对每个人的质量。以下是如何贡献的说明
- 叉项目
- 创建功能分支(
git checkout -b feature/AmazingFeature
) - 提交您的更改(
git commit -m 'Add some AmazingFeature'
) - 推送到分支(
git push origin feature/AmazingFeature
) - 打开拉取请求
感谢您考虑为 Filament Laravel Pulse 做出贡献!