如何配置Laravel Pulse监控Laravel后端的API请求?
Laravel Pulse 配置指南(适配React Native Expo API后端)
一、基础安装与初始化
- 安装Laravel Pulse包:
composer require laravel/pulse - 发布配置文件与数据库迁移:
php artisan vendor:publish --provider="Laravel\Pulse\PulseServiceProvider" - 运行迁移创建Pulse所需数据表:
php artisan migrate - 配置并启动队列(Pulse依赖队列处理监控数据,避免阻塞API请求):
- 修改
.env文件,将队列驱动改为非sync(推荐database):QUEUE_CONNECTION=database - 启动队列worker:
php artisan queue:work
- 修改
二、监控所有API请求
- 打开
app/Http/Kernel.php,在$middlewareGroups的api组中添加Pulse的请求捕获中间件:'api' => [ // 保留原有中间件 \Laravel\Pulse\Http\Middleware\CaptureRequest::class, ], - 如需排除特定API路由(如健康检查接口),编辑
config/pulse.php,在ignore_paths数组中添加路径:'ignore_paths' => [ '/api/health', // 其他需要排除的路径 ],
三、追踪慢查询
- 编辑
config/pulse.php,找到slow_query_threshold配置项,设置慢查询阈值(单位:毫秒),例如设为1秒:'slow_query_threshold' => 1000, - Pulse会自动监听所有数据库查询,超过阈值的查询会被标记为慢查询,在监控面板中单独展示详情。
四、追踪API用户
- 确保你的API已实现用户认证(如Laravel Sanctum/Passport),请求能正确识别当前登录用户。
- 检查
config/pulse.php的recorders数组,确保AuthRecorder已启用(默认处于启用状态):'recorders' => [ // 其他recorder配置 Laravel\Pulse\Recorders\AuthRecorder::class => [ 'enabled' => true, 'sample_rate' => 1, ], ], - 若你的用户模型非默认
App\Models\User,在config/auth.php中配置正确的模型路径,Pulse会自动关联请求与用户信息,在面板中展示活跃用户及他们的请求记录。
五、访问Pulse监控面板
- 默认访问路径为
/pulse,可通过config/pulse.php的path项修改自定义路径:'path' => 'pulse-dashboard', - 面板默认受
auth中间件保护,仅登录用户可访问。如需限制特定角色,修改config/pulse.php的middleware数组:'middleware' => ['auth', 'role:admin'],
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

