Statusseite und Uptime-Monitoring für Laravel-Anwendungen
Laravel-Routes, Queues, Scheduler und Horizon überwachen. Custom-Domain-Statusseite mit einem CNAME, oder eigene über unsere API.
Drei Wege für eine Statusseite für Laravel
Wähle die Kontrolltiefe — kein Code, Low-Code oder Full Headless.
Gehostet
Laravel-Endpoint hinzufügen, CNAME auf status.deinedomain.com zeigen, fertig. In 5 Minuten.
Headless
Public API nutzen, eigene UI direkt in der Laravel-App bauen. Volle Kontrolle über Design und Branding.
API ansehenEingebettete Badges
SVG-Uptime- und -Status-Badges in README oder Landing Page einbauen. Aktualisiert sich alle 5 Minuten.
Diesen Health-Endpoint in deine Laravel-App einfügen
Kopieren, einfügen, PulseAPI auf die URL richten. 200 gesund, 503 degradiert.
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 und Auth-Middleware überspringen. 503 bei Teilausfall. Vom Rate-Limit ausnehmen, wenn strikt.
Was in Laravel-Apps kaputt geht — und wie man es fängt
Horizon-Queues im Rückstand
Backlog in einer Queue killt Async-UX. Queue-Depth-Assertions fangen das früh.
Scheduler-Jobs, die stoppen
Festhängender Cron lässt Rechnungen ungesendet. Heartbeat-Endpoint + Assert auf last-run.
Cache-/Session-Driver-Fehler
Redis-Hiccups verursachen intermittierende 500er. Cache-Check in /health zeigt das.
Statusseite gefällt dir nicht? Bau sie in Laravel selbst.
Unsere API liefert dieselben Daten wie unsere gehostete UI. Volle OpenAPI-Spec unter api.pulseapi.tech/docs.
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-Monitoring — FAQ
Funktioniert mit Laravel Forge, Vapor oder self-hosted?
Alle — PulseAPI braucht nur eine öffentliche URL.
Kann ich Horizon überwachen?
Ja. Endpoint, der Horizon::status() und Queue-Depths liest. JSON-Path-Assertions auf spezifische Queues.
Funktioniert mit Laravel-Maintenance-Mode?
Ja. 503 von `php artisan down` triggert Incident. Wartungsfenster markieren, um Alerts zu unterdrücken.
Kann ich die Statusseite in Laravel rendern?
Ja. API aus einem Controller aufrufen, an eine Blade-View weitergeben.
Deine Laravel-App in 5 Minuten überwachen
Kostenloser Tarif. Keine Kreditkarte. Endpoint hinzufügen, Alerts erhalten.