Página de estado y monitoreo de uptime para apps Laravel
Monitorea rutas Laravel, colas, schedulers y Horizon. Página con dominio propio vía CNAME o construye la tuya sobre nuestra API.
Tres formas de lanzar una página de estado para Laravel
Elige el nivel de control que necesitas — sin código, low-code o headless completo.
Alojado
Añade tu endpoint Laravel, apunta un CNAME a status.tudominio.com, listo. Funciona en 5 minutos.
Headless
Usa nuestra API pública para construir tu propia UI dentro de tu app Laravel. Control total sobre diseño y marca.
Ver la APIBadges embebidos
Coloca badges SVG de uptime y estado en tu README o landing page. Se actualizan cada 5 minutos.
Pega este health endpoint en tu app Laravel
Copia, pega, apunta PulseAPI a la URL. Devuelve 200 sano, 503 degradado.
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,
]);Salta CSRF y auth middleware. Devuelve 503 en fallo parcial. Excluye del throttle si es estricto.
Qué se rompe en apps Laravel — y cómo detectarlo
Colas Horizon atrasadas
Backlog en una cola mata la UX async. Las aserciones de queue-depth lo detectan pronto.
Scheduler jobs que dejan de correr
Cron atascado deja facturas sin enviar. Endpoint heartbeat + asertar last-run.
Fallos de cache / session driver
Hipos de Redis causan 500s intermitentes. Check de cache en /health lo revela.
¿No te gusta nuestra página de estado? Construye la tuya en Laravel.
Nuestra API devuelve los mismos datos que consume nuestra UI alojada. Spec OpenAPI completa en 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]);
}
}Monitoreo Laravel — FAQ
¿Funciona con Laravel Forge, Vapor o self-hosted?
Todos — PulseAPI solo necesita una URL pública.
¿Puedo monitorear Horizon?
Sí. Endpoint que lee Horizon::status() y queue depths. Asertea colas específicas con JSON-path.
¿Maneja el modo mantenimiento de Laravel?
Sí. 503 de `php artisan down` dispara incidente. Marca ventanas de mantenimiento para suprimir alertas.
¿Puedo renderizar la página de estado dentro de Laravel?
Sí. Llama la API desde un controller, pasa a una view Blade.
Empieza a monitorear tu app Laravel en 5 minutos
Plan gratuito. Sin tarjeta. Añade tu endpoint y recibe alertas cuando falle.