Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vormkracht10/laravel-ok
Is your Laravel app OK? This package can monitor and notify you when something is wrong!
https://github.com/vormkracht10/laravel-ok
checker checks health laravel monitor php server status
Last synced: about 1 month ago
JSON representation
Is your Laravel app OK? This package can monitor and notify you when something is wrong!
- Host: GitHub
- URL: https://github.com/vormkracht10/laravel-ok
- Owner: vormkracht10
- License: mit
- Created: 2023-05-26T07:28:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-16T13:02:05.000Z (3 months ago)
- Last Synced: 2024-10-26T13:42:35.533Z (about 2 months ago)
- Topics: checker, checks, health, laravel, monitor, php, server, status
- Language: PHP
- Homepage: https://vormkracht10.nl
- Size: 248 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Is your Laravel app OK?
[![Total Downloads](https://img.shields.io/packagist/dt/vormkracht10/laravel-ok.svg?style=flat-square)](https://packagist.org/packages/vormkracht10/laravel-ok)
[![Tests](https://github.com/vormkracht10/laravel-ok/actions/workflows/run-tests.yml/badge.svg?branch=main)](https://github.com/vormkracht10/laravel-ok/actions/workflows/run-tests.yml)
[![PHPStan](https://github.com/vormkracht10/laravel-ok/actions/workflows/phpstan.yml/badge.svg?branch=main)](https://github.com/vormkracht10/laravel-ok/actions/workflows/phpstan.yml)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/vormkracht10/laravel-ok)
![Packagist PHP Version Support](https://img.shields.io/packagist/php-v/vormkracht10/laravel-ok)
[![Latest Version on Packagist](https://img.shields.io/packagist/v/vormkracht10/laravel-ok.svg?style=flat-square)](https://packagist.org/packages/vormkracht10/laravel-ok)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:
```bash
composer require vormkracht10/laravel-ok
```You can then install the package by using the `ok:install` Artisan command:
```bash
php artisan ok:install
```This is the contents of the published config file:
```php
return [
'notifications' => [
'enabled' => env('LARAVEL_OK_NOTIFICATIONS_ENABLED', true),'failed_notification' => CheckFailedNotification::class,
'notifiable' => Notifiable::class,
'via' => [
// 'discord' => [
// 'channel' => 123456790,
// ],
// 'mail' => [
// 'to' => '[email protected]',
// ],
// '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.
```php
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:
```bash
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](https://github.com/spatie/laravel-health).
## Testing
```bash
composer test
```## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Security Vulnerabilities
Please review [our security policy](../../security/policy) on how to report security vulnerabilities.
## Credits
- [Mark van Eijk](https://github.com/markvaneijk)
- [Bas van Dinther](https://github.com/baspa)
- [David den Haan](https://github.com/daviddenhaan)
- [All Contributors](../../contributors)## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
-