chocofamilyme/laravel-healthcheck

为您的应用程序提供健康检查功能

4.0.0 2023-03-07 07:41 UTC

This package is auto-updated.

Last update: 2024-09-07 11:13:25 UTC


README

健康检查库为您的项目添加新的端点(路由),用于检查应用程序的一些服务。例如,您想检查微服务的“数据库连接”。

安装

composer require chocofamilyme/laravel-healthcheck ^2.0

发布配置(可选)

php artisan vendor:publish --provider="Chocofamilyme\LaravelHealthCheck\Providers\HealthCheckServiceProvider"

检查

  • 数据库连接检查
  • 缓存读写检查
  • 会话读写检查
  • 存储检查

路由

  • /health
{
  "DB": "OK",
  "CACHE": "OK",
  "SESSIONS": "CRITICAL",
  "STORAGE": "OK"
}
  • /health/extended
{
  "DB": {
    "STATUS": "OK",
    "STATUS_BOOL": true,
    "MESSAGE": null
  },
  "CACHE": {
    "STATUS": "OK",
    "STATUS_BOOL": true,
    "MESSAGE": null
  },
  "SESSIONS": {
    "STATUS": "CRITICAL",
    "STATUS_BOOL": false,
    "MESSAGE": "Connection to tarantool.example.com failed"
  },
  "STORAGE": {
    "STATUS": "OK",
    "STATUS_BOOL": true,
    "MESSAGE": null
  }
}

如何编写自定义检查

创建一个实现了 Chocofamilyme\LaravelHealthCheck\Services\Checks\ComponentCheckInterface 的类,并将其添加到 healthcheck.php 配置文件中,例如:

return [
    'componentChecks' => [
        'YOURCUSTOMCHECK' => YourCustomCheck::class
    ]
]

响应

存在一个配置参数,用于描述使用哪个响应类来输出响应。例如

  • /health - Chocofamilyme\LaravelHealthCheck\Responses\Response::class 输出将类似于以下内容
{
  "DB": "OK",
  "CACHE": "OK",
  "SESSIONS": "CRITICAL",
  "STORAGE": "OK"
}
  • /health - Chocofamilyme\LaravelHealthCheck\Responses\Response::class 输出将类似于以下内容
{
    "data": {
        "DB": "OK",
        "CACHE": "OK",
        "SESSIONS": "CRITICAL",
        "STORAGE": "OK"
    }
}

如果您想以视图而不是 JSON 的形式输出,请随意添加您的响应。