nuboxdevcom/laravel-healthcheck

在您的Laravel应用程序中的存活性和就绪性探测

1.1.0 2022-08-19 17:01 UTC

This package is auto-updated.

Last update: 2024-09-19 21:29:19 UTC


README

需求

  • PHP ^8.1
  • Laravel ^9

安装

  1. composer require nuboxdevcom/laravel-healthcheck
  2. php artisan migrate
  3. 如果您的应用程序使用调度器和作业队列,请在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状态码。