Экспортер Haproxy не может получить данные

Я использую haproxy_exporter в prometheus и добавляю prometheus в качестве источника данных в grafana, а плагин haproxy использует prometheus в качестве источника данных, чтобы получать статистику haproxy и отображать ее на сервере grafana. И я не могу получить результат от него. Когда я запускаю команду ниже, я получаю сообщение об ошибке invalid URL port.

./haproxy_exporter --no-haproxy.ssl-verify --haproxy.scrape-uri="http://user:$(cat pwfile)192.168.1.10:10000/haproxy/stats;csv"

ВЫХОД:

INFO[0000] Starting haproxy_exporter (version=0.9.0, branch=master, revision=0cae8ee3e3f3b7c517db2cc68f386672d8b1b6a7)  source=haproxy_exporter.go:495
INFO[0000] Build context (go=go1.10.1, user=root@rlinux57, date=20180724-16:08:06)  source=haproxy_exporter.go:496
INFO[0000] Listening on :9101                            source=haproxy_exporter.go:521


**ERRO[0013] Can't scrape HAProxy: Get http://admin:abEDokA("192.168.1.10:10000/haproxy/stats;csv: invalid URL port abEDokA("192.168.1.10:10000"  source=haproxy_exporter.go:315**

И когда я поместил знак @ между паролем и IP-адресом, например ./haproxy_exporter --no-haproxy.ssl-verify --haproxy.scrape-uri="http://admin:abEDokA("@192.168.1.10:10000/haproxy/stats;csv", он выдает следующую ошибку:

INFO[0000] Starting haproxy_exporter (version=0.9.0, branch=master, revision=0cae8ee3e3f3b7c517db2cc68f386672d8b1b6a7)  source=haproxy_exporter.go:495
INFO[0000] Build context (go=go1.10.1, user=root@rlinux57, date=20180724-16:08:06)  source=haproxy_exporter.go:496
FATA[0000] parse http://admin:abEDokA("@192.168.1.10:10000/haproxy/stats;csv: net/url: invalid userinfo  source=haproxy_exporter.go:500

И мои настройки прометея:

  - job_name: 'haproxy'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
   static_configs:
    - targets: ['localhost:9101']

person blaCkninJa    schedule 26.07.2018    source источник


Ответы (1)


Вам нужно @ там, и вам, возможно, придется избавиться от " в вашем пароле. Возможно, простое экранирование (\") могло бы сработать, но второе сообщение об ошибке предполагает, что haproxy_exporter каким-то образом правильно получает URL-адрес как http://admin:abEDokA("@192.168.1.10:10000/haproxy/stats;csv, но затем не может его проанализировать.

Ага, согласно http://www.ietf.org/rfc/rfc1738.txt, " не является допустимым символом в URL-адресе. Вы можете обойти это, используя его побег, %22.

person Alin Sînpălean    schedule 27.07.2018
comment
Да, с %22 работает: http://admin:abEDokA(%[email protected]:10000/haproxy/stats;csv - person blaCkninJa; 30.07.2018