jmx监控之jmxtrans

1、jxmtrans介绍

使用Jmxtrans的理由:

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。利用JMX可以对外暴露jvm内部的一些指标,但是要获取那些jvm的内部信息,就还需要自己写java程序调用jmx接口去获取数据,并按照某种格式发送到其他地方(如监控程序Graphite,Zabbix,时序数据库Influxdb等)。这时jmxtrans就派上用场了,jmxtrans的作用是自动去jvm中获取所需要的jmx数据,并按照某种格式(json文件配置格式)输出到其他应用程序。

如果我们要监控Kafka、Kettle等一些开源的应用程序,市面上很难找到一款现成的监控平台,通过Jmxtrans + Influxdb + Grafana我们就可以轻松的打造属于自己的监控平台(包括Java的JMX监控)

 

 

2、rpm安装jmxtrans

1、下载rpm包

wget https://repo1.maven.org/maven2/org/jmxtrans/jmxtrans/272/jmxtrans-272.rpm

2、安装说明

rpm -ivh jmxtrans-272.rpm
warning: jmxtrans-272.rpm: Header V4 RSA/SHA512 Signature, key ID ed17de0a: NOKEY
Preparing...               ########################################### [100%]
  1:jmxtrans               ########################################### [100%]

安装如下文件目录
rpm -ql jmxtrans
/etc/init.d/jmxtrans
/etc/jmxtrans
/usr/bin/yaml2jmxtrans
/usr/share/jmxtrans/
/var/lib/jmxtrans
/var/log/jmxtrans
/var/run/jmxtrans


jmxtrans安装目录:/usr/share/jmxtrans
jmxtrans配置文件 :/etc/jmxtrans/wrapper.conf
json文件默认目录:/var/lib/jmxtrans/
init脚本: /etc/init.d/jmxtrans
日志:/var/log/jmxtrans/jmxtrans.log

# ll /etc/jmxtrans
lrwxrwxrwx 1 root root 23 6月 28 11:25 /etc/jmxtrans -> /usr/share/jmxtrans/etc

/etc/init.d/jmxtrans
lrwxrwxrwx 1 root root 32 6月 28 11:25 /etc/init.d/jmxtrans -> /usr/share/jmxtrans/bin/jmxtrans

3、配置开机启动

jmxtrans配置文件增加JAVA_HOME的配置,例如:

vi /etc/sysconfig/jmxtrans
export JAVA_HOME=/usr/java/default
chkconfig --add jmxtrans
chkconfig jmxtrans on
service jmxtrans start

#启动日志的文件在/var/log/jmxtrans/jmxtrans.log,大家可以通过查看日志来判断是否可以接收数据

 

4、测试样例

cd /var/log/jmxtrans
{
"servers" : [ {
  "port" : "8022",
  "host" : "172.20.1.1",
  "queries" : [ {
    "obj" : "java.lang:type=Memory",
    "attr" : [ "HeapMemoryUsage", "NonHeapMemoryUsage" ],
    "resultAlias":"jmxtrans_jvmMemory",
    "outputWriters" : [ {
      "@class" : "com.googlecode.jmxtrans.model.output.InfluxDbWriterFactory",
      "url" : "http://1.1.1.1:8086/",
      "username" : "admin",
      "password" : "admin",
      "database" : "test001",
      "tags"     : {"application" : "kafka_server"}
    } ]
  } ]
} ]
}
上一篇:测试片段


下一篇:kafka修改对应topic的日志保存周期