JMX exporter для prometheus

Такой вопрос, уже второй день мучаюсь с командой для запуска jmx-exporter:

java -javaagent:./jmx_prometheus_javaagent-0.15.0.jar=8080:config.yaml -jar yourJar.jar

Мне нужно запустить JMX что бы собирать метрики томкатов через прометей. Я скачал файл .jar из документации что на гите. https://github.com/prometheus/jmx_exporter#readme

Но никак не могу понять как мне его запустить, что бы он подтянул метрики из моего томката. Что за config.yaml где его брать ? и что за -jar yourJar.jar


Ответы (1 шт):

Автор решения: Roman Konoval

Эта библиотека предназначена для использования с любой java программой путем внедрения java агента, она не запускается отдельно. Для того, чтоб добавить exporter метрик нужно передать дополнительные параметры, а именно опцию -javaagent, при старте JVM той программы, метрики из которой вы хотите экспортировать.

Java программа (в том числе и tomcat) запускается используя команду java -jar имя_файла.jar, которая стартует код из jar файла.

Для томката команда старта java ... упрятана в скриптах в каталоге bin. Обычно используют startup.sh/startup.bat или catalina.sh/catalina.bat (как вы запускаете томкат - это уж вам только известно). Дополнительные параметры для JVM можно передать через переменную окружения CATALINA_OPTS, что описано в catalina.sh:

CATALINA_OPTS (Optional) Java runtime options used when the "start", "run" or "debug" command is executed. Include here and not in JAVA_OPTS all options, that should only be used by Tomcat itself, not by the stop process, the version command etc. Examples are heap size, GC logging, JMX ports etc.

Так что перед запуском томкат добавляйте в переменную окружения дополнительную опцию javaagent:....

Что касается config.yaml, то это описано подробнейшим образом с примером по ссылке что вы привели в разделе Configuration.

→ Ссылка