Laravelでhttp経由でDB+Webサーバーのヘルスチェックサンプル
Laravelでhttp経由でDB+Webサーバーのヘルスチェックサンプルです
<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class HealthCheckResultsController extends Controller { public function __invoke() { $status = 500; try { DB::connection(config('database.default'))->getPdo(); $status = 200; } catch (\Exception $exception) { } return response() ->json([], $status); } }
Route::get('/health', 'HealthCheckResultsController');
Laravel 8+, PHP 8+であれば以下を使いたかった
Laravel 7+, PHP 7.4+でやろうとした残骸
tsmsogn/laravel-healthを利用する *1
composer.jsonに以下を追加
{ "repositories": { "spatie/laravel-health": { "type": "vcs", "url": "https://github.com/tsmsogn/laravel-health" } } }
composerでインストール
composer require spatie/laravel-health:dev-main
*1:いろいろな制限付き