我们正在OpenShift中部署我们的微服务 . 我们希望使用Prometheus监控JMX指标,以便稍后使用Grafana显示它们 .
我们找到了JMX_EXPORTER,据我所知,它可用于收集Prometheus特定格式的JMX指标 .
现在,我们想以某种方式将代理绑定到我们的代码,以便我们可以从OpenShift内部访问指标 .
我们可以以某种方式在Glassfish中部署代理/加载代理,类似于Jolokia的工作原理吗?这里的文件https://github.com/prometheus/jmx_exporter并没有给我们带来太大的影响 .
1 回答
有点晚了,但是我只花了几个小时试图完成同样的工作并且那里的信息非常少,所以这就是我最终得到的结果,以防万一它能帮到别人 .
假设您已经在openhift中运行了prometeus代理(默认情况下为3.9)
-javaagent:/path/to/jmx_prometheus_javaagent-0.3.1.jar=8080:/path/to/jmx.yaml
对你的应用程序调用 - jmx.yaml可以包含几个东西,但最重要的是提取规则 - 它们非常适合你的应用程序 . 例如我看起来像这样:
第二步是添加适当的注释并公开端口 . 将以下内容添加到部署yaml:
而不是暴露容器上的端口:
您的prometheus现在应该收集指标 . 如果您点击了pod上的端口8080,您还应该看到指标 .
最后一步是将Prometeus数据源添加到Grafana并开始享受您的指标