【发布时间】:2020-11-14 08:59:38
【问题描述】:
我想用 Prometheus/Grafana(以及一些 Wildfly)监控一些 JBoss EAP 7 服务器。
我知道我必须使用jmx_exporter。
我应该将它用作嵌入式(代理)还是边车(http)?
哪个配置文件?
【问题讨论】:
标签: monitoring prometheus jmx jmx-exporter prometheus-java
我想用 Prometheus/Grafana(以及一些 Wildfly)监控一些 JBoss EAP 7 服务器。
我知道我必须使用jmx_exporter。
我应该将它用作嵌入式(代理)还是边车(http)?
哪个配置文件?
【问题讨论】:
标签: monitoring prometheus jmx jmx-exporter prometheus-java
推荐使用嵌入在Java JVM 虚拟机中的jmx-exporter(使用-javaagent)。这更容易、更稳健,并提供更好的洞察力。
配置文件取决于版本(JBoss 使用 undertow...与 JBoss 6 收集的 mBean 不同)。
jmx-exporter 项目提供 WildFly 10 example_configs/wildfly-10.yaml 的示例配置文件。
但是,如果您使用“JBoss EAP for Openshift”容器镜像,jmx-exporter 代理已经嵌入到容器中(设置variables:AB_PROMETHEUS_ENABLE=true,有时也设置JAVA_OPTS_APPEND=-Dwildfly.statistics-enabled=true)
如果您不使用 Red Hat 的容器镜像,您仍然可以使用相同的 jmx-exporter 配置文件。这些文件 (jmx-exporter-config.yaml) 是开源的,可在 github 上获得:
【讨论】:
我能够使用此配置抓取指标
将以下配置添加到您的启动脚本或standalone.conf
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=org.jboss.byteman,org.jboss.logmanager -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Dorg.jboss.logging.Logger.pluginClass=org.jboss.logging.logmanager.LoggerPluginImpl"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.0.3.Final-redhat-1.jar"
JAVA_OPTS="$JAVA_OPTS -javaagent:/path/to/exporter/jmx_exporter.jar=10001:/path/to/config/config.yaml"
【讨论】: