Express.js

Statusseite und Uptime-Monitoring für Express-Anwendungen

Express-Routes, Middleware-Chains und Node-Worker überwachen. Response-Time-Alerts, SSL, gehostete Seite, Headless API.

Drei Wege für eine Statusseite für Express.js

Wähle die Kontrolltiefe — kein Code, Low-Code oder Full Headless.

Gehostet

Express.js-Endpoint hinzufügen, CNAME auf status.deinedomain.com zeigen, fertig. In 5 Minuten.

Headless

Public API nutzen, eigene UI direkt in der Express.js-App bauen. Volle Kontrolle über Design und Branding.

API ansehen

Eingebettete Badges

SVG-Uptime- und -Status-Badges in README oder Landing Page einbauen. Aktualisiert sich alle 5 Minuten.

Diesen Health-Endpoint in deine Express.js-App einfügen

Kopieren, einfügen, PulseAPI auf die URL richten. 200 gesund, 503 degradiert.

src/routes/health.ts
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 }

Vor der Auth-Middleware mounten. Kurze Timeouts auf Downstream-Checks verhindern hängende Probes.

Was in Express.js-Apps kaputt geht — und wie man es fängt

Nicht behandelte Promise-Rejections

Ein Async-Bug kann den Prozess auf alten Node-Versionen still crashen. Uptime-Checks fangen den 502 in Sekunden ab.

Middleware-Reihenfolge-Bugs

Umsortieren kann 500er auf spezifischen Pfaden leaken. Multi-Endpoint-Monitoring zeigt das.

Memory-Leaks über Zeit

Ein langsamer Leak bricht erst nach Stunden. Response-Time-Alerts feuern, wenn GC-Pausen auftauchen.

Headless-Ansatz

Statusseite gefällt dir nicht? Bau sie in Express.js selbst.

Unsere API liefert dieselben Daten wie unsere gehostete UI. Volle OpenAPI-Spec unter api.pulseapi.tech/docs.

Express-Handler, der eine eigene Statusseite rendert.
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 })
})

Express.js-Monitoring — FAQ

Funktioniert mit Express 4, Express 5, Connect oder Fastify?

Jedes Node-HTTP-Framework. PulseAPI ist extern zur App.

Kann ich BullMQ / Agenda überwachen?

Ja. Endpoint für Queue-Depth und Worker-Heartbeat. Auf Threshold und Frische asserten.

Werden HTTPS-Redirects verarbeitet?

Ja. PulseAPI folgt dem Redirect und asserted auf die finale Antwort.

Kann ich die Statusseite in Express einbetten?

Ja. Aus einem Handler Public API treffen, mit EJS/Pug/Handlebars rendern oder JSON an Frontend piping.

Deine Express.js-App in 5 Minuten überwachen

Kostenloser Tarif. Keine Kreditkarte. Endpoint hinzufügen, Alerts erhalten.