LaravelPackages.net
Acme Inc.
Toggle sidebar
chocofamilyme/laravel-healthcheck

Serves functionality of healthchecks of your application

131.729
11
4.0.0
About chocofamilyme/laravel-healthcheck

chocofamilyme/laravel-healthcheck is a Laravel package for serves functionality of healthchecks of your application. It currently has 11 GitHub stars and 131.729 downloads on Packagist (latest version 4.0.0). Install it with composer require chocofamilyme/laravel-healthcheck. Discover more Laravel packages by chocofamilyme or browse all Laravel packages to compare alternatives.

Last updated

Laravel Health Check Library

Health Check library adds new endpoints(routes) to your project which are used to check some services of your application. For example you want to check "Database Connection" of your microservice.

Installation

composer require chocofamilyme/laravel-healthcheck ^2.0

Publishing the configuration (optional)

php artisan vendor:publish --provider="Chocofamilyme\LaravelHealthCheck\Providers\HealthCheckServiceProvider"

Checks

  • Database connection check
  • Cache write&read check
  • Sessions write&read check
  • Storage check

Routes

  • /health
{
  "DB": "OK",
  "CACHE": "OK",
  "SESSIONS": "CRITICAL",
  "STORAGE": "OK"
}
  • /health/extended
{
  "DB": {
    "STATUS": "OK",
    "STATUS_BOOL": true,
    "MESSAGE": null
  },
  "CACHE": {
    "STATUS": "OK",
    "STATUS_BOOL": true,
    "MESSAGE": null
  },
  "SESSIONS": {
    "STATUS": "CRITICAL",
    "STATUS_BOOL": false,
    "MESSAGE": "Connection to tarantool.example.com failed"
  },
  "STORAGE": {
    "STATUS": "OK",
    "STATUS_BOOL": true,
    "MESSAGE": null
  }
}

How to write your custom checks

Create a class which implements Chocofamilyme\LaravelHealthCheck\Services\Checks\ComponentCheckInterface and add it to healthcheck.php config file like

return [
    'componentChecks' => [
        'YOURCUSTOMCHECK' => YourCustomCheck::class
    ]
]

Responses

There is a configuration param which describes which response class to use to output the response. For example

  • /health - Chocofamilyme\LaravelHealthCheck\Responses\Response::class output would look like this
{
  "DB": "OK",
  "CACHE": "OK",
  "SESSIONS": "CRITICAL",
  "STORAGE": "OK"
}
  • /health - Chocofamilyme\LaravelHealthCheck\Responses\Response::class output would look like this
{
    "data": {
        "DB": "OK",
        "CACHE": "OK",
        "SESSIONS": "CRITICAL",
        "STORAGE": "OK"
    }
}

Feel free to add your responses, if you want for example to output it in a view instead json.

Star History Chart