企业—zabbix通过jmx监控tomcat
一.zabbix实现对tomcat监控简介
1.工作原理
当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345向Zabbix-JavaGateway提供请求数据。
开始监控部署
从上面的原理图中我们可以看出,配置Zabbix监控Java应用程序的关键点在于:配置Zabbix-JavaGateway、让Zabbix-Server能够连接Zabbix-JavaGateway、Tomcat开启JVM远程监控功能等
二.zabbix监控tomcat的部署
web页面监控tomcat流程:
client—>wenui—>zabbix server—>zabbix jmx:10052—>tomcat:8888
1.实验环境
主机名(IP) | 服务 |
---|---|
server1(172.25.254.1) | zabbix-server ,java-gateway |
server2(172.25.254.2) | zabbix-agent,tomcat |
部署如下:
server2:
1.官网下载jdk的安装包安装及其tomcat压缩包解压并且安装tomcat
[[email protected] ~]# rpm -ivh jdk-8u121-linux-x64.rpm
[[email protected] ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
[[email protected] ~]# cd /usr/local/
[[email protected] local]# ln -s apache-tomcat-8.5.24/ tomcat
[[email protected] tomcat]# cd bin/
[[email protected] bin]# vim catalina.sh
文件编辑内容如下:
109 CATALINA_OPTS='-Dcom.sun.management.jmxremote //开启远程监控
110 -Dcom.sun.management.jmxremote.port=8888 //远程监控端口
111 -Dcom.sun.management.jmxremote.ssl=false //远程ssl验证为false
112 -Dcom.sun.management.jmxremote.authenticate=false'
//关闭权限认证
[[email protected] bin]# ./startup.sh //开启tomcat
[[email protected] bin]# netstat -ntlp //查看监控端口
在tomcat的文件中添加JMA参数,JMA全称Java Management Extensions,为即阿va应用提供管理扩展功能,本次实验为开启远程监控功能:
2.官网下载java-gateway安装包并进行安装且要开启java-gateway服务
[[email protected] ~]# ls
zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm
[[email protected] ~]# yum install zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm -y
[[email protected] ~]# systemctl start zabbix-java-gateway
server1(zabbix server)
1.安装java-gateway并做相应的设置
[[email protected] 4.0]# yum install zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm
2.编辑zabbix-server配置文件添加java-gateway的配置信息
[[email protected] ~]# cd /etc/zabbix/
[[email protected] zabbix]# vim zabbix_server.conf
文件编辑内容如下:
288 JavaGateway=172.25.254.1
296 JavaGatewayPort=10052
304 StartJavaPollers=5
[[email protected] zabbix]# systemctl restart zabbix-server
[[email protected] zabbix]# zabbix_server -R config_cache_reload //检查jmx检测是否正常
zabbix_server [3656]: command sent successfully
在web界面进行设置
在配置–>主机–>server2
添加jmx的接口:
添加jmx的模版
在tomcat的图形里面查看jmx的图形
主机更新之后server2上的JMX变绿为正常,则监控tomcat成功