连接celery-flower和prometheus在单独的docker-compose文件中。

huangapple go评论78阅读模式
英文:

Connect celery-flower and prometheus in separate docker-compose files

问题

我想连接 celery-flowerprometheus。我按照这个指南进行操作 - https://github.com/mher/flower/blob/master/docs/prometheus-integration.rst

我有两个 docker-compose.yml 文件。

app/docker-compose.yml

  1. celery-flower:
  2. ...
  3. container_name: celery-flower
  4. command: celery -A configs flower -l INFO --url_prefix=flower --port=5555 --persisten=True
  5. ports:
  6. - "5555:5555"
  7. networks:
  8. - default
  9. - flower
  10. networks:
  11. default:
  12. flower:
  13. external: true

observability/docker-compose.yml

  1. prometheus:
  2. ...
  3. volumes:
  4. - $PWD/prometheus.yml:/etc/prometheus/prometheus.yml
  5. command:
  6. - '--config.file=/etc/prometheus/prometheus.yml'
  7. - '--storage.tsdb.path=/prometheus'
  8. - '--web.console.libraries=/etc/prometheus/console_libraries'
  9. - '--web.console.templates=/etc/prometheus/consoles'
  10. - '--web.enable-lifecycle'
  11. expose:
  12. - 9090
  13. ports:
  14. - 9090:9090
  15. networks:
  16. - observability
  17. - flower
  18. networks:
  19. observability:
  20. flower:
  21. external: true

observability/prometheus.yml

  1. scrape_configs:
  2. - job_name: flower
  3. static_configs:
  4. - targets:
  5. - celery-flower:5555

但是我在 http://localhost:9090/graph 上看不到 celery-flower。

这两个容器都能够看到 flower 网络(通过 docker inspect)。

prometheus 容器 ping

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

连接

  1. telnet celery-flower 5555
  2. Connected to celery-flower
英文:

I want to connect celery-flower and prometheus. I work following this instruction - https://github.com/mher/flower/blob/master/docs/prometheus-integration.rst

I have 2 docker-compose.yml.

app/docker-compose.yml

  1. celery-flower:
  2. ...
  3. container_name: celery-flower
  4. command: celery -A configs flower -l INFO --url_prefix=flower --port=5555 --persisten=True
  5. ports:
  6. - "5555:5555"
  7. networks:
  8. - default
  9. - flower
  10. networks:
  11. default:
  12. flower:
  13. external: true

observability/docker-compose.yml

  1. prometheus:
  2. ...
  3. volumes:
  4. - $PWD/prometheus.yml:/etc/prometheus/prometheus.yml
  5. command:
  6. - '--config.file=/etc/prometheus/prometheus.yml'
  7. - '--storage.tsdb.path=/prometheus'
  8. - '--web.console.libraries=/etc/prometheus/console_libraries'
  9. - '--web.console.templates=/etc/prometheus/consoles'
  10. - '--web.enable-lifecycle'
  11. expose:
  12. - 9090
  13. ports:
  14. - 9090:9090
  15. networks:
  16. - observability
  17. - flower
  18. networks:
  19. observability:
  20. flower:
  21. external: true

observability/prometheus.yml

  1. scrape_configs:
  2. - job_name: flower
  3. static_configs:
  4. - targets:
  5. - celery-flower:5555

But i don't see celery-flower on the http://localhost:9090/graph

Both containers see the flower network (via docker inspect)

Ping from prometheus container

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

Connection

  1. telnet celery-flower 5555
  2. Connected to celery-flower

答案1

得分: 0

不正确的celery-flower运行命令(需要删除--url_prefix=flower

app/docker-compose.yml

  1. celery-flower:
  2. restart: always
  3. image: mher/flower:1.2.0
  4. container_name: celery-flower
  5. command: celery flower -l INFO --persisten=True
  6. volumes:
  7. - flower_data:/data
  8. environment:
  9. - CELERY_BROKER_URL=redis://redis:6379
  10. ports:
  11. - 5555:5555
  12. networks:
  13. - default
  14. - flower
英文:

Incorrect command for celery-flower running (need to remove --url_prefix=flower)

app/docker-compose.yml

  1. celery-flower:
  2. restart: always
  3. image: mher/flower:1.2.0
  4. container_name: celery-flower
  5. command: celery flower -l INFO --persisten=True
  6. volumes:
  7. - flower_data:/data
  8. environment:
  9. - CELERY_BROKER_URL=redis://redis:6379
  10. ports:
  11. - 5555:5555
  12. networks:
  13. - default
  14. - flower

huangapple
  • 本文由 发表于 2023年2月19日 22:55:25
  • 转载请务必保留本文链接:https://go.coder-hub.com/75500996.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定