一、概述
JMX Exporter 是一个用于将 Java 应用程序的 JMX(Java Management Extensions)指标导出为 Prometheus 格式的度量数据的开源工具。Prometheus 是一种流行的开源监控和告警工具,它使用 Pull 模型来收集和存储度量数据,而JMX Exporter允许你将 Java 应用程序的内部性能指标导出到Prometheus 中,从而实现对 Java 应用程序的监控和警报。
以下是 JMX Exporter 的一些关键特点和用途:
- 度量数据导出:JMX Exporter 允许你选择并配置要从 Java 应用程序导出的 JMX 指标。这些指标可以是 JVM 内部的性能指标,也可以是应用程序特定的自定义指标。
- Prometheus 格式:JMX Exporter 将导出的 JMX 指标转换为 Prometheus 格式的度量数据。Prometheus 格式是一个文本格式,易于阅读和处理,并且适用于 Prometheus 服务器的存储和查询。
- 适用于各种 Java 应用程序:JMX Exporter 可以用于各种 Java 应用程序,包括独立的 Java 进程、Tomcat、Spring Boot 应用程序等。只要你的应用程序支持 JMX,就可以使用 JMX Exporter 来导出度量数据。
- 配置灵活性:JMX Exporter 允许你通过配置文件来定义要导出的指标和匹配规则。这使得你可以根据应用程序的需求进行高度定制和配置。
- 支持标签(labels):与 Prometheus 一样,JMX Exporter 支持标签,这意味着你可以为导出的指标添加元数据,以便更容易进行查询和可视化。
- 轻量级和高性能:JMX Exporter 被设计为轻量级和高性能,以最小化对监控的影响。
使用 JMX Exporter,你可以将你的 Java 应用程序的关键性能指标导出到 Prometheus,并利用 Prometheus 提供的灵活查询和警报功能来监控和诊断你的应用程序。这有助于及时发现和解决问题,确保你的应用程序在生产环境中保持可靠性和稳定性。
图片
三、下载 JMX Exporter jar包
JMX Exporter GitHub地址:https://github.com/prometheus/jmx_exporter
四、JMX Exporter 实战操作(Trino指标采集)
1)安装 Trino
1)安装 Trino
Trino官方文档:https://trino.io/docs/current/
这里为了快速部署就选择docke-compose部署了。
2)修改配置
修改编排文件 docker-compose.yaml
3)开始执行安装 Trino
图片
web访问,就可以看到采集的数据了。
图片
4)开始配置 Prometheus 采集 Trino JMX 指标数据
Prometheus 的安装可以参考我这篇文章:Prometheus on k8s 部署与实战操作进阶篇
1、下载 prometheus 安装包
2、导入镜像
镜像下载日志:
链接:https://pan.baidu.com/s/10ksK1OtKwlvZqbExKmZgLw?pwd=bcu6提取码:bcu6
3、开始安装 prometheus
图片
4、开始配置 Prometheus 采集 Trino JMX 指标数据
jmx/trino.yaml 文件内容如下:
执行
检测 Prometheus 上是否已经采集 trino jmx
图片
4、配置 Trino JMX Grafana 监控面板
官方模块下载地址:https://grafana.com/grafana/dashboards/
用的比较多的模板是 https://grafana.com/grafana/dashboards/8563 ,可以直接导入,面板效果图:
图片
这里是根据上面的模板修改了几个指标,小伙伴可以根据自己需要添加面板
图片
这里给一份阿里云常用 Trino 监控指标参考:https://help.aliyun.com/document_detail/474222.html