Django

Página de status e monitoramento de uptime para apps Django

Monitore views Django, banco, workers Celery e cache. Alertas quando a latência dispara ou workers morrem. Página de status hospedada ou headless via API.

Três formas de lançar uma página de status para Django

Escolha o nível de controle — sem código, low-code ou headless completo.

Hospedado

Adicione seu endpoint Django, aponte um CNAME para status.seudominio.com, pronto. Em 5 minutos.

Headless

Use nossa API pública para construir sua própria UI dentro do app Django. Controle total sobre design e marca.

Ver a API

Badges embutidos

Coloque badges SVG de uptime e status no seu README ou landing page. Atualizam a cada 5 minutos.

Cole este health endpoint no seu app Django

Copie, cole, aponte o PulseAPI para a URL. Retorna 200 saudável, 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,
    )

Conecte a view em /health/ no urls.py. Exclua do middleware de autenticação. O PulseAPI parseia o JSON e pode assertar que campos específicos sejam "ok".

O que quebra em apps Django — e como detectar

Migrações meio-aplicadas

Uma migração com falha no deploy deixa a app em estado esquisito. Checar o endpoint /health ao vivo pega isso imediatamente.

Workers Celery silenciosos

Workers podem parar de consumir sem crash. Exponha um health endpoint que enfileira uma tarefa trivial — o PulseAPI alerta quando para de responder.

Exaustão do pool de conexões

Queries longas esgotam o pool e novas requisições dão timeout. Asserções de tempo de resposta revelam isso antes dos usuários notarem.

Abordagem headless

Não gostou da nossa página de status? Construa a sua em Django.

Nossa API retorna os mesmos dados que nossa UI hospedada consome. Spec OpenAPI completa em api.pulseapi.tech/docs.

Renderize uma página de status customizada dentro do Django chamando nossa API em uma view.
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})

Monitoramento Django — FAQ

Funciona com Django REST framework, Django Channels ou Django puro?

Com todos. O PulseAPI chama a URL que você der e asserta sobre a resposta. A stack interna não importa.

Como monitoro workers Celery?

Exponha um health endpoint que despacha uma tarefa trivial com .delay() e lê o resultado com timeout curto. Retorne 503 se a tarefa não completou.

Posso usar com staging?

Sim. Crie um endpoint por ambiente e marque com tags. Dá para ocultar os endpoints de staging da página pública mantendo os alertas.

Posso self-hostear a página de status dentro do Django?

Sim — a API headless retorna os mesmos dados da página hospedada. Consuma em uma view, passa pra um template, pronto.

Comece a monitorar seu app Django em 5 minutos

Plano grátis. Sem cartão. Adicione seu endpoint e receba alertas quando quebrar.