anourvalar / laravel-health
Laravel Health (Spatie) 的附加检查
1.12.3
2024-09-21 12:12 UTC
Requires
- php: ^8.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0
- spatie/laravel-health: ^1.29
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.26
- orchestra/testbench: ^8.6
- phpstan/phpstan: ^1.10
- psalm/plugin-laravel: ^2.8
- squizlabs/php_codesniffer: ^3.7
README
安装
composer require anourvalar/laravel-health
对 spatie/laravel-health 的检查
文件系统检查
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\FilesystemCheck::new()->disks(['s3' => ($checkPublicUrl = true)]), ]);
OPcache 检查
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\OpcacheCheck::new(), ]);
Pusher 检查
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\PusherCheck::new()->connection(null), // default connection ]);
队列失败检查
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\QueueFailedCheck::new(), ]);
Xdebug 检查
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\XdebugCheck::new(), ]);
SSL 证书
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\SSLCertCheck::new() ->url('google.com') ->warnWhenExpiringDay(10) ->failWhenExpiringDay(2), ]);
CPU 负载
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\CpuLoadCheck::new()->failWhenLoadIsHigher( 2.5, // last minute 2.0, // last 5 minutes 1.5 // last 15 minutes ), ]);
Gzip
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\GzipCheck::new() ->shouldBeGzipped('/') ->shouldNotBeGzipped('/image.png'), ]);
反向代理安全性
首先,您需要为检查器注册一个路由。
Route::any('/health-ping', HealthPingController::class);
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\ReverseProxySecurityCheck::new()->url('/health-ping'), ]);
HTTP -> HTTPS 301 重定向
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\Http2HttpsCheck::new() ->shouldBeRedirected(['/', '/image.png']), ]);
WWW -> 无 WWW 301 重定向
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\Www2NoneCheck::new() ->shouldBeRedirected(['/', '/image.png']), ]);
邮件发送器
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\MailerCheck::new() ->mailer(null), // default ]);
Sentry
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\SentryCheck::new(), ]);
目录权限
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\DirectoryPermissionsCheck::new() ->writable(storage_path('logs')) ->notWritable(app_path('')), ]);
CORS
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\CorsCheck::new() ->allowed('https://good.com') ->disallowed('https://evil.com') ->url('api/sanctum/csrf-cookie'), // target endpoint ]);
缓存头
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\CacheHeadersCheck::new() ->shouldBeCached('/image.png') ->shouldNotBeCached('/'), ]);
根目录(用户)
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\RootCheck::new(), ]);
FastCGI
首先,您需要为检查器注册一个路由。
Route::any('/health-ping', HealthPingController::class);
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\FastCGICheck::new()->url('/health-ping'), ]);
队列大小
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\QueueSizeCheck::new() ->add(['connection' => null, 'name' => null, 'max_size' => 200]), ]);
Octane 服务器
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\OctaneCheck::new(), ]);
Redis 配置
\Spatie\Health\Facades\Health::checks([ \AnourValar\LaravelHealth\RedisConfigCheck::new(), ]);