2

我一直在我的 python django 应用程序中使用 statsd 来测量不同的指标。现在我们一直在集成 prometheus io,以便我们可以在以后查询这些指标。在这种情况下,我已经通过了 statsd_bridge https://github.com/prometheus/statsd_bridge。我一直在使用它,如下所示:

./statsd_bridge -statsd.listen-address="localhost:9090" -statsd.mapping-config="" -web.listen-address="abcd:8125" -web.telemetry-path="/metrics"

在上面,statsd 在端口 8125 上的 abcd 上运行,我已经在本地机器上设置了 prometheus。但问题是我在 prometheus 中看不到任何 statsd 指标,即http://localhost:9090/metrics。因此,如果有人帮助我弄清楚我在这里犯了什么错误,我将不胜感激。

4

3 回答 3

1

也许您可以使用其他方式,例如 pushgateway

一些代码

from prometheus_client import CollectorRegistry, Gauge, push_to_gateway

registry = CollectorRegistry()
g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry)
g.set_to_current_time()
push_to_gateway('localhost:9091', job='batchA', registry=registry)
于 2020-02-16T10:09:50.893 回答
0

根据文档 statsd.listen-address,应该是接收 statsd 指标行的地址,但您指向的是要查看 Prometheus 指标的地址。争论需要颠倒过来。

仔细检查配置参数!

于 2015-04-29T10:12:20.940 回答
0

将从UDPstatsd.listen-address监听并收集数据。你应该使用 比检查http://localhost:9090/metrics./statsd_bridge -statsd.listen-address=":8125" -statsd.mapping-config="" -web.listen-address="127.0.0.1:9090" -web.telemetry-path="/metrics"

于 2015-05-19T10:03:27.067 回答