Laravel Health Panel
Published on by Paul Redmond
The Laravel Health Panel by Antonio Ribeiro is a package for Laravel that checks if the application’s resources are running as expected. Health Panel ships with an enormous number of built-in checkers ranging from things like checking that configuration are cached, to DocuSign. Seriously, the list of integrated services is incredible, you should check it out the full list in the readme.
From the readme, here are the main points that the Laravel Health Panel package provides:
- Highly extensible and configurable: you can create new checkers and notifiers very easily, and you can virtually change everything on it.
- Easy configuration: uses YAML as configuration files
- Resilient resource checker: if the framework is working and at least one notification channel, you should receive notification messages.
- Built-in notification system: get notifications via mail, slack, telegram or anything else you need.
- Routes for: panel, json result, string result and resource.
- Configurable panel design.
- Cache.
- Schedule checks to automatically receive notifications when a service fails.
- View app error messages right in the panel.
- Http response codes 200 and 500, on error, for services like Envoyer to keep track of your app health.
Configuration of built-in services is as easy as adding a YAML file to the config/health path:
name: S3abbreviation: s3checker: PragmaRX\Health\Checkers\CloudStorageCheckernotify: truedriver: s3file: pragmarx-health-s3-testfile.txtcontents: {{ str_random(32) }}error_message: 'Amazon S3 connection is failing.'column_size: 4
The package also includes a graphical representation of health checks, as well as an Artisan command to check the state of all your health checks:
Further, the package provides API routes that you can use to monitor the health of your application’s configured checks. You can get back a JSON response with the /health/check
endpoint. You can also check individual services with /health/resource/{name}
.
You can learn more about the Health Panel on GitHub.