Zabbix监控Tomcat中间件指南

第1章、 方案设计

1.1、 简介

zabbix2.0 添加了支持用于监控JMx 应用程序的服务进程,称为"Zabbix-Java-gateway”:它是用 java 写的一个程序。

 

1.2、 工作原理:

zabbix server 想知道一台主机上的特定的 JMx 值时,它向 zabbix-Java-gateway 询问,而zabbix-Javagateway 使用"IMXmanagementaer去查询特定的应用程序,而前提是应用程序这端在开启时需要-Dcom.sun.managementjmxremote“参数来开启 JMX 查询就行了。zabbixserver 有一个特殊的进程用米连接 Java-gateway的StaruavaPollers: Java-gateway 通过配置文件中 START_ POLLERS 参数设置启动多个线程,在zabbix 服务器这边如果一个连接所用时间超过 Timeout,将会被中断,但是Java-gateway将继续从 JMxcounter 取数据。所以StartavaPollers 设置的值要小于等于START_ POLLERS 设置的值。zabbix-Java-gateway 就相当于一个代理。

1.3、 Zabbix的JMX架构图

如图:

 

第2章、 开启Tomcat服务JMX端口

2.1、 修改Tomcat配置文件

 

vim /usr/local/tomcat/bin/setenv.sh

CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=10.10.1.251"  

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=12345"

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.rmi.port=12345" #version8.5以上要加这句

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"

2.2、 配置文件参数的解释

参数 说明

-Docm.sun.management.jmxremote 启用JMX

-Docm.sun.management.jmxremote.authenticate=false 是否开启认证,看是否有需求(若开启,需要定义账户和密码)

-Docm.sun.management.jmxremote.ssl=false 远程ssl验证

-Docm.sun.management.jmxremote.port=12345 远程监听端口

-Djava.rmi.server.hostname=192.168.1.134 Tomcat 所在服务器IP

-Dcom.sun.management.jmxremote.rmi.port=12345" tomcat 8.5以上要加

2.3、 重启tomcat服务

#关闭服务 /usr/local/tomcat/bin/shutdown.sh

#启动服务 /usr/local/tomcat/bin/startup.sh

 

2.4、 检查JMX端口监听状态

netstat -lntup |grep java

 

 

第3章、 部署Java-geteway组件

#Zabbix源码包包含Java-getway软件包

3.1、 检查JDK环境

java -version

 

3.2、 安装java-gateway组件

tar xvf zabbix-4.0.8.tar.gz

cd /usr/src/zabbix-4.0.8

./configure --enable-java --prefix=/usr/local/java-geteway

make && make install

3.3、 修改Java-gateway配置文件

cd /usr/local/java-geteway/sbin/zabbix_java

vim settings.sh

 

LISTEN_IP="0.0.0.0" #监听地址

LISTEN_PORT=10052   #监听端口

START_POLLERS=5     #开启的工作线程数(必须大于等于后面zabbix_server.conf文件的StartJavaPollers参数)

3.4、 修改zabbix-server配置文件

cd /usr/local/zabbix/etc/

vim zabbix-server.conf

 

JavaGateway=127.0.0.1

StartJavaPollers=5

JavaGatewayPort=10052

3.5、 重启zabbix_server服务

service zabbix_server restart

3.6、 启动java-gateway服务

cd /usr/local/java-geteway/sbin/zabbix_java

./startup.sh

3.7、 检查端口监听状态

netstat -lntup |grep 10052

 

 

第4章、 Zabbix界面配置

4.1、 创建ES监控主机

进入Configuration-->Hosts,点击Create host:

 

4.2、 配置监控模板Templates:

 

点击Add 添加主机。

第5章、 数据检查

进入Monitoring-->Latest data,选择Hosts主机,点击Apply:

 

posted @ 2023-03-11 21:19  呼长喜  阅读(338)  评论(0编辑  收藏  举报