我正在尝试使用JMX_Exporter我的kotlin代码来向prometheus公开指标,以便在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的部署. yml进行任何修改。
我的应用程序现在在OpenShift上正常运行,从应用程序的pod中,我可以使用以下命令抓取指标。
curl http://localhost:portNumber
但是在prothemusUI上,我看不到任何JVM或JMX相关的指标。
有人能告诉我我哪里做错了什么吗?任何帮助都将不胜感激。
在尝试了很多事情之后,我知道我需要公开我的应用程序容器的端口,以便让Prometheus或其他部署知道。公开端口后,我可以在Prometheus上的目标下看到我的应用程序,并且我可以抓取所有JMX和JVM指标。希望这将在将来帮助某人…