转载自:http://www.huilog.com/?p=688
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
上面的介绍有点绕,我是这么简单粗暴地理解的:JMX之于JVM或JAVA,相当于SNMP之于OS。只是JMX比SNMP更强大,除了监控外,还可以通过JMX对JAVA程序进行管理,如更改一些配置等。
Zabbix已经集成JMX,可以用Zabbix通过JMX监控JVM,TOMCAT,Weblogic,Jboss等。要使用Zabbix监控 Weblogic,我们先要了解Zabbix的JMX监控架构,Weblogic的JMX信息,最后才能去实现怎么去配置监控和报警。
1. Zabbix 的JMX监控架构
如上面的Zabbix JMX监控架构图所示,Zabbix是使用了一个叫做Java Gateway的应用去监控JMX的。Java Gateway集成在zabbix官方开发发布的。
2. Zabbix server及Java gateway的配置
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum -y install zabbix-java-gateway zabbix-web-mysql zabbix-server-mysql
也可以通过源码安装,请参考官方文档。
zabbix-server的配置我就不介绍了,我们着重看下与java-gateway相关的配置:
zabbix-java-gateway的配置文件是/etc/zabbix/zabbix_java_gateway.conf,配置文件很简单,如下:
# 监听地址
LISTEN_IP=”0.0.0.0″
# 监听端口
LISTEN_PORT=10052
# PID_FILE文件
PID_FILE=”/var/run/zabbix/zabbix_java.pid”
# 开启的工作线程数
START_POLLERS=5
启动zabbix-java-gateway:
service zabbix-java-gateway start
再修改zabbix-server的配置,编辑/etc/zabbix/zabbix_server.conf ,修改下面几个参数:
# JavaGateway的服务器IP地址
JavaGateway=192.168.89.204
# JavaGateway的服务端口
JavaGatewayPort=10052
# 从javaGateway采集数据的进程数
StartJavaPollers=5
配置文件修改后,重启zabbix-server:
service zabbix-server restart
好,现在zabbix-java-gateway就配置好了。
3. 开启JMX
使用JMX前需要先开启JMX,默认是关闭的,在启动JAVA程序时,加入下面的参数,就可以开启JMX: