将 JvmHeapSize 从 Talend ESB 显示到 Prometheus

Posted

技术标签:

【中文标题】将 JvmHeapSize 从 Talend ESB 显示到 Prometheus【英文标题】:Show JvmHeapSize from Talend ESB to Prometheus 【发布时间】:2019-12-03 15:14:05 【问题描述】:

我想从 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.jar

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

【问题讨论】:

【参考方案1】:

克隆这个项目: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

【讨论】:

你拯救了我的一天,谢谢

以上是关于将 JvmHeapSize 从 Talend ESB 显示到 Prometheus的主要内容,如果未能解决你的问题,请参考以下文章

使用 talend 将数据从 as400 加载到雪花时数据发生变化

Talend - 从 xml 文件中读取 Ldap 的 xml 架构

无法通过metaservlet api将talend作业zip文件从Windows机器上传到tac

使用 talend 将 CSV 文件红移

Talend 从字符串转换为 bigdecimal

使用 TALEND 将 Salesforce 库文件导出为 zip