定制 anourvalar/laravel-health 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

anourvalar/laravel-health

最新稳定版本:1.15.1

Composer 安装命令:

composer require anourvalar/laravel-health

包简介

Additional Checks for Laravel Health (Spatie)

README 文档

README

Installation

composer require anourvalar/laravel-health

Checks for spatie/laravel-health

FilesystemCheck

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\FilesystemCheck::new()->disks(['s3' => ($checkPublicUrl = true)]),
]);

OpcacheCheck

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\OpcacheCheck::new(),
]);

PusherCheck

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\PusherCheck::new()->connection(null), // default connection
]);

QueueFailedCheck

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\QueueFailedCheck::new(),
]);

XdebugCheck

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\XdebugCheck::new(),
]);

SSL Certificate

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\SSLCertCheck::new()
      ->url('google.com')
      ->warnWhenExpiringDay(10)
      ->failWhenExpiringDay(2),
]);

Cpu Load

\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'),
]);

Reverse Proxy Security

First, you need to register a route for the checker.

Route::any('/health-ping', HealthPingController::class);
\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\ReverseProxySecurityCheck::new()->url('/health-ping'),
]);

HTTP -> HTTPS 301 redirect

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\Http2HttpsCheck::new()
        ->shouldBeRedirected(['/', '/image.png']),
]);

WWW -> none WWW 301 redirect

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\Www2NoneCheck::new()
        ->shouldBeRedirected(['/', '/image.png']),
]);

Mailer

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\MailerCheck::new()
        ->mailer(null), // default
]);

Sentry

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\SentryCheck::new(),
]);

Directory Permissions

\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
]);

Cache Headers

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\CacheHeadersCheck::new()
        ->shouldBeCached('/image.png')
        ->shouldNotBeCached('/'),
]);

Root (user)

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\RootCheck::new(),
]);

FastCGI

First, you need to register a route for the checker.

Route::any('/health-ping', HealthPingController::class);
\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\FastCGICheck::new()->url('/health-ping'),
]);

Queue size

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\QueueSizeCheck::new()
        ->add(['connection' => null, 'name' => null, 'max_size' => 200]),
]);

Octane server

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\OctaneCheck::new(),
]);

Redis Config

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\RedisConfigCheck::new(),
]);

HTTP/2

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\HttpV2Check::new()->urls('/'),
]);

HSTS

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\HstsCheck::new()->urls('/'),
]);

DB Config (Postgresql, Mysql)

\Spatie\Health\Facades\Health::checks([
    \AnourValar\LaravelHealth\DBConfigCheck::new()
        ->params(['transaction_isolation' => 'read committed']), // READ-COMMITTED
]);

统计信息

  • 总下载量: 28.17k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-09-15