bretrzaun/statuspage

为应用程序添加状态页面

4.2.0 2024-02-29 13:46 UTC

README

Latest Stable Version Tests Scrutinizer Code Quality

使用自定义检查,为应用程序添加简单的状态页面。

状态页面会运行所有已注册的检查,并渲染显示结果的页面。

安装

composer require bretrzaun/statuspage

使用方法

$checker = new \BretRZaun\StatusPage\StatusChecker();
// add your checks here
$checker->addCheck(...);

// in different groups if you like
$group = new StatusCheckerGroup('Group 01');
$group->addCheck(...);
$group->addCheck(...);
$checker->addGroup($group);

// run the checks
$checker->check();

// use the built-in Twig template
$loader = new Twig_Loader_Filesystem('resources/views/');
$twig = new Twig_Environment($loader, ['autoescape' => false]);

$content = $twig->render(
    'status.twig',
        [
            'results' => $checker->getResults(),
            'title' => 'My status page'
        ]
    );
$code = $checker->hasErrors() ? 503 : 200;
// create a response with $content and $code

开箱即用的检查

  • CallbackCheck: 使用PHP回调函数的通用检查
  • DoctrineConnectionCheck: 检查有效的 Doctrine DBAL 连接
  • ElasticsearchCheck: 检查 Elasticsearch 客户端 是否成功ping
  • LogFileContentCheck: 检查(日志)文件中的特定内容
  • MongoDbCheck: 检查 MongoDB 客户端
  • PhpExtensionCheck: 检查指定的PHP扩展是否已加载
  • PhpIniCheck: 检查php.ini的值
  • PhpMemoryLimitCheck: 检查PHP内存限制
  • PhpVersionCheck: 检查PHP版本
  • UrlCheck: 检查URL

自定义检查

通过实现 BretRZaun\StatusPage\Check\CheckInterface 或继承 BretRZaun\StatusPage\Check\AbstractCheck,可以轻松添加自定义检查。

测试

要运行测试,只需输入

composer install
vendor/bin/phpunit