2

我想从 Talend ESB 获取 jvm 指标并将指标显示给 Grafana。

我可以使用 JConsole 轻松查看它们,但我不知道如何将它们暴露给 Grafana。

我的想法是使用 JMX Exporter 获取指标并将它们公开给 prometheus,然后在 Grafana 上显示它们,但是当我尝试 JMX Exporter 时,我遇到了启动它的问题。

C:\Users\admin\Desktop\jmx_exporter-master>java -javaagent:./jmx_prometheus_javaagent-0.12.0.jar=9090:talend-config.yml 打开 zip 文件时出错或缺少 JAR 清单:./jmx_prometheus_javaagent-0.12.0 。罐

一些想法或示例如何从 Talend ESB 获取 JVM 堆大小并将它们公开给 Prometheus?

4

2 回答 2

2

克隆这个项目:https ://github.com/prometheus/jmx_exporter然后导航到 jmx_prometheus_httpserver 文件夹,将 pom.xml 中的版本更改为 0.12.0 然后执行mvn clean install 之后可以找到 jmx_prometheus_httpserver-0.12.0-jar -with-dependencies.jar 在目标文件夹中。

创建 talend-config.yml 文件并将以下行添加到其中:

---
startDelaySeconds: 0
#hostPort: 
username: tadmin
password: tadmin 
jmxUrl: service:jmx:rmi://localhost:44444/jndi/rmi://localhost:1099/karaf-trun
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false

保存并执行以下命令:

java -jar jmx_prometheus_httpserver-0.12.0-jar-with-dependencies.jar localhost:9595 talend-config.yml

如果您愿意,您可以更改 ip 和端口。执行命令后,您可以访问此链接上的指标:

http://localhost:9595/metrics

于 2019-07-25T12:06:49.497 回答
0

接受的答案没有多大意义。问题是关于使用 java 代理,而答案是关于运行 httpserver。README 主页面解释了两者之间的区别。https://github.com/prometheus/jmx_exporter

我遇到了同样的问题。该问题与 prometheus jmx 导出器本身无关。当 Java 无法找到代理时,可能会出现此问题。确保 jar 文件存在于您使用的路径中。也许看看文件的权限。尝试引用论点,例如

-javaagent:"<path to jmx agent jar and other arguments>"
于 2022-01-20T21:01:53.217 回答