Django

Página de estado y monitoreo de uptime para apps Django

Monitorea vistas Django, base de datos, workers Celery y caché. Alertas cuando la latencia sube o los workers mueren. Página de estado alojada o headless vía API.

Tres formas de lanzar una página de estado para Django

Elige el nivel de control que necesitas — sin código, low-code o headless completo.

Alojado

Añade tu endpoint Django, 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 Django. Control total sobre diseño y marca.

Ver la API

Badges 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 Django

Copia, pega, apunta PulseAPI a la URL. Devuelve 200 sano, 503 degradado.

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,
    )

Conecta la vista a /health/ en urls.py. Exclúyela del middleware de autenticación. PulseAPI parsea el JSON y puede asertar que campos específicos sean "ok".

Qué se rompe en apps Django — y cómo detectarlo

Migraciones a medio aplicar

Una migración fallida en deploy deja la app en estado raro. Revisar el endpoint /health en vivo lo detecta al instante.

Workers Celery silenciosos

Los workers pueden dejar de consumir sin crashear. Expón un endpoint de health que encola una tarea trivial y PulseAPI alerta cuando deja de responder.

Agotamiento del pool de conexiones

Queries largos agotan el pool y las nuevas peticiones dan timeout. Las aserciones de tiempo de respuesta lo revelan antes de que los usuarios lo noten.

Enfoque headless

¿No te gusta nuestra página de estado? Construye la tuya en Django.

Nuestra API devuelve los mismos datos que consume nuestra UI alojada. Spec OpenAPI completa en api.pulseapi.tech/docs.

Renderiza una página de estado personalizada dentro de Django llamando a nuestra API desde una vista.
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})

Monitoreo Django — FAQ

¿Funciona con Django REST framework, Django Channels o Django puro?

Con todos. PulseAPI llama la URL que le das y asertea sobre la respuesta. El stack interno no importa.

¿Cómo monitoreo workers Celery?

Expón un endpoint de health que despache una tarea trivial con .delay() y lea el resultado con timeout corto. Devuelve 503 si la tarea no se completó.

¿Puedo usarlo con staging?

Sí. Crea un endpoint por entorno y etiquétalos. Puedes ocultar los de staging de la página pública manteniendo las alertas activas.

¿Puedo auto-hospedar la página de estado dentro de Django?

Sí — la API headless devuelve los mismos datos que la página alojada. La llamas en una vista, la pasas a un template y listo.

Empieza a monitorear tu app Django en 5 minutos

Plan gratuito. Sin tarjeta. Añade tu endpoint y recibe alertas cuando falle.