Laravel

Laravel アプリ向けのステータスページと稼働監視

Laravel ルート、キュー、スケジューラ、Horizon を監視。CNAME 一つのカスタムドメイン、または API で独自構築。

Laravel のステータスページを公開する 3 つの方法

必要な制御レベルを選択 — ノーコード、ローコード、フルヘッドレス。

ホステッド

Laravel エンドポイントを追加し status.yourdomain.com に CNAME を向けるだけ。5 分で完成。

ヘッドレス

Public API を使って Laravel アプリ内に独自 UI を構築。デザインとブランディングを完全制御。

API を見る

埋め込みバッジ

SVG の稼働率・ステータスバッジを README やランディングに埋め込み。5 分ごとに自動更新。

この health エンドポイントを Laravel アプリに貼り付けます

コピペして PulseAPI を URL に向けるだけ。健康なら 200、劣化なら 503 を返します。

routes/web.php
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redis;

Route::get('/health', function () {
    $checks = [];
    try {
        DB::select('select 1');
        $checks['database'] = 'ok';
    } catch (\Throwable $e) {
        $checks['database'] = 'fail';
    }
    try {
        Redis::ping();
        $checks['cache'] = 'ok';
    } catch (\Throwable $e) {
        $checks['cache'] = 'fail';
    }
    $healthy = collect($checks)->every(fn ($v) => $v === 'ok');
    return response()->json(
        ['status' => $healthy ? 'healthy' : 'degraded', ...$checks],
        $healthy ? 200 : 503
    );
})->withoutMiddleware([
    \App\Http\Middleware\VerifyCsrfToken::class,
]);

CSRF と認証ミドルウェアをスキップ。部分障害で 503。厳格なスロットルからは除外してください。

Laravel アプリで壊れるもの — それを検知する方法

Horizon キューの滞留

特定キューのバックログは async UX を壊します。キュー深さアサーションで早期検知。

止まるスケジューラジョブ

詰まった cron で請求書が未送信になります。ハートビートエンドポイント + last-run をアサート。

キャッシュ/セッションドライバ障害

Redis の不調で断続的に 500 が発生。/health のキャッシュチェックで検知。

ヘッドレス視点

当社のステータスページが気に入らない? Laravel で自作してください。

当社 API はホステッド UI と同じデータを返します。完全な OpenAPI 仕様書は api.pulseapi.tech/docs.

当社ステータス API を取得し描画する Laravel コントローラ。
use Illuminate\Support\Facades\Http;

class StatusController extends Controller
{
    public function index()
    {
        $data = Http::timeout(5)
            ->get('https://api.pulseapi.tech/status/acme')
            ->json();
        return view('status', ['data' => $data]);
    }
}

Laravel 監視 — FAQ

Laravel Forge、Vapor、セルフホストで動作?

すべて動作 — PulseAPI は公開 URL があれば十分です。

Horizon を監視できますか?

はい。Horizon::status() とキュー深さを返すエンドポイントを用意。JSON-path で特定キューをアサート。

Laravel のメンテナンスモードに対応?

はい。`php artisan down` の 503 はインシデントを発火。メンテナンスウィンドウをマークすればデプロイ中のアラートを抑制。

Laravel 内でステータスページを描画?

はい。コントローラから API を呼び Blade ビューへ渡します。

Laravel アプリの監視を 5 分で開始

無料プラン、クレジットカード不要。エンドポイントを追加して障害時にアラート。