с использованием плагина JMeter Prometheus в контейнере Docker (в соединении отказано) - PullRequest
0 голосов
/ 14 июля 2020

У меня есть контейнер Jmeter 5.3, в котором выполняется базовый c .jmx-тест. В рамках теста находится плагин Johrstrom Prometheus, настроенный для порта 9270. Если я запускаю тест за пределами Docker, я могу использовать 'curl localhost: 9270' для получения показателей. Аналогично, когда я запускаю тест внутри Docker. Если я go в командной строке JMeter Docker, я могу запустить 'wget localhost: 9270' (curl отсутствует в изображении), и он даст мне метрики.

Все еще в JMeter Docker контейнер, если я сделаю 'wget jmeter: 9270' (jmeter - имя контейнера), мне будет отказано в соединении. Ответ включает

Resolving jmeter (jmeter)... 172.18.0.3

Так что я рад, что это не сбой из-за имени контейнера. У меня также есть Prometheus, работающий в отдельном контейнере, с целью, настроенной для 'jmeter: 9270', дает аналогичный ответ, правильное разрешение имени jmeter, но затем сообщение об отказе в соединении.

Я также попытался открыть порт 9270 и пытается использовать тот же localhost: 9270 с хоста Docker. Это тоже не работает, я получаю пустой ответ от сервера.

Что я пропустил в конфигурации, которая мешает мне подключаться между контейнерами? Или даже почему я получаю «соединение отклонено» в том же контейнере.

Я должен упомянуть, что следую инструкциям на странице прослушивателя Prometheus и добавляю следующее свойство в JMeter в контейнере. 1015 *-Jprometheus.ip=0.0.0.0

Однако я также пробовал без этой настройки, но все равно получаю отказ в соединении.

1 Ответ

0 голосов
/ 14 июля 2020

Нашел проблему. -Jprometheus.ip = 0.0.0.0 было правильным решением, но в моем файле докеров сборки была ошибка, которая означала, что изменение сценария запуска не принималось. Исправление этой ошибки означало, что дополнительное свойство было правильно добавлено в командную строку сценария запуска, jmeter мог подобрать его, и метрики правильно представлялись Prometheus.

Чтобы найти это, я запустил контейнер, а затем перешел в командная строка для подтверждения сценария. Было ясно, что собственность отсутствует.

...