chocofamilyme / phalcon-healthcheck
为您的应用程序提供健康检查功能
1.0.6
2020-11-19 10:48 UTC
Requires
- php: >= 7.4.0
- ext-json: *
- ext-phalcon: >= 4.0.6
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.3
- phalcon/ide-stubs: ^4.0
This package is auto-updated.
Last update: 2024-09-19 19:43:03 UTC
README
健康检查库为您项目添加新的端点(路由),用于检查应用程序的一些服务。例如,您想检查微服务的“数据库连接”。
安装
composer require chocofamilyme/phalcon-healthcheck ^1.0
- 设置应用程序的示例
<?php use Phalcon\Di\FactoryDefault; use Phalcon\Mvc\Micro; use Chocofamily\PhalconHealthCheck\Providers\HealthCheckServiceProvider; $container = new FactoryDefault(); $application = new Micro($container); $container->setShared('application', $application); $container->register(new HealthCheckServiceProvider());
- 将上述 ServiceProvider 类添加到 config/config/providers.php
- 将 healthCheck.php 复制到 config/ 并管理项目所需的配置值
检查
- 数据库连接检查
- 缓存读写检查
- 会话读写检查
- 存储检查
路由
- /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 } }
如何编写自定义检查
创建一个实现 Chocofamily\PhalconHealthCheck\Services\Checks\ComponentCheckInterface 的类,并将其添加到 healthcheck.php 配置文件中,如下所示
return [ 'componentChecks' => [ 'YOURCUSTOMCHECK' => YourCustomCheck::class ] ]
响应
有一个配置参数描述了用于输出响应的响应类。例如
- /health - Chocofamily\PhalconHealthCheck\Responses\ChocofamilyResponse::class 输出将如下所示
{ "data": { "DB": "OK", "CACHE": "OK", "SESSIONS": "CRITICAL", "STORAGE": "OK" } }
如果您想将响应输出到视图中而不是 JSON,请随意添加您的响应。