tiacx/laravel-health-plus
Composer 安装命令:
composer require tiacx/laravel-health-plus
包简介
Laravel-Health-Plus
README 文档
README
说明
spatie/laravel-health 的增强扩展包,为你的 Laravel 应用提供额外的健康检查与通知功能。
安装
composer require tiacx/laravel-health-plus
配置
发布配置文件:
php artisan vendor:publish --tag=health-plus-config
该命令会发布 config/health.php 配置文件。
配置检查项:
发布配置后,修改 config/health.php 中的 checks 数组来启用或配置你需要的检查项。
// config/health.php 'checks' => [ DatabaseCheck::new(), RedisCheck::new(), UsedDiskSpaceCheck::new() ->warnWhenUsedSpaceIsAbovePercentage(85) ->failWhenUsedSpaceIsAbovePercentage(95), DatabaseConnectionCountCheck::new() ->warnWhenMoreConnectionsThan(2000) ->failWhenMoreConnectionsThan(5000), CpuLoadCheck::new() ->warnWhenLoadIsIncreasing(3.0) // 系统负载剧增超过3倍 ->topProcessesLimit(5), // Top5 进程 RequestCheck::new() ->warnWhenRpsIsIncreases(3) // 每秒请求数剧增超过3倍 ->warnWhenDurationIsIncreases(10), // 请求响应时间剧增超过10倍 PhpFpmCheck::new() ->statusUrl('http://localhost/fpm-status') ->warnWhenActiveProcessesIsAbovePercentOfMaxChildren(80) ->failWhenActiveProcessesIsAbovePercentOfMaxChildren(95) ->warnWhenListenQueueIsAbove(5) ->failWhenListenQueueIsAbove(10) ->warnWhenSlowRequestsIsAbove(5) ->failWhenSlowRequestsIsAbove(10), LogCheck::new() ->failWhenErrorLogsAbove(0) // 有错误日志 ->warnWhenWarningLogsIsAbove(100) // 警告日志超过100条 ->everyFifteenMinutes(), // 15分钟一次 ],
配置通知:
发布配置后,修改 config/health.php 中的 notifications 数组来启用或配置你需要的通知方式,默认使用 webhook 通知
'notifications' => [ 'enabled' => true, 'notifications' => [ HealthCheckNotification::class => ['webhook'], ], 'notifiable' => HealthCheckNotifiable::class, 'webhook' => [ 'url' => env('HEALTH_NOTIFICATION_WEBHOOK_URL', ''), ], ],
注:通过 HEALTH_NOTIFICATION_WEBHOOK_URL 环境变量来配置 Webhook URL。
其他可用 Check 类:
https://spatie.be/docs/laravel-health/v1/available-checks/overview
迁移
php artisan vendor:publish --tag="health-migrations"
php artisan migrate
使用
手动运行健康检查:
php artisan health:check
定时运行健康检查:
app/Console/Kernel.php 中添加以下代码:
$schedule->command(RunHealthChecksCommand::class)->everyMinute();
或者在 routes/console.php 中添加以下代码:
Schedule::command(RunHealthChecksCommand::class)->everyMinute();
更多说明
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-18