Django

Page de statut et monitoring d'uptime pour applications Django

Monitorez vues Django, base de données, workers Celery et cache. Alertes quand la latence explose ou que les workers meurent. Page de statut hébergée ou headless via API.

Trois façons de livrer une page de statut pour Django

Choisissez le niveau de contrôle — sans code, low-code, ou full headless.

Hébergé

Ajoutez votre endpoint Django, pointez un CNAME sur status.votredomaine.com, fini. Marche en 5 minutes.

Headless

Utilisez notre API publique pour construire votre propre UI dans votre app Django. Contrôle total du design et du branding.

Voir l'API

Badges embarqués

Intégrez des badges SVG uptime et statut dans votre README ou landing. Mise à jour toutes les 5 minutes.

Collez ce health endpoint dans votre app Django

Copiez, collez, pointez PulseAPI sur l'URL. Renvoie 200 sain, 503 dégradé.

health/views.py
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,
    )

Branchez la vue sur /health/ dans urls.py. Excluez-la du middleware d'authentification. PulseAPI parse la réponse JSON et peut asserter que des champs spécifiques sont "ok".

Ce qui casse dans les apps Django — et comment le détecter

Migrations partiellement appliquées

Une migration ratée au déploiement laisse l'app dans un état bizarre. Vérifier le endpoint /health en direct le détecte immédiatement.

Workers Celery silencieux

Les workers peuvent arrêter de consommer sans crasher. Exposez un endpoint de santé qui enfile une tâche triviale et PulseAPI alerte quand il cesse de répondre.

Pool de connexions saturé

Des requêtes longues saturent le pool et les nouvelles requêtes timeout. Les assertions sur le temps de réponse révèlent ça avant les utilisateurs.

Approche headless

Notre page de statut ne vous plaît pas ? Construisez la vôtre dans Django.

Notre API renvoie les mêmes données que notre UI hébergée consomme. Spec OpenAPI complète sur api.pulseapi.tech/docs.

Affichez une page de statut personnalisée dans Django en appelant notre API depuis une vue.
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})

Monitoring Django — FAQ

Ça marche avec Django REST framework, Django Channels, ou Django pur ?

Tous. PulseAPI appelle l'URL donnée et asserte sur la réponse. La stack interne n'importe pas.

Comment monitorer des workers Celery ?

Exposez un endpoint de santé qui dispatch une tâche triviale avec .delay() et lit le résultat avec un timeout court. Renvoyez 503 si la tâche n'a pas abouti.

Je peux l'utiliser avec staging ?

Oui. Créez un endpoint par environnement et taggez-les. Vous pouvez masquer les endpoints staging de la page publique tout en gardant les alertes.

Je peux self-host la page de statut dans Django ?

Oui — l'API headless renvoie les mêmes données que la page hébergée. Récupérez-la dans une vue, passez-la à un template, c'est tout.

Commencez à monitorer votre app Django en 5 minutes

Version gratuite. Sans carte. Ajoutez votre endpoint et recevez des alertes en cas de panne.