nuboxdevcom / laravel-healthcheck
在您的Laravel应用程序中的存活性和就绪性探测
1.1.0
2022-08-19 17:01 UTC
Requires
- php: ^8.1
- ext-pdo: *
- illuminate/support: ^9.25
Requires (Dev)
- roave/security-advisories: dev-latest
README
需求
- PHP ^8.1
- Laravel ^9
安装
composer require nuboxdevcom/laravel-healthcheck
php artisan migrate
- 如果您的应用程序使用调度器和作业队列,请在src/Console/Kernel.php中添加以下行
$schedule->command('healthcheck:heartbeat')->everyMinute(); // For monitor scheduler $schedule->job(Heartbeat::class)->everyMinute(); // For monitor job queue (redis/horizon/...)
使用健康检查
您可以将监控配置为向健康探测的URL发送ping,以便在出现问题时收到警报。
在Kubernetes中,您还可以使用LivenessProbe和ReadinessProbe进行容器健康检查。
https://kubernetes.ac.cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
存活性探测
为不同的服务提供了专门的存活性探测。
如果服务运行正常且无问题(所有服务均可用),则它们将响应http 200状态码。
如果服务不可用,则返回Https状态503。
- 后端服务:
{APP_URL}/healthcheck/liveness/backend
- 数据库服务:
{APP_URL}/healthcheck/liveness/database
- 调度服务:
{APP_URL}/healthcheck/liveness/schedule
- 队列服务:
{APP_URL}/healthcheck/liveness/queue
- 自定义组件检查:
{APP_URL}/healthcheck/liveness/components/{comp1,comp2,...}
对于自定义检查,可用的组件是
queue
|schedule
|database
|backend
,用逗号分隔
例如:{APP_URL}/healthcheck/liveness/components/{queue,schedule,database,backend}
就绪性探测
就绪性探测对所有服务都是相同的:{APP_URL}/healthcheck/readiness
如果服务已准备好接收http请求,则将响应http 200状态码。