使用 Flask 的 prometheus_client 自定义指标
Posted
技术标签:
【中文标题】使用 Flask 的 prometheus_client 自定义指标【英文标题】:prometheus_client custom metrics with Flask 【发布时间】:2021-01-06 01:46:32 【问题描述】:我正在尝试通过 Flask 为自定义 Prometheus 指标提供服务。看着https://github.com/prometheus/client_python,我的代码类似于:
from flask import Flask
from werkzeug.middleware.dispatcher import DispatcherMiddleware
from prometheus_client import make_wsgi_app
# Create my app
app = Flask(__name__)
# Add prometheus wsgi middleware to route /metrics requests
app.wsgi_app = DispatcherMiddleware(app.wsgi_app,
'/metrics': make_wsgi_app()
)
使用此设置,我不确定我应该在哪里声明我的自定义指标?
【问题讨论】:
您的自定义指标在您创建它们时会自动注册,它们将在/metrics
中公开。你的问题到底是什么?
【参考方案1】:
通过将我的自定义收集器注册到 REGISTRY 解决了这个问题
REGISTRY.register(CustomCollector())
然后使用
DispatcherMiddleware(
app.wsgi_app, "/metrics": make_wsgi_app(REGISTRY),
)
【讨论】:
以上是关于使用 Flask 的 prometheus_client 自定义指标的主要内容,如果未能解决你的问题,请参考以下文章