phpsafari/health-checks

在您的 Laravel 应用中进行健康检查

v0.0.7 2017-12-08 21:05 UTC

README

Build Status

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

示例

All passed DB failed Queue failed Url stats

安装

首先,使用 Composer 安装此包。

$ composer require phpsafari/health-checks

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

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

$ php artisan vendor:publish --tag=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 的健康检查

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

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

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

创建您自己的健康检查

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

示例

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

然后向 config/health.php 中的检查列表添加 new IsFriday()

测试

$ phpunit tests/

安全

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

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件