Использование statsd-bridge для передачи данных в prometheus из statsd

Я использовал statsd в своем приложении python django для измерения различных показателей. Теперь мы интегрируем prometheus io, чтобы мы могли запрашивать эти показатели позже. В этом контексте я прошел через statsd_bridge https://github.com/prometheus/statsd_bridge. Я использовал его следующим образом:

./statsd_bridge -statsd.listen-address = "localhost: 9090" -statsd.mapping-config = "" -web.listen-address = "a.b.c.d: 8125" -web.telemetry-path = "/ metrics"

В приведенном выше примере statsd работает на a.b.c.d на порту 8125, и я установил prometheus на своем локальном компьютере. Но проблема в том, что я не вижу никаких показателей statsd в prometheus, то есть http://localhost:9090/metrics. Так что если кто-нибудь поможет мне разобраться, какие ошибки я здесь делаю, буду очень благодарен.


person Joy    schedule 23.03.2015    source источник
comment
Вы уверены, что используете правильные аргументы? Согласно github.com/prometheus/statsd_bridge#building-and-running statsd.listen-address должен быть адресом для получения строк метрики statsd, но вы указываете на адрес, по которому хотите видеть метрики Prometheus. Внимательно проверьте параметры конфигурации!   -  person dukebody    schedule 25.03.2015
comment
Автор statsd-bridge здесь. @dukebody прав. Аргументы нужно перевернуть.   -  person Julius    schedule 29.04.2015
comment
Привет, @Julius, было бы здорово получить ваши мысли по следующему вопросу SO о мосте между прометеем и статистикой stackoverflow.com/questions/44706574/   -  person Shadi    schedule 16.11.2019


Ответы (3)


может быть, вы можете использовать другой способ, например, 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)
person samuel161    schedule 16.02.2020

Согласно в документации statsd.listen-address должен быть адрес, по которому для получения метрик statsd, но вы указываете на адрес, по которому хотите видеть метрики Prometheus. Аргументы нужно перевернуть.

Внимательно проверьте параметры конфигурации!

person dukebody    schedule 29.04.2015

statsd.listen-address будет прослушивать и собирать данные из UDP. вам следует использовать ./statsd_bridge -statsd.listen-address=":8125" -statsd.mapping-config="" -web.listen-address="127.0.0.1:9090" -web.telemetry-path="/metrics", чем для проверки http://localhost:9090/metrics

person liut    schedule 19.05.2015