Prometheus 指标不会显示 Java class
Prometheus metrics wont show for Java class
好吧,这个问题让我无所适从,我不明白为什么 Prometheus 不提供指标。我到达了 192.168.2.13:8534/metrics,但我得到的只是微调器与端口的联系。我在容器内本地访问“wget http://localhost:8055”,我得到
“正在连接到本地主机 (localhost)|127.0.0.1|:8055...已连接。已发送 HTTP 请求,正在等待响应...”
Docker 指向 8543 -> 8055
我调用我的应用程序来启动它只不过是一个 class 和 Main 方法。通过下面的调用,我的 class 应用程序启动并完美响应。我还打开了 JVisualVM 和 JMX,完美地显示了所有 JVM 信息和指标。我可以附加调试器没问题。
java -javaagent:"/pro/prometheus/jmx_prometheus_javaagent-0.13.0.jar=8055:/pro/prometheus/config_prometheus.yaml" -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=31787 -Dcom.sun.management.jmxremote.rmi.port=31787 -Djava.rmi.server.hostname=192.168.2.13 -cp $LIBS service.core2.BootStrap
为什么 Prometheus 不会服务器指标但 JMX 工作正常?我的配置文件真的很简单。
startDelaySeconds: 0
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
port: 8055
能想到的我都试过了
- 更改了 JVM 8/9
- 更改了操作系统。 diff docker 图片 Ubuntu 16/18/20
- 验证路径
- 权限
- 尝试了不同的端口并验证它们可以访问。
- 尝试了不同的“jmx_prometheus_javaagent-”罐子
如有任何帮助,我们将不胜感激。
事实证明,底层代码正在调用嵌入式 Jetty 服务器,因此我需要从中获取指标的实际速度。现在弄清楚如何从嵌入式码头获取指标。
好吧,这个问题让我无所适从,我不明白为什么 Prometheus 不提供指标。我到达了 192.168.2.13:8534/metrics,但我得到的只是微调器与端口的联系。我在容器内本地访问“wget http://localhost:8055”,我得到
“正在连接到本地主机 (localhost)|127.0.0.1|:8055...已连接。已发送 HTTP 请求,正在等待响应...”
Docker 指向 8543 -> 8055
我调用我的应用程序来启动它只不过是一个 class 和 Main 方法。通过下面的调用,我的 class 应用程序启动并完美响应。我还打开了 JVisualVM 和 JMX,完美地显示了所有 JVM 信息和指标。我可以附加调试器没问题。
java -javaagent:"/pro/prometheus/jmx_prometheus_javaagent-0.13.0.jar=8055:/pro/prometheus/config_prometheus.yaml" -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=31787 -Dcom.sun.management.jmxremote.rmi.port=31787 -Djava.rmi.server.hostname=192.168.2.13 -cp $LIBS service.core2.BootStrap
为什么 Prometheus 不会服务器指标但 JMX 工作正常?我的配置文件真的很简单。
startDelaySeconds: 0
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
port: 8055
能想到的我都试过了
- 更改了 JVM 8/9
- 更改了操作系统。 diff docker 图片 Ubuntu 16/18/20
- 验证路径
- 权限
- 尝试了不同的端口并验证它们可以访问。
- 尝试了不同的“jmx_prometheus_javaagent-”罐子
如有任何帮助,我们将不胜感激。
事实证明,底层代码正在调用嵌入式 Jetty 服务器,因此我需要从中获取指标的实际速度。现在弄清楚如何从嵌入式码头获取指标。