Zabbix 监控 Tomcat 服务
目录
一、Zabbix 监控 Tomcat 的方式
zabbix通过部署jmx来监控tomcat
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
二、 实例部署
节点 | 主机IP | 安装软件 |
---|---|---|
客户端 | 192.168.23.40 | zabbix-agent JDK tomcat |
服务端 | 192.168.23.35 | zabbix-server zabbix-agent mariadb-server mariadb |
注:Zabbix服务端(zabbix-server)与客户端(zabbix-client)已配置
1. 客户端配置
(1)安装 JDK
cd /opt
rpm -ivh jdk-8u371-linux-x64.rpm
(2)设置 JDK 变量环境
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0-x64
export CLASSPATH=.$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
:wq!
source /etc/profile.d/java.sh
(3)安装tomcat
# 解压 tomcat 包
tar -xf /opt/apache-tomcat-8.5.16.tar.gz
# 切换 tomcat 位置
mv /opt/apache-tomcat-8.5.16 /usr/local/tomcat
# 开启 tomcat
/usr/local/tomcat/bin/startup.sh
(4)修改配置文件
vim /usr/local/tomcat/bin/catalina.sh
# 第103行
CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
-Dcom.sun.management.jmxremote
表示开启JMX远程管理功能。
-Dcom.sun.management.jmxremote.port=8888
表示指定JMX远程连接的端口号为8888。
-Dcom.sun.management.jmxremote.ssl=false
表示禁用JMX远程连接的SSL安全传输。
-Dcom.sun.management.jmxremote.authenticate=false
表示禁用JMX远程连接的身份验证。
(5)重启
2. 服务端配置
(1)安装 zabbix-java-gateway
yum -y install zabbix-java-gateway.x86_64
(2)修改配置文件
vim /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0" # 9行,监听地址
LISTEN_PORT=10052 # 17行,监听端口
PID_FILE="/var/run/zabbix/zabbix_java.pid" # 27行,PID_FILE文件路径
START_POLLERS=5 # 35行,开启的工作线程数量
systemctl start zabbix-java-gateway.service
systemctl enable zabbix-java-gateway.service
vim /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.23.35 # 297行,IP地址
JavaGatewayPort=10052 # 305行,端口
StartJavaPollers=5 # 313行,采集数据的进程数
systemctl restart zabbix-server
ps ax | grep java # 查看server开启的java进程是否为5个