zabbix 部署jmx监控tomcat
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
一. Zabbix 的JMX监控架构
一:部署环境
|
服务端配置
1、安装jdk(版本1.7.0_79)
JDK 各自的版本7.0 还是8.0 版本官网下载:JDK
我这里也上传了7.0.67 版本的和8.0版本的jdk源码包:
并上传到zabbix server
直接解压下载下来的包到自定义的目录:
|
安装成功之后添加系统环境变量
|
使配置生效
|
安装与配置比较简单。执行java -version命令,出现类似界面表示成功。
|
如果出现问题,查看下环境变量是否设置。
2、安装Zabbix-Java-gateway
Zabbix2.0起添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”,它是用java写的一个程序。
安装gateway,需要java,java-devel依赖
|
测试是否成功:
第一:测试java是否成功
|
第二:测试gateway是否安装成功
|
3、修改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
4、修改zabbix_server
的配置文件并重启
修改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就配置好了。
以上步骤,服务端配置就已经完成。
客户端配置
1、 添加tomact中JMX的参数
编辑tomcat服务中bin目录下的catalina.shCATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=JMX_HOST"
CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial="
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=JMX_PORT"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
2.下载测试工具cmdline-jmxclient-0.10.3.jar
cmdline-jmxclient-0.10.3.jar为一个测试工具,可用来测试jmx是否配置正确,下载cmdline-jmxclient-0.10.3.jar(下载到任意目录)
|
3.验证tomcat中JMX配置是否生效
在本机上执行
|
如果有如下回显表示jmx配置正确,如不正确,请检查配置,看下端口启动是否正常,server.xml 配置。
|
二、导入模板到zabbix,并关联到主机,添加监控
选择配置:主机-模板-选择-模板-:
Template JMX Tomcat
Template JMX Generic
然后查看图形:
就有了。