Почему сервер не работает при использовании 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 и все работало корректно.