首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在本地运行的港口-撰写和刮除django服务器上运行prometheus?

如何在本地运行的港口-撰写和刮除django服务器上运行prometheus?
EN

Stack Overflow用户
提问于 2021-10-13 15:14:09
回答 1查看 733关注 0票数 0

我正在尝试设置prometheus来使用django-prometheus和Docker来监视Django应用程序。我一直在在线上跟踪一些指南,但与我所看到的所有指南不同,我现在想在本地运行Django,所以现在只需运行python manage.py runserver,然后使用docker运行prometheus (然后添加grafana)。我想这样做是为了在本地测试它,稍后我将把它部署到Kubernetes,但是这是另一集。

我的问题是让本地运行的django服务器在与prometheus运行容器相同的网络中进行通信,因为我在prometheus仪表板上的/targets中得到了这个错误:

代码语言:javascript
复制
Get "http://127.0.0.1:5000/metrics": dial tcp 127.0.0.1:5000: connect: connection refused

这些是我的坞-撰写文件和prometheus配置:

  • docker-compose.yml

代码语言:javascript
复制
version: '3.6'

services:
  prometheus:
    image: prom/prometheus
    volumes:
    - ./prometheus/:/etc/prometheus/
    command:
    - '--config.file=/etc/prometheus/prometheus.yml'
    ports:
    - 9090:9090

  • prometheus.yaml

代码语言:javascript
复制
global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets:
        - localhost:9090

  - job_name: django-app
    static_configs:
      - targets:
        - localhost:8000
        - 127.0.0.1:8000
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-13 15:40:04

如果您想在(容器和外部) Docker之外运行Django应用程序,那么当运行时,它将绑定到主机的一个端口。

您还需要让Docker prometheus服务绑定到主机的网络。

您应该能够使用network_mode: hostprometheus服务下完成此操作。

然后,prometheus将能够访问它正在使用的主机端口上的Django应用程序,并且prometheus可以作为localhost:9090访问(而不需要ports部分)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69558044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档