zabbix(监控)——使用JMX监控tomcat

一、JMX和tomcat介绍
JMX(Java Manager Extension),类似JMS,是一个Java管理体系的规范标准,主要负责系统管理和监控,基于此规范扩展的系统具有管理监控的功能,可以动态监控和修改内存中变量。利用在Tomcat中,可以监控和管理服务器性能,JVM参数,WEB连接数,线程池,数据库连接池,配置文件重新啊加载等并且提供了远程友好的可视化管理等,并且,实时性高,同时为分布式系统管理提供一个基础框架和丰富的管理手段。
JMX体系结构三个层次,设备层,代理层 ,分布服务层,以下分别简述
1 设备层(Instrumentation Level),定义了信息模型,定义了实现JMX管理的资源,管理构件(MBean),可以使java应用,服务,一个设备。
2 代理层(Agent Level),定义了各种服务以及通信模型,核心是MBean服务器,所有管理构件向它注册。
3 分布服务层(Distributed Service Level)。负责使JMX代理对外界可用,定义了能够对代理层进行操作的管理接口和构件,具体内容依靠适配器实现,这样外部管理者就可以操作代理。
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器
监控原理:当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远程监控功能等
二、搭建实验环境

主机名(IP)	                          服务
server1(172.25.254.1)	     zabbix-server ,zabbix-web,zabbix-agent,
server2(172.25.254.2)	     zabbix-agent,tomcat、

三、开始配置
server2获取软件包并安装
在这里插入图片描述
在这里插入图片描述

[root@server2 bin]# vim catalina.sh 
CATALINA_OPTS='-Dcom.sun.management.jmxremote    #开启远程监控
  -Dcom.sun.management.jmxremote.port=8888      #远程监控端口
  -Dcom.sun.management.jmxremote.ssl=false    #远程ssl验证为false
  -Dcom.sun.management.jmxremote.authenticate=false'

在这里插入图片描述
http://tomcat.apache.org/tomcat-8.5-doc/monitoring.html
在这里插入图片描述
server1
在这里插入图片描述
在这里插入图片描述

[root@server1 ~]# netstat -tnpl | grep java  查看端口
tcp6  0   0   :::10052    :::*      LISTEN      57896/java     

编辑zabbix-server的配置文件,添加javagateway的相关信息,重启服务

[root@server1 ~]# vim /etc/zabbix/zabbix_server.conf 
[root@server1 ~]# systemctl restart zabbix-server.service

在这里插入图片描述
设置web界面
在这里插入图片描述
在这里插入图片描述
JMX已经开启
在这里插入图片描述
在这里插入图片描述
补充

[root@server1 ~]# vim /etc/zabbix/zabbix_java_gateway.conf 
[root@server1 ~]# systemctl restart zabbix-java-gateway.service 

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值