在 IPv6 上使用适用于 Prometheus 的 Python 客户端

Using Python client for Prometheus on IPv6

提问人:nidooooz 提问时间:10/13/2023 更新时间:10/13/2023 访问量:38

问:

我正在使用 Prometheus 的官方 Python 客户端为我的应用程序编写自定义导出器我的代码适用于以下代码片段,(我正在编辑其余代码,因为我认为它与我面临的问题无关。

from prometheus_client import start_http_server, Gauge
start_http_server(9669)

如果我这样做,我能够得到回应

curl --noproxy "*" -v http://localhost:9669/metrics

来自同一台机器。这里的问题是我在 IPv6 上的服务器。因此,无法从运行 Prometheus 的服务器访问此端点。如何制作

start_http_server

在 IPv6 上,或者是否有解决方法?

我尝试运行一个烧瓶应用程序并从安装了 Prometheus 的机器上进行 curl。我没有得到回应

from flask import Flask

app = Flask(__name__)

@app.route('/hello')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8989) 

但是如果我将该行修改为

app.run(host='::', port=8989)

所以我想我需要运行普罗米修斯

start_http_server

在 IPv6 上。我试过了

start_http_server(9669, addr='[::]')

但我收到错误

socket.gaierror: [Errno -2] Name or service not known

start_http_server(9669, addr='::')

我收到错误

socket.gaierror: [Errno -9] Address family for hostname not supported
python prometheus ipv6 ipv4 prometheus-python-客户端

评论


答: 暂无答案