vormkracht10/laravel-ok

你的 Laravel 应用正常吗?在生产环境中运行健康检查,确保你可以在晚上安心入睡,并确信一切仍然正常。


README

Total Downloads Tests PHPStan GitHub release (latest by date) Packagist PHP Version Support Latest Version on Packagist

在生产环境中进行健康检查,以确保你可以在晚上安心入睡,并确信一切仍然正常。

安装

您可以通过 composer 安装此包

composer require vormkracht10/laravel-ok

然后,您可以使用 ok:install Artisan 命令安装包

php artisan ok:install

这是已发布配置文件的内容

return [
    'notifications' => [
        'enabled' => env('LARAVEL_OK_NOTIFICATIONS_ENABLED', true),

        'failed_notification' => CheckFailedNotification::class,

        'notifiable' => Notifiable::class,

        'via' => [
            // 'discord' => [
            //     'channel' => 123456790,
            // ],
            // 'mail' => [
            //     'to' => 'text@example.com',
            // ],
            // 'slack' => [
            //     'webhook' => 'webhook-url',
            // ],
            // 'telegram' => [
            //     'channel' => 1234567890,
            // ],
        ],
    ],

    'checks' => [
        'audit' => [
            'path' => [
                // '~/some/bin',
            ],
        ],
    ],
];

用法

要为您的应用程序注册检查,您需要在 AppServiceProvider 的注册方法中注册它们到 checks 数组。

use Vormkracht10\LaravelOK\Facades\OK;

class AppServiceProvider extends ServiceProvider
{
    // ...

    public function register()
    {
        OK::checks([
            EnvironmentCheck::shouldBe('production'),
            DebugModeCheck::shouldBe('false'),
        ]);
    }
}

现在,您可以使用 ok:check Artisan 命令运行检查

php artisan ok:check

可用检查

  • 缓存检查:检查是否可以读取和写入缓存。
  • Composer 过时检查:检查项目中是否存在过时的包,并告知您发现的内容。
  • Composer 审计检查:检查 composer 依赖项中是否存在任何安全漏洞。
  • CPU 负载检查:检查在短期、中期和长期内总 CPU 负载是否超过一定百分比。
  • 配置缓存检查:检查是否缓存了配置。
  • 数据库检查:检查是否可以在配置的连接上建立连接。
  • 数据库连接数检查:检查数据库的连接数是否超过可配置的限制。
  • 数据库大小检查:检查数据库的数据是否超过可配置的大小限制。
  • 数据库表大小检查:与数据库大小检查相同,但针对特定表。
  • 调试模式检查:检查是否启用了调试模式。
  • 目录检查:检查是否配置了目录。
  • 磁盘空间检查:检查磁盘空间是否低于某个阈值。
  • DotEnv 检查:检查是否可以在应用程序中访问配置的环境变量。
  • 环境检查:检查当前环境是否与配置的环境类型匹配。
  • 事件缓存检查:检查事件是否已缓存。
  • 扩展检查:检查是否加载了配置的 PHP 扩展。
  • 文件检查:与目录检查相同,但针对文件。
  • Horizon 检查:检查 Horizon 是否正在运行。
  • 内存使用检查:检查总内存使用是否超过以百分比形式配置的限制。
  • NPM 审计检查:检查 npm 依赖项中是否存在任何安全漏洞。
  • NPM 已安装包检查:检查是否安装了某个 npm 包。
  • OPCache 检查:检查 OP 缓存和可选的 JIT 编译器是否已配置并正在运行。
  • 权限检查:检查配置的文件系统项是否具有当前用户的正确权限。
  • Ping 检查:检查应用程序是否可以 ping 指定的地址,如果未指定地址,则默认为 www.google.com
  • 进程数检查:检查配置的程序是否超过配置的进程数。
  • 队列检查:检查队列是否正在运行。
  • 重启检查:检查服务器是否最近已重启。
  • Redis检查:检查应用程序是否可以连接到配置的redis连接。
  • Redis内存使用检查:检查Redis实例是否超出配置的内存使用量。
  • 路由缓存检查:检查路由是否已缓存。
  • 调度器检查:检查调度器是否仍然在线并且正在运行任务。
  • 存储检查:检查配置的磁盘是否可读写。
  • 服务器运行时间检查:检查服务器的运行时间是否超过配置的最大值。

灵感来源

本包灵感来源于 Laravel Health

测试

composer test

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

安全漏洞

请审查 我们的安全策略 了解如何报告安全漏洞。

致谢

许可证

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