isbkch/lumen-health-checks

在您的 lumen 应用程序中进行健康检查

0.1 2019-05-01 16:27 UTC

This package is auto-updated.

Last update: 2020-06-30 01:28:41 UTC


README

使用此包将健康检查添加到您的 Laravel 应用程序中。

示例

All passed DB failed Queue failed

安装

首先,使用 Composer 安装此包。

$ composer require isbkch/lumen-health-checks

安装包后,将 ``Isbkch\ServiceProvider\HealthCheckServiceProvider::class`` 添加到您的 ``config/app.php`` 文件中。

完成此操作后,通过运行以下命令将 ``health.php`` 配置文件发布到您的 ``config`` 文件夹:

$ $app->register(\Isbkch\ServiceProvider\HealthCheckServiceProvider::class);
$ $app->configure('health');

使用方法

在 ``config/health.php`` 文件中配置所有可用的健康检查。默认情况下,此包已包含一些内置的检查

  • CorrectEnvironment 将检查您的应用程序环境是否设置为 production
  • DatabaseOnline 将检查您的数据库连接
  • DatabaseUpToDate 将检查您的应用程序是否有任何尚未迁移的迁移
  • DebugModeOff 将检查调试模式是否已关闭
  • QueueProcessing 将检查队列是否正在运行并且作业正在处理
  • PathIsWritable 将检查提供的路径是否可写
  • LogLevel 将检查日志级别是否设置为给定的值
  • MaxRatioOf500Responses 将检查 500 响应的比例是否超过给定的阈值(过去 60 分钟内)
  • MaxResponseTimeAvg 将检查所有请求的平均响应时间是否超过给定的阈值(过去 60 分钟内)

要运行应用程序的健康检查,请运行:

$ php artisan health:check

您还可以使用 Laravel 的调度器来安排健康检查

$schedule->command('health:check')->hourly();

基于 URL 的健康检查

您还可以通过在浏览器中访问 https://<APP_URL>/_health 或使用 Pingdom 等工具来运行健康检查。

注意:您可以在 ``config/health.php`` 文件中将此功能禁用,通过将 ``route.enabled`` 设置为 ``false``。

您可以通过访问 https://<APP_URL>/_health/stats 来获取所有统计数据,包括平均响应时间

创建您自己的健康检查

要创建自己的健康检查,您只需要扩展 Isbkch\Checks\HealthCheck 类并实现 run() 方法。

示例

class IsFriday extends Isbkch\Checks\HealthCheck
{
    public function run(): bool
    {
        return Carbon::now()->isFriday();
    }
}

然后,将 new IsFriday() 添加到 ``config/health.php`` 中的检查列表中。

测试

$ phpunit tests/

安全

如果您发现任何安全问题,请通过电子邮件 :author_email 而不是使用问题跟踪器。

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。