zabbix监控tomcat的指标有堆栈内存利用率、当前会话连接数、繁忙线程等
配置zabbix-agent端的tomcat
yum -y install tomcat 下载tomcat
java -version 查看我们jdk版本
openjdk version "1.8.0_332"
rpm -ql tomcat | cat -n 查看所有安装目录
42 /var/lib/tomcat
43 /var/lib/tomcat/webapps
44 /var/lib/tomcats
找到发布目录,并且放一个页面
tomcat start 启动tomcat
本地浏览器访问,测试是否能够成功访问。
这里如果采用二进制包安装,需要先部署JAVA环境。
执行安装目录bin目录下shutdown.sh 关闭tomcat;startup.sh启动tomcat。
zabbix-server对java程序的数据采集需要使用java gateway组件
yum -y install zabbix-java-gateway 下载
egrep -v "^$|^#" /etc/zabbix/zabbix_java_gateway.conf 配置文件
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java.pid"
START_POLLERS=5
TIMEOUT=3
打开 监听地址 监听端口 工作线程数
systemctl enable --now zabbix-java-gateway 开机自启
netstat -tpln 查看端口是否打开
配置zabbix-server的配置文件
cat >> /etc/zabbix/zabbix_server.conf << eof
JavaGateway=本机IP地址
JavaGatewayPort=10052
StartJavaPollers=5
eof
zabbix-server调用java gateway指定监听地址,指定java gateway的服务器监听端口,启动多少个进程去轮训。
systemctl restart zabbix-server 重启
zabbix-agent端添加tomcat中的JXM参数
#启用远程监控JMX
vim /usr/libexec/tomcat/server
在 FLAGS="$JAVA_OPTS"下面添加
CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8008 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=IP地址"
-Dcom.sun.management.jmxremote.port=12345 #默认启动的JMX端口号,要和zabbix添加主机时候的端口一致
-Dcom.sun.management.jmxremote.authenticate=false #不使用用户名密码
-Dcom.sun.management.jmxremote.ssl=false #不使用ssl认证
-Djava.rmi.server.hostname=x.x.x.x" #tomcat主机自己的IP地址,不是zabbix服务器的地址
systemctl restart tomcat 重启
二进制包安装的Tomcat在catalina.sh里修改
zabbix页面设置
这里使用zabbix自带模板。如果开启了用户认证连接,需要配置宏的值。
这里是刚配好显示的最新数据