vormkracht10 / laravel-ok
你的 Laravel 应用正常吗?在生产环境中运行健康检查,确保你可以在晚上安心入睡,并确信一切仍然正常。
dev-main
2024-09-16 13:02 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0|^11.0
- lorisleiva/cron-translator: ^0.4.5
- mtdowling/cron-expression: ^1.2
- spatie/emoji: ^4.1
- spatie/laravel-package-tools: ^1.14.0
- symfony/dom-crawler: ^6.2
- vlucas/phpdotenv: ^5.5
Requires (Dev)
- guzzlehttp/guzzle: ^7.5
- laravel-notification-channels/discord: ^1.5
- laravel-notification-channels/telegram: ^4.0
- laravel/horizon: ^5.20
- laravel/pint: ^1.0
- laravel/slack-notification-channel: ^3.0
- nunomaduro/collision: ^v7.2.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^v2.4.0
- pestphp/pest-plugin-laravel: ^v2.0.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^10.0.16
This package is auto-updated.
Last update: 2024-09-16 13:02:09 UTC
README
在生产环境中进行健康检查,以确保你可以在晚上安心入睡,并确信一切仍然正常。
安装
您可以通过 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 以获取有关最近更改的更多信息。
安全漏洞
请审查 我们的安全策略 了解如何报告安全漏洞。