从 Talend ESB 向 Prometheus 显示 JvmHeapSize
Show JvmHeapSize from Talend ESB to Prometheus
我想从 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
Error opening zip file or JAR manifest missing : ./jmx_prometheus_javaagent-0.12.0.jar
一些想法或示例如何从 Talend ESB 获取 JVM 堆大小并将它们公开给 Prometheus?
克隆这个项目: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 和端口。
执行命令后,您可以访问此 link:
上的指标
接受的答案没有多大意义。问题是关于使用 java 代理,而答案是关于 运行 一个 httpserver。主 README 页面解释了两者之间的区别。 https://github.com/prometheus/jmx_exporter
我运行遇到了同样的问题。该问题与 prometheus jmx exporter 本身无关。 Java 找不到代理时可能会出现此问题。确保 jar 文件存在于您使用的路径中。也许看看文件的权限。尝试引用参数,例如
-javaagent:"<path to jmx agent jar and other arguments>"
我想从 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 Error opening zip file or JAR manifest missing : ./jmx_prometheus_javaagent-0.12.0.jar
一些想法或示例如何从 Talend ESB 获取 JVM 堆大小并将它们公开给 Prometheus?
克隆这个项目: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 和端口。 执行命令后,您可以访问此 link:
上的指标接受的答案没有多大意义。问题是关于使用 java 代理,而答案是关于 运行 一个 httpserver。主 README 页面解释了两者之间的区别。 https://github.com/prometheus/jmx_exporter
我运行遇到了同样的问题。该问题与 prometheus jmx exporter 本身无关。 Java 找不到代理时可能会出现此问题。确保 jar 文件存在于您使用的路径中。也许看看文件的权限。尝试引用参数,例如
-javaagent:"<path to jmx agent jar and other arguments>"