zabbix---监控Tomcat/JVM的部署
1 zabbix-java-gateway监控Tomcat/JVM原理
Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦。所有后来为了解决这个监控问题,Zabbix和Java双方应运生成了各自的代理监控程序:zabbix 2.0以后添加了服务进程zabbix-java-gateway;Java有了JMX,全称是Java Management Extensions,即Java管理扩展。
1.1 Zabbix通过JMX监控Tomcat的过程
-
zabbix_server开启java poller, zabbx_java开启JavaGateway,端口为10052,Tomcat JMX开启12345提供性能数据。
-
数据获取:java poller<–>JavaGateway:10052<–>Tomcat
1.2 实验环境
server1:172.25.12.1 zabbix server,zabbix-java-gateway
server2:172.25.12.2 zabbix agent,jdk环境,tomcat
防火墙、selinux关闭
2 tomcat的部署
(1) 配置运行的java环境:yum install java-1.8.0-openjdk.x86_64
(2) 下载tomcat的安装包并解压:tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
- 进入tomcat的安装路径:cd /usr/local/
- 软链接:ln -s apache-tomcat-7.0.37 tomcat
(3)开启tomcat的远程jvm配置文件
- cd tomcat/
- 脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本:vim catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote.port=8888 ##开启远程监控
-Dcom.sun.management.jmxremote.ssl=false # ##远程ssl验证为false
-Dcom.sun.management.jmxremote.authenticate=false ###关闭权限认证
- 启动tomcat:./startup.sh
- 查看java进程是否开启:netstat -antlp
3 jvm代理服务器配置
(1)安装zabbix-java-gateway:yum install zabbix-java-gateway -y
(2)编辑配置文件:vim /etc/zabbix/zabbix_java_gateway.conf
(也可以不用更改,采用默认的配置)
(3) 启动服务:systemctl enable --now zabbix-java-gateway.service
(4) 查看进程的端口号是否开启: netstat -antlp |grep :10052
4 zabbix server配置
zabbix_server:默认未启用JavaPollers
(1)启用JabaPollers,编辑配置文件:vim /etc/zabbix/zabbix_server.conf
JavaGateway=172.25.12.1 //java gateway地址
JavaGatewayPort=10052 //java gateway默认端口
StartJavaPollers=10 //启动进程轮训个数
(2) 重启zabbix server:systemctl restart zabbix-server.service
5 zabbix界面的配置
- 配置——主机——server2——JMX接口——更新
- 模板——添加——选择(群组Template Applications中的Template App Generic Java
JMX模板)——添加——更新
- jvm部署成功
- 查看监控jvm的图形化数据