coreproc / laravel-healthcheck
0.5.1
2024-09-17 04:43 UTC
README
此软件包为您的Laravel应用程序提供了一个简单的健康检查端点。
安装
您可以通过Composer安装此软件包
composer require coreproc/laravel-healthcheck
发布配置文件
php artisan vendor:publish --provider="Coreproc\LaravelHealthcheck\HealthcheckServiceProvider"
使用方法
安装后,您可以通过访问/healthcheck
端点来检查健康状态。
您可以在config/healthcheck.php
文件中配置路径,并指定您想要检查的服务。
// config/healthcheck.php return [ 'path' => 'healthcheck', 'database' => true, 'redis' => true, 'horizon' => true, 'scheduler' => false, ];
定时任务/调度器
如果您想检查调度器是否运行,请在app/Console/Kernel.php
中的调度器中添加以下内容
$schedule->call(function () { Cache::put('scheduler_last_run', now()); })->everyMinute();
这将每分钟更新缓存键scheduler_last_run
。健康检查将检查此键是否在过去2分钟内被更新。
Cloudwatch日志记录
如果存在不可用的服务,健康检查将记录检查状态。日志将包含服务的状态和通过日志的context
的消息。
JSON示例日志
{ "origin": "app.web", "message": "Scheduler is not running.", "context": { "is_scheduler_running": false, "last_run": "2024-03-25 05:26:01", "include_in_metrics": false }, "level": 400, "level_name": "ERROR", "channel": "local", "extra": {} }
以下为健康检查日志的可能上下文
is_database_connected
- 如果数据库已连接,则为布尔值。is_redis_connected
- 如果redis已连接,则为布尔值。is_horizon_running
- 如果horizon正在运行,则为布尔值。is_scheduler_running
- 如果调度器正在运行,则为布尔值。