#django #prometheus
#django #prometheus
Вопрос:
Я запускаю django prometheus gunicorn, экспортирую /metrics
с использованием нескольких процессов для каждого процесса, как описано в документации django-prometheus. Когда я запускаю gunicorn с --reload
и двумя рабочими, я вижу, как открываются порты 8001 и 8002, обслуживающие показатели prometheus, по одному на процесс. Но когда я запускаю gunicorn с --preload
, открывается только порт 8001.
Что мне нужно сделать, чтобы получить одну конечную точку prometheus для каждого процесса при использовании --preload
?
настройки django-prometheus:
PROMETHEUS_METRICS_EXPORT_PORT_RANGE = range(8001, 8020)
PROMETHEUS_METRICS_EXPORT_ADDRESS = ''
PROMETHEUS_EXPORT_MIGRATIONS = False
Версии:
django==3.1.0
prometheus_client==0.8.0
django-prometheus==2.1.0
gunicorn==20.0.4
Комментарии:
1. Вам нужно будет настроить клиент Prometheus для запуска в многопроцессорном режиме
2. @trallnag клиент django-prometheus изначально обрабатывает многопроцессорность. На самом деле, это работает с
gunicorn --reload
. Это происходит только сgunicorn --preload
, когда происходит сбой.