Prometheus не может очистить метрики Django (400 неверных запросов) при запуске в контейнере Docker

Я пытаюсь собрать метрики prometheus-django из приложения Django, запущенного внутри контейнера Docker. Показатели отображаются по адресу http://127.0.0.1:8888/prometheus/metrics , и я могу получить к ним доступ со своего локального компьютера. Однако, когда Prometheus (запущенный в другом контейнере) пытается очистить их, я получаю 400 неверных ответов на запрос.

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

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