saritasa/laravel-healthcheck
最新稳定版本:2.2.0
Composer 安装命令:
composer require saritasa/laravel-healthcheck
包简介
Package for projects health-check
README 文档
README
Package for Laravel-based project self-diagnostics. Implements basic checks (ex. if application can connect to DB server) and allows extensibility (ex. implement custom checks)
Laravel 5.5+
Install the saritasa/laravel-healthcheck package:
$ composer require saritasa/laravel-healthcheck
Configuration
- Publish configuration file:
php artisan vendor:publish --provider="Saritasa\LaravelHealthCheck\HealthCheckServiceProvider"
Configure the necessary checks in file config/health_check.php
'checkers' => [ 'database' => \Saritasa\LaravelHealthCheck\Checkers\DatabaseHealthChecker::class, 'redis' => \Saritasa\LaravelHealthCheck\Checkers\RedisHealthChecker::class, 's3' => \Saritasa\LaravelHealthCheck\Checkers\S3HealthChecker::class, ],
You can add more custom checks - just add a class implementing
\Saritasa\LaravelHealthCheck\Contracts\ServiceHealthChecker interface with single method check()
that must return instance of \Saritasa\LaravelHealthCheck\Contracts\CheckResult.
Laravel Lumen 8.0+
Install the saritasa/laravel-healthcheck package:
$ composer require saritasa/laravel-healthcheck
Create a new file config\health_check.php:
<?php use Saritasa\LaravelHealthCheck\Checkers\DatabaseHealthChecker; use Saritasa\LaravelHealthCheck\Checkers\RedisHealthChecker; use Saritasa\LaravelHealthCheck\Checkers\S3HealthChecker; return [ 'checkers' => [ 'database' => DatabaseHealthChecker::class, 'redis' => RedisHealthChecker::class, 's3' => S3HealthChecker::class, ], ];
Add the service provider in file bootstrap\app.php:
$app->configure('health_check'); $app->instance('path.config', app()->basePath() . DIRECTORY_SEPARATOR . 'config'); $app->register(Saritasa\LaravelHealthCheck\HealthCheckServiceProvider::class);
Usage
Package exposes endpoints to run all checks or run each check by name:
GET /health
Runs all known checks and returns HTTP code = 200, if all checks succeeded, 500 otherwise.
Response contains JSON with pares of check name and true/false indicating if checker completed successfully or not.
GET /health/{checker}
Where {checker} is a key from config/health_check.php, ex. GET /health-check/database.
Returns HTTP code = 200, if checker reports success, 500 otherwise.
Returns payload, returned by checker. If check result is not successful, adds error message.
GET /liveness, GET /readness
Do nothing, just check availability of PHP application
Available checkers
Saritasa\LaravelHealthCheck\Checkers\DatabaseHealthChecker
Checks, if default connection to DB, configured in Laravel is available - tries to establish connection to server.
Saritasa\LaravelHealthCheck\Checkers\RedisHealthChecker
Checks, if redis connection is available - tries to establish connection to server.
Saritasa\LaravelHealthCheck\Checkers\S3HealthChecker
Checks, if application can read from default S3 bucket - tries to get enumerate entries in S3 bucket.
Saritasa\LaravelHealthCheck\Checkers\NullChecker
Does nothing. Use if you need to check HTTP server availability only.
Contributing
- Create fork, checkout it
- Develop locally as usual. Code must follow PSR-1, PSR-2 -
run PHP_CodeSniffer to ensure, that code follows style guides - Cover added functionality with unit tests and run PHPUnit to make sure, that all tests pass
- Update README.md to describe new or changed functionality
- Add changes description to CHANGES.md file. Use Semantic Versioning convention to determine next version number.
- When ready, create pull request
统计信息
- 总下载量: 7.95k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-01-21