一.zabbix监控tomcat的方式
zabbix通过部署jmx来监控tomcat
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
JMX监控架构
二.实验环境的部署
1.客户端配置
(1)软件安装
[root@server2 ~]# ls
4.0 jdk-8u121-linux-x64.rpm nginx-1.15.8.tar.gz
apache-tomcat-8.5.24.tar.gz nginx-1.15.8
[root@server2 ~]# rpm -ivh jdk-8u121-linux-x64.rpm
[root@server2 ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
[root@server2 ~]# cd /usr/local/
[root@server2 local]# ls
apache-tomcat-8.5.24 etc include lib64 nginx share
bin games lib libexec sbin src
[root@server2 local]# ln -s apache-tomcat-8.5.24/ tomcat ##软连接便于访问
[root@server2 local]# ls
apache-tomcat-8.5.24 etc include lib64 nginx share tomcat
bin games lib libexec sbin src
(2)更改配置文件
[root@server2 local]# cd tomcat/
[root@server2 tomcat]# cd bin/
[root@server2 bin]# vim catalina.sh ##添加tomcat的JMX参数
CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8888 ##端口
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
# OS specific support. $var _must_ be set to either true or false.
cygwin=false
darwin=false
os400=false
hpux=false
case "`uname`" in
CYGWIN*) cygwin=true;;
Darwin*) darwin=true;;
OS400*) os400=true;;
HP-UX*) hpux=true;;
esac
[root@server2 tomcat]# bin/startup.sh ##开启服务
[root@server2 tomcat]# netstat -antlp ##查看8888端口及8080端口
tcp6 0 0 :::40683 :::* LISTEN 3546/java
tcp6 1 0 :::8080 :::* LISTEN 3546/java
tcp6 0 0 :::22 :::* LISTEN 686/sshd
tcp6 0 0 :::8888 :::* LISTEN 3546/java
tcp6 0 0 ::1:25 :::* LISTEN 787/master
tcp6 0 0 :::36929 :::* LISTEN 3546/java
tcp6 0 0 :::10050 :::* LISTEN 633/zabbix_agentd
tcp6 0 0 :::8009 :::* LISTEN 3546/java
tcp6 295 0 172.25.4.112:8080 172.25.4.250:49938 ESTABLISHED -
(3)编辑发布目录
[root@server2 tomcat]# cd webapps/ROOT/
[root@server2 ROOT]# vim test.jsp
[root@server2 ROOT]# cat test.jsp
server2-The time is: <%=new java.util.Date() %>
[root@server2 ROOT]# cd ..
[root@server2 webapps]# cd ..
[root@server2 tomcat]# bin/shutdown.sh ##关闭服务
[root@server2 tomcat]# bin/startup.sh ##重新开启服务
浏览器端测试:172.25.4.112:8080/test.jsp
2.server端的配置
(1)安装软件
[root@server1 ~]# yum install zabbix-java-gateway.x86_64 -y ##用于监控jmx应用程序的服务进程
(2)更改配置文件
[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# ls
web zabbix_agentd.d zabbix_java_gateway_logback.xml
zabbix_agentd.conf zabbix_java_gateway.conf zabbix_server.con
[root@server1 zabbix]# vim zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0" ##监听地址
LISTEN_PORT=10052 ##监听端口
PID_FILE="/var/run/zabbix/zabbix_java.pid" ##PID_FILE文件路径
START_POLLERS=5 ##开启的工作线程数量
[root@server1 zabbix]# systemctl start zabbix-java-gateway ##开启服务
[root@server1 zabbix]# systemctl enable zabbix-java-gateway ##设置开机自启
[root@server1 zabbix]# vim zabbix_server.conf
JavaGateway=172.25.4.111 ##IP地址
JavaGatewayPort=10052 ##端口
StartJavaPollers=5 ##采集数据的进程数
[root@server1 zabbix]# systemctl restart zabbix-server ##重启服务
[root@server1 zabbix]# ps ax ##查看server开启的java进程是否为5个
28878 ? S 0:00 /usr/sbin/zabbix_server: java poller #1 [got 0 values
28879 ? S 0:00 /usr/sbin/zabbix_server: java poller #2 [got 0 values
28880 ? S 0:00 /usr/sbin/zabbix_server: java poller #3 [got 0 values
28881 ? S 0:00 /usr/sbin/zabbix_server: java poller #4 [got 0 values
28882 ? S 0:00 /usr/sbin/zabbix_server: java poller #5 [got 0 values
3.zabbix监测界面的配置
(1)server2主机添加JMX接口
配置–主机–server2
(2)添加JMX模板
配置–主机–server2–模板