我正在尝试将JMX_Exporter用于我的kotlin代码,以将度量标准公开给普罗米修斯,以便在Grafana中显示它。我浏览了许多文章,试图理解如何做到。我发现以下两个链接很有用,并尝试使用它们。
到目前为止,我在根目录中创建了一个文件夹“ prometheus-jmx”,并在该文件夹中添加了提及的JAR和config.yml文件。然后,我将以下参数添加到我的dockerfile中。
CMD java -Xms128m -Xmx256m -javaagent:./jmx_prometheus_javaagent-0.12.0.jar=8080:./config.yml -Dconfig.file=config/routing.conf -cp jagathe-jar-with-
dependencies.jar:./* com.bmw.otd.agathe.AppKt
我的Prometheus和我的应用程序一起在OpenShift集群中运行。我可以为其他应用程序/部署(例如Jenkins,SonarQube等)抓取指标,而无需对Prometheus的deployment.yml进行任何修改。
我的应用程序现在可以在OpenShift上正常运行,并且可以从应用程序的pod中使用以下命令抓取指标。
curl http://localhost:portNumber
但是在Promethus UI上,我看不到任何与JVM或JMX相关的指标。
有人可以告诉我我在哪里做错了吗?任何帮助将不胜感激。
答案 0 :(得分:0)
尝试了很多事情之后,我知道我需要公开应用程序容器的端口,以便让Prometheus或其他部署知道。暴露了端口之后,我可以在Prometheus的目标下看到我的应用程序,并且可以抓取所有JMX和JVM指标。希望这会对以后的人有所帮助...