Prometheus не может очистить метрики Django (400 неверных запросов) при запуске в контейнере Docker
Я пытаюсь собрать метрики prometheus-django из приложения Django, запущенного внутри контейнера Docker. Показатели отображаются по адресу http://127.0.0.1:8888/prometheus/metrics , и я могу получить к ним доступ со своего локального компьютера. Однако, когда Prometheus (запущенный в другом контейнере) пытается очистить их, я получаю 400 неверных ответов на запрос.
окно настройки-создание:
backend:
build: ./store/
container_name: store_backend
env_file: .env
volumes:
- static:/backend_static/
- media:/app/media/
nginx:
build: ./nginx/
container_name: store_nginx
env_file: .env
volumes:
- static:/staticfiles/
- media:/app/media/
ports:
- ${PORT}:80
depends_on:
- backend
prometheus:
build: ./monitoring
container_name: store_prometheus
volumes:
- prometheus_data:/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
ports:
- "9090:9090"
prometheus.yml:
global:
scrape_interval: 5s
scrape_configs:
- job_name: 'django'
static_configs:
- targets: ['store_backend:8888']
metrics_path: '/prometheus/metrics'
файл nginx.conf:
location /prometheus/metrics/ {
proxy_set_header Host $http_host;
proxy_pass http://backend:8888/prometheus/metrics/;
}
При устранении этой проблемы я установил ALLOWED_HOSTS = ['*'], но это не работает.
Таким образом, Prometheus может подключиться к контейнеру Django, но приложение Django отклоняет запрос. Не могли бы вы помочь мне понять, что может быть причиной этой проблемы?
я изменил цели для задания django в prometheus.yml из
- targets: ['store_backend:8888']
от до
- targets: ['backend:8888']
и это работает
также требуется поместить 'backend' в поле ALLOWED_HOSTS