Prometheus无法找到Django /metrics

yfwxisqw  于 2023-06-25  发布在  Go
关注(0)|答案(1)|浏览(118)

我正在使用Django的prometheus客户端库。我不会在Docker容器中运行Prometheus。Djanog应用程序绑定到Unix域套接字,所以我认为这是我的问题的一部分,但我不知道如何解决。NGINX正在侦听端口80,并使用proxy_pass报头重新路由流量。我不明白我的node_exporter(服务器指标)如何与本地主机目标良好地工作,但我的应用程序不会。甚至从浏览器我可以访问“/metrics”端点。我试过localhost,127.0.0.1,甚至服务器IP,都没有工作。此外,IPtables与端口80无关,但我创建了一个“拒绝”日志记录,并且我得到了“... src=127.0.0.1 dst=127.0.0.1 dpt=80 [...]”
NGINX

erver {
    server_name hotname www.hostname ip;

[...]

    location /metrics{

        proxy_pass http://<unix_domain>;
    }

    location / {
        proxy_pass http://unix:<location_of_domain_socket>;
        }

普罗米修斯

<default prom config>
[...]
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "django-app"
    scrape_interval: 10s
    static_configs:
      - targets: ["localhost] # nothing works and prometheus attempts to use port 80 with a predefined scheme of http://

  - job_name: "node"
    scrape_interval: 10s
    static_configs:
      - targets: ["localhost:9100"]
aelbi1ox

aelbi1ox1#

不确定这是否是100%的解决方案,但我只是使用了Gunicorn默认使用的TCP/IP,将Prometheus配置中的目标位置更改为localhost:8000,它可以按预期工作

相关问题