Laravel

面向 Laravel 应用的状态页和正常运行时间监控

监控 Laravel 路由、队列、调度器和 Horizon。一条 CNAME 即可接入自定义域名状态页,或在我们的 API 之上自建。

为 Laravel 发布状态页的三种方式

选择所需的控制级别 — 零代码、低代码或完全 headless。

托管

添加 Laravel 端点,把 CNAME 指向 status.yourdomain.com,完成。5 分钟搞定。

Headless

通过公共 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。若有严格 throttle 需豁免。

Laravel 应用会出什么故障 — 如何捕获

Horizon 队列滞后

特定队列的积压会破坏异步 UX。队列深度断言可尽早发现。

停止运行的调度器任务

卡住的 cron 让发票未发送。心跳端点 + 对 last-run 断言。

缓存 / 会话驱动故障

Redis 抽风导致间歇性 500。/health 中的缓存检查能揭示。

Headless 视角

不喜欢我们的状态页? 用 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 视图。

5 分钟开始监控你的 Laravel 应用

免费套餐,无需信用卡。添加端点,故障时接收告警。