Почему сервер не работает при использовании django_prometheus?

Имеется приложение django. Необходимо собирать метрики. Я использую django_prometheus.

Я добавил приложение django_prometheus в свой проект.

INSTALLED_APPS = [
   ...
   'django_prometheus',
   ...
]

MIDDLEWARE = [
    'django_prometheus.middleware.PrometheusBeforeMiddleware',
    ...
    'django_prometheus.middleware.PrometheusAfterMiddleware',
]

Я не хочу добавлять URL "/metrics". Мне нужно запустить сервер на отдельном порту с помощью prometheus_client.start_http_server.

Я добавил этот код в wsgi.py:

from django.conf import settings
from django_prometheus.exports import SetupPrometheusEndpointOnPort

SetupPrometheusEndpointOnPort(9090)

Запускается сервер (localhost:9090) и он работает. Но правильные метрики не отображаются.

Если вы добавите url "/metrics":

urlpatterns += [
    path('', include('django_prometheus.urls')),
]

Тогда localhost:8000/metrics будет отображать правильные метрики.

В чем может быть проблема?

P.S.: Я запустил сервер через start_http_server параллельно с приложением FastAPI и все работало корректно.

Вернуться на верх