Statusseite und Uptime-Monitoring für Django-Anwendungen
Überwache Django-Views, Datenbank, Celery-Worker und Cache. Alerts bei Latenz-Spikes oder toten Workern. Gehostete Statusseite oder headless via API.
Drei Wege für eine Statusseite für Django
Wähle die Kontrolltiefe — kein Code, Low-Code oder Full Headless.
Gehostet
Django-Endpoint hinzufügen, CNAME auf status.deinedomain.com zeigen, fertig. In 5 Minuten.
Headless
Public API nutzen, eigene UI direkt in der Django-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 Django-App einfügen
Kopieren, einfügen, PulseAPI auf die URL richten. 200 gesund, 503 degradiert.
from django.db import connection
from django.http import JsonResponse
from django.core.cache import cache
from django.views.decorators.http import require_GET
@require_GET
def health(request):
checks = {}
try:
with connection.cursor() as cur:
cur.execute("SELECT 1")
checks["database"] = "ok"
except Exception:
checks["database"] = "fail"
try:
cache.set("health-probe", "1", 5)
checks["cache"] = "ok" if cache.get("health-probe") == "1" else "fail"
except Exception:
checks["cache"] = "fail"
healthy = all(v == "ok" for v in checks.values())
return JsonResponse(
{"status": "healthy" if healthy else "degraded", **checks},
status=200 if healthy else 503,
)Verdrahte die View in urls.py mit /health/. Schließe Auth-Middleware aus. PulseAPI parst die JSON-Antwort und kann auf spezifische Felder "ok" asserten.
Was in Django-Apps kaputt geht — und wie man es fängt
Halb angewandte Migrationen
Eine fehlgeschlagene Migration beim Deploy hinterlässt die App in einem seltsamen Zustand. Der Live-/health-Endpoint-Check fängt das sofort ab.
Stille Celery-Worker
Worker können ohne Crash aufhören zu konsumieren. Expose einen Health-Endpoint, der einen No-Op-Task enqueuet — PulseAPI alertiert bei Stillstand.
Erschöpfter Connection-Pool
Lang laufende Queries erschöpfen den Pool, neue Requests laufen ins Timeout. Response-Time-Assertions bringen das an die Oberfläche, bevor Nutzer es merken.
Statusseite gefällt dir nicht? Bau sie in Django selbst.
Unsere API liefert dieselben Daten wie unsere gehostete UI. Volle OpenAPI-Spec unter api.pulseapi.tech/docs.
import requests
from django.shortcuts import render
def status_view(request):
data = requests.get(
"https://api.pulseapi.tech/status/acme", timeout=5,
).json()
return render(request, "status.html", {"data": data})Django-Monitoring — FAQ
Funktioniert es mit Django REST framework, Django Channels oder purem Django?
Mit allen. PulseAPI ruft die angegebene URL auf und asserted auf die Antwort. Der interne Stack ist egal.
Wie überwache ich Celery-Worker?
Expose einen Health-Endpoint, der einen trivialen Task mit .delay() dispatched und mit kurzem Timeout auf das Ergebnis wartet. 503 zurückgeben, wenn der Task nicht fertig wird.
Kann ich es mit Staging nutzen?
Ja. Ein Endpoint pro Umgebung, taggen. Staging-Endpoints lassen sich aus der öffentlichen Statusseite ausblenden, Alerts bleiben.
Kann ich die Statusseite in Django selbst hosten?
Ja — die Headless API liefert dieselben Daten wie die gehostete Seite. In einer View abrufen, an ein Template übergeben, fertig.
Deine Django-App in 5 Minuten überwachen
Kostenloser Tarif. Keine Kreditkarte. Endpoint hinzufügen, Alerts erhalten.