Página de estado y monitoreo de uptime para apps Express
Monitorea rutas Express, middleware chains y workers Node. Alertas de tiempo de respuesta, SSL, página alojada, API headless.
Tres formas de lanzar una página de estado para Express.js
Elige el nivel de control que necesitas — sin código, low-code o headless completo.
Alojado
Añade tu endpoint Express.js, 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 Express.js. 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 Express.js
Copia, pega, apunta PulseAPI a la URL. Devuelve 200 sano, 503 degradado.
import { Router } from 'express'
import { db } from '../db'
import { redis } from '../redis'
const router = Router()
router.get('/health', async (_, res) => {
const checks: Record<string, string> = {}
try { await db.raw('select 1'); checks.database = 'ok' } catch { checks.database = 'fail' }
try { const pong = await redis.ping(); checks.cache = pong === 'PONG' ? 'ok' : 'fail' } catch { checks.cache = 'fail' }
const healthy = Object.values(checks).every((v) => v === 'ok')
res.status(healthy ? 200 : 503).json({
status: healthy ? 'healthy' : 'degraded',
...checks,
})
})
export { router as healthRouter }Monta antes del middleware de auth. Timeouts cortos en downstream evitan que las pruebas cuelguen.
Qué se rompe en apps Express.js — y cómo detectarlo
Promise rejections no manejadas
Un bug async puede crashear el proceso en silencio en Node antiguo. Los uptime checks detectan el 502 en segundos.
Bugs de orden de middleware
Reordenar middleware puede dejar 500s en rutas específicas. Monitoreo multi-endpoint lo revela.
Memory leaks con el tiempo
Un leak lento solo rompe tras horas. Las alertas de tiempo de respuesta disparan cuando aparecen pausas GC.
¿No te gusta nuestra página de estado? Construye la tuya en Express.js.
Nuestra API devuelve los mismos datos que consume nuestra UI alojada. Spec OpenAPI completa en api.pulseapi.tech/docs.
router.get('/status', async (_, res) => {
const r = await fetch('https://api.pulseapi.tech/status/acme', {
signal: AbortSignal.timeout(5000),
})
const data = await r.json()
res.render('status', { data })
})Monitoreo Express.js — FAQ
¿Funciona con Express 4, Express 5, Connect o Fastify?
Cualquier framework HTTP de Node. PulseAPI es externo a tu app.
¿Puedo monitorear colas BullMQ / Agenda?
Sí. Expón un endpoint que comprueba queue depth y heartbeat del worker. Asertea depth bajo umbral, heartbeat fresco.
¿Maneja redirects HTTPS?
Sí. PulseAPI sigue el redirect y asertea sobre la respuesta final.
¿Puedo embeber la página de estado dentro de Express?
Sí. Llama la API pública desde un handler, renderiza con EJS/Pug/Handlebars o pasa JSON a un frontend.
Empieza a monitorear tu app Express.js en 5 minutos
Plan gratuito. Sin tarjeta. Añade tu endpoint y recibe alertas cuando falle.