Подключить prometheus к celery-flower, запущенных в разных docker.compose.yml

Рейтинг: 0Ответов: 1Опубликовано: 19.02.2023

Хочу подключит prometheus к celery-flower. Делаю всё по инструкции - https://github.com/mher/flower/blob/master/docs/prometheus-integration.rst

Есть 2 docker-compose.yml.

app/docker-compose.yml

  celery-flower:
    ...
    container_name: celery-flower
    command: celery -A configs flower -l INFO --url_prefix=flower --port=5555 --persisten=True
    ports:
      - "5555:5555"
    networks:
      - default
      - flower

networks:
  default:
  flower:
    external: true

observability/docker-compose.yml

  prometheus:
    ...
    volumes:
      - $PWD/prometheus.yml:/etc/prometheus/prometheus.yml
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--web.console.libraries=/etc/prometheus/console_libraries'
      - '--web.console.templates=/etc/prometheus/consoles'
      - '--web.enable-lifecycle'
    expose:
      - 9090
    ports:
       - 9090:9090
    networks:
      - observability
      - flower

networks:
  observability:
  flower:
    external: true

observability/prometheus.yml

scrape_configs:
- job_name: flower
  static_configs:
  - targets:
    - celery-flower:5555

Всё запускается, но такое ощущение, что prometheus не видит celery-flower. Здесь тоже не находит http://localhost:9090/graph

У обоих контейнеров есть сеть flower (смотрел docker inspect)

Ping с prometheus контейнера

PING celery-flower(172.21.0.3): 56 data bytes
64 bytes from 172.21.0.3: seq=0 ttl=64 time=0.122 ms
64 bytes from 172.21.0.3: seq=1 ttl=64 time=0.113 ms
64 bytes from 172.21.0.3: seq=2 ttl=64 time=0.116 ms
64 bytes from 172.21.0.3: seq=3 ttl=64 time=0.093 ms
64 bytes from 172.21.0.3: seq=4 ttl=64 time=0.072 ms
64 bytes from 172.21.0.3: seq=5 ttl=64 time=0.076 ms
--- celery-flower ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 0.072/0.098/0.122 ms

Проверка коннекта

telnet celery-flower 5555
Connected to celery-flower

Ответы

▲ 0Принят

Причина была в неверной команде запуска celery-flower, а именно --url_prefix=flower

app/docker-compose.yml

  celery-flower:
    restart: always
    image: mher/flower:1.2.0
    container_name: celery-flower
    command: celery flower -l INFO --persisten=True
    volumes:
      - flower_data:/data
    environment:
      - CELERY_BROKER_URL=redis://redis:6379
    ports:
      - 5555:5555
    networks:
      - default
      - flower