概述

​官网​​​​GitHub​

JMX

JMX,即Java Management Extensions,监控Java应用程序系统运行的状态信息,通过分析JMX信息,可用于监控应用程序运行状态、优化程序、排查问题。

JMXTrans

JMXTrans是一款开源的JMX指标采集工具,使用简单方便,无需编写代码,只需要配置文件就可以轻松收集大量应用的JMX指标数据。

安装

​下载地址​​,CentOS系统的安装:

wget http://central.maven.org/maven2/org/jmxtrans/jmxtrans/266/jmxtrans-266.rpm
rpm -ivh jmxtrans-266.rpm
/etc/init.d/jmxtrans start

需要监视的JVM越多,需要的内存就越多,修改配置:​​vim /etc/jmxtrans/wrapper.conf​

# Initial Java Heap Size (in MB)
wrapper.java.initmemory=64
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=2048

该应用程序安装在: /usr/share/jmxtrans
配置选项存储在: /etc/jmxtrans/wrapper.conf
在以下位置有一个初始化脚本: /etc/init.d/jmxtrans
将您的.json文件放入: /var/lib/jmxtrans

采集的写法
​​​ https://github.com/jmxtrans/jmxtrans/wiki/Queries​​​ 后端output to influxdb写法:
https://github.com/jmxtrans/jmxtrans/wiki/InfluxDBWriter

JMXTrans支持多种输出方式,分别有GangliaWtiter、GraphiteWriter、OpenTSDBWriter、StdoutWriter、Log4JWriter、InfluxDBWriter等,如此丰富的输出方式不需要修改任何代码,只需要简单的配置就可以完成。下面分别介绍InfluxDBWriter的使用方法来了解JMXTrans的配置方法。

监听192.168.1.1服务器的9999 JMX端口,获取堆内存和非堆内存的使用信息,将采集到的指标数据写入到InfluxDB的“monitordb”数据库的“jvm_memory”表中,JSON配置文件示例如下:

实例

好文

​集成开源技术的性能监控平台​​​​JMXtrans + InfluxDB + Grafana实现Zookeeper性能指标监控​