Check the health of your Statamic app
Using this addon you can monitor the health of your application by registering checks.
Here's an example where we'll monitor available disk space.
// typically, in a service provider
use Spatie\Health\Facades\Health;
use Spatie\Health\Checks\Checks\UsedDiskSpaceCheck;
Health::checks([
UsedDiskSpaceCheck::new()
->warnWhenUsedSpaceIsAbovePercentage(70)
->failWhenUsedSpaceIsAbovePercentage(90),
]);
When the used disk space is over 70%, then a notification with a warning will be sent. If it's above 90%, you'll get an error notification. Out of the box, the package can notify you via mail and Slack.
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Installation
Publish the laravel-health
config file
php artisan vendor:publish --tag="health-config"
Remove the EloquentHealthResultStore
in the health_stores
array and replace it by the following:
Spatie\Health\ResultStores\JsonFileHealthResultStore::class => [
'disk' => 'local',
'path' => 'health.json',
],
This will store the result of the health checks in a json file instead of trying to access a database.
Documentation
This addon uses the Laravel Health package, for more information on the package itself check out the docs.
Widget
This addon provides you with the possibility of adding health check widgets to your Statamic dashboard, you can add any Health check by configuring the widget in config/statamic/cp.php
like this:
'widgets' => [
[
'type' => 'health_check',
'check' => \Spatie\Health\Checks\Checks\UsedDiskSpaceCheck::class,
'width' => 33,
],
...
],
Make sure you've configured the Health check correctly before adding it to your dashboard.
Disabling the Health control panel section
If you want to disable the Health section in the control panel, for example when you've added all the widgets to the Statamic dashboard instead, you can add the following config key to the Laravel health (config/health.php
) file:
'statamic' => [
'enable_dashboard' => false,
]
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.