chocofamilyme / laravel-healthcheck
为您的应用程序提供健康检查功能
4.0.0
2023-03-07 07:41 UTC
Requires
- php: ^8.0.2
- ext-json: *
- illuminate/cache: ^8.0|^9.0|^10.0
- illuminate/database: ^8.0|^9.0|^10.0
- illuminate/http: ^8.0|^9.0|^10.0
- illuminate/routing: ^8.0|^9.0|^10.0
- illuminate/session: ^8.0|^9.0|^10.0
- illuminate/support: ^8.0|^9.0|^10.0
Requires (Dev)
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^4.3
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 的形式输出,请随意添加您的响应。