vormkracht10 / laravel-ok
Is your Laravel app OK? Health checks running in production to ensure you can sleep well at night and be sure everything is still OK.
Fund package maintenance!
vormkracht10
Installs: 13 323
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 0
Open Issues: 1
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-12-18 12:51:16 UTC
README
Health checks made in production to ensure you can sleep well at night and be sure everything is still OK.
Installation
You can install the package via composer:
composer require vormkracht10/laravel-ok
You can then install the package by using the ok:install
Artisan command:
php artisan ok:install
This is the contents of the published config file:
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', ], ], ], ];
Usage
To register checks for your application, you need to register them in the checks
array in your AppServiceProvider
register method.
use Vormkracht10\LaravelOK\Facades\OK; class AppServiceProvider extends ServiceProvider { // ... public function register() { OK::checks([ EnvironmentCheck::shouldBe('production'), DebugModeCheck::shouldBe('false'), ]); } }
You can now run the checks using the ok:check
Artisan command:
php artisan ok:check
Available checks
- Cache Check: Check whether reading and writing to the cache is possible.
- Composer Outdated Check: Checks whether there are outdated packages in your project and informs you of the findings.
- Composer Audit Check: Checks whether there are any security vulnerabilities in your composer dependencies.
- CPU Load Check: Checks whether the total CPU load is above a certain percentage on a short, mid and long term.
- Config Cache Check: Checks whether the config is cached.
- Database Check: Checks whether a connection can be established on the configured connection.
- Database Connection Count Check: Checks whether the database's connection count exceeds a configurable limit.
- Database Size Check: Checks whether the database's data exceeds a configurable size limit.
- Database Table Size Check: Does the same as the Database Size Check but for a specific table.
- Debug Mode Check: Checks whether debug mode is enabled.
- Directory Check: Checks whether the configured directories exist.
- Disk Space Check: Checks whether the disk space is below a certain threshold.
- DotEnv Check: Checks whether the configured environment variables are accessible in the application.
- Environment Check: Checks whether the current environment matches the configured environment type.
- Event Cache Check: Checks whether events are cached.
- Extension Check: Checks whether the configured PHP extensions are loaded.
- File Check: Does the same as the Directory Check but for files.
- Horizon Check: Checks whether Horizon is running.
- Memory Usage Check: Checks whether the total memory usage exceeds a configurable limit in the form of a percentage.
- NPM Audit Check: Checks whether there are any security vulnerabilities in your npm dependencies.
- NPM Installed Package Check: Checks whether a certain npm package is installed.
- OPCache Check: Checks whether OP cache and optionally the JIT compiler are configured and running.
- Permission Check: Checks whether the configured filesystem items have the correct permissions for the current user.
- Ping check: Checks whether the application can ping the specified address, if the address is not specified it defaults to
www.google.com
. - Process Count Check: Checks whether the configured programs are exceeding the configured process count.
- Queue Check: Checks whether the queue is running.
- Reboot Check: Checks whether the server has rebooted recently.
- Redis Check: Checks whether the application can connect to the configured redis connections.
- Redis Memory Usage Check: Checks whether the Redis instance is exceeding a configured amount of memory usage.
- Route Cache Check: Checks whether routes are cached.
- Scheduler Check: Checks whether the scheduler has is still online and running jobs.
- Storage Check: Checks whether the configured disks can be written to and read from.
- UptimeCheck: Checks whether the server's uptime exceeds a configured maximum.
Inspired by
This package is inspired by Laravel Health.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.