可以使用“jmx exporter”而不在 jar 文件中编译我的 spring boot 应用程序吗?

Posted

技术标签:

【中文标题】可以使用“jmx exporter”而不在 jar 文件中编译我的 spring boot 应用程序吗?【英文标题】:can "jmx exporter" be used without compliling my spring boot Application in jar file? 【发布时间】:2021-09-29 03:06:21 【问题描述】:

在官方 git 存储库 (https://github.com/prometheus/jmx_exporter) 中,我看到我需要使用此命令“java -javaagent:./jmx_prometheus_javaagent-0.16.1.jar=8080:config.yaml -jar yourJar.jar "。我在我的 Eclipse 中运行我的 Spring Boot 应用程序,而没有以 jar 格式编译。

那么,如何在不将 spring 应用程序编译到 jar 文件中的情况下从 jmx 导出器获取指标。谁能帮我解决这个问题。

【问题讨论】:

【参考方案1】:

您需要在 Eclipse IDE 中修改“运行配置”,以包含您在问题中显示的必要 JVM 参数 (java -javaagent:./jmx_prometheus_javaagent-0.16.1.jar=8080:config.yaml)。有关详细信息,请查看this answer 了解如何操作。

Jar 文件 (jmx_prometheus_javaagent-0.16.1.jar) 和 YAML 文件 (config.yaml) 必须在当前工作目录中,否则您可能需要提供完整路径。

【讨论】:

按照您告诉我的步骤后,我在控制台中收到以下输出:-“错误:无法找到或加载主类 java 原因:java.lang.ClassNotFoundException:java”我是想知道哪个类,java找不到 从参数中省略 java。这是example 非常感谢,在我从参数中删除“java”后它终于起作用了。

以上是关于可以使用“jmx exporter”而不在 jar 文件中编译我的 spring boot 应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot Actuator vs prometheus Jmx exporter

使用 Jmx Exporter for Prometheus 缺少 Kafka Connect 指标

云原生prometheus结合jmx exporter 的http server模式采集tomcat监控实战

将 JMX Exporter 与 Wildfly 15 一起使用时出现 NoClassDefFoundError

Kafka 的 Prometheus JMX Exporter java 代理无法运行

Prometheus结合jmx exporter 的httpserver模式采集tomcat监控实战