from django.shortcuts import render from django.http import HttpResponse from django.views.decorators.http import require_GET from prometheus_client.exposition import generate_latest from prometheus_client import REGISTRY, CONTENT_TYPE_LATEST from .custom_metrics import ( actualizar_metrica_usuarios, actualizar_metrica_websites, actualizar_metrica_databases, actualizar_metrica_mailboxes, actualizar_metrica_lists, actualizar_metrica_saas, ) @require_GET def metrics_view(request): # Actualizar métricas antes de generar el contenido actualizar_metrica_usuarios() actualizar_metrica_websites() actualizar_metrica_databases() actualizar_metrica_mailboxes() actualizar_metrica_lists() actualizar_metrica_saas() # Devolver las métricas exportadas como respuesta HTTP output = generate_latest(REGISTRY) return HttpResponse(output, content_type=CONTENT_TYPE_LATEST)