5.tomcat监控

tomcat远程监控

#Jmx远程调用(jmx远程监控)
JMX即Java管理扩展,是对Java应用程序和JVM进行监控和管理的,在实际开发过程中,所有的程序都是需要进行监控的,JMX是Java官方提供的一套用于监控Java程序和JVM运行时状态的标准API,很多开源软件都是用JMX来实现性能监控的
#通过JMX,我们可以监控的内容包括:
1、服务器中各种资源的使用情况:CPU、内存等
2、JVM内存使用情况
3、JVM中的线程情况
4、JVM中加载的类

#环境
tomcat   192.168.2.10
远程监控   192.168.2.20

#监控端只需要配置jdk环境即可

#客户端
vim /usr/local/tomcat/bin/catalina.sh                        #通过tomcat启动文件配置监控的功能
308 # ----- Execute The Requested Command -----------------  #在此行下添加一下内容
309 CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.5.4    #监控主机的ip,本机
310 -Dcom.sun.management.jmxremote                           #开启远程监控
311 -Dcom.sun.management.jmxremote.port=8080                 #端口
312 -Dcom.sun.management.jmxremote.ssl=false                 #不使用https
313 -Dcom.sun.management.jmxremote.authenticate=true"        #需要验证登录才能远程监控
ls /usr/local/java/jre/lib/management/
jmxremote.access             management.properties
jmxremote.password.template  snmp.acl.template
cp /usr/local/java/jre/lib/management/jmxremote.password.template /usr/local/java/jre/lib/management/jmxremote.password        #样例文件复制成密码文件
vim /usr/local/java/jre/lib/management/jmxremote.password    #编辑密码文件
monitorRole  123456                                          #监控角色密码,monitorRole账号
controlRole  123456                                          #控制角色密码,controlRole账号
#关闭防火墙,selinux
setenforce 0
systemctl stop firewalld

#增加权限,重启tomcat
chmod 600 /usr/local/java/jre/lib/management/jmxremote.*
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh 
netstat -anput | grep 8080

#远程主机端执行
jconsole
1.远程连接IP地址,192.168.5.4:8080
2.账号monitorRole,密码123456

jvm内存监控

#jvm的内存监控
栈内存是静态分配
栈内存系统可以自动释放,物理机jvm先分配一部分内存,jvm会先给tomcat分配一块内存,让tomcat先使用,如果不够,在会分配一块给tomcat,上限使用jvm所有的内存
堆内存是动态分配
堆内存系统不会自动释放,即使程序退出内存还是在被占用状态,必须手动释放,不然会造成内存泄漏,Memory Leak或者是内存漏洞,直到系统崩溃

vim /usr/local/tomcat/webapps/ROOT/meminfo.jsp
<%
Runtime rtm = Runtime.getRuntime();
long mm = rtm.maxMemory()/1024/1024;                         #默认计算bit字节,两个1024则是MB,增加11024则GB
long fm = rtm.freeMemory()/1024/1024;
long tm = rtm.totalMemory()/1024/1024;
out.println("JVM memory info:<br>");
out.println("Max memory:"+mm+"MB"+"<br>");                   #单位是MB,可以更改为GB或者KB
out.println("Free memory:"+fm+"MB"+"<br>");
out.println("Total memory:"+tm+"MB"+"<br>");
out.println("Available memory can be used:"+(mm+fm-tm)+"MB"+"<br>");
%>
firefox 192.168.5.4:8080/meminfo.jsp

Max memory          jvm可以从系统得到的最大内存
Free memory         jvm运行后剩余可用内存,jvm是使用多少系统分配多少,使用过程中剩余的,并不是最大减去使用
Total memory        jvm当前使用的总内存,包括tomcat使用的和free memory剩余可用的
Available memory    jvm当前可用内存

tomcat使用的内存=tm-fm
jvm总可以使用的内存=mm-(tm-fm)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vaVMwDjH-1663599449628)(https://2022429.oss-cn-beijing.aliyuncs.com/csdn/jvm%E5%86%85%E5%AD%98%E5%88%86%E9%85%8D%E7%A4%BA%E6%84%8F%E5%9B%BE.jpg)]
存=tm-fm
jvm总可以使用的内存=mm-(tm-fm)


[外链图片转存中...(img-vaVMwDjH-1663599449628)]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: org.apache.tomcat.util.modeler是一个Java类库,用于管理和监控Tomcat服务器的运行状态。它提供了一组工具和API,可以让开发人员更方便地管理Tomcat服务器的配置和运行。该类库包含了一些核心类,如ModelMBean、ManagedBean、MBeanServer等,这些类可以帮助开发人员实现自定义的MBean,并将其注册到MBeanServer中,从而实现对Tomcat服务器的监控和管理。 ### 回答2: org.apache.tomcat.util.modeler是Apache Tomcat中的一个工具类库,用于管理和操作Java对象的模型。它提供了一套API和工具,可以用于创建、注册、查询和管理Java对象的模型和元数据。 org.apache.tomcat.util.modeler主要有以下几个功能: 1. 创建模型:通过使用ModelMBean接口和相关类,可以创建一个JavaBean对象的模型。这个模型可以包含一些属性、操作和事件,用于描述JavaBean的各种行为和特征。 2. 注册模型:通过使用ModelMBeanRegistration接口和相关类,可以将一个JavaBean对象的模型注册到Tomcat的模型管理器中。注册后,可以通过唯一的ObjectName标识符来访问和操作模型。 3. 查询模型:通过使用ModelMBeanInfo接口和相关类,可以查询模型的元数据信息,包括模型的属性、操作、事件等详细信息。这些信息可以用于动态管理和操作JavaBean对象。 4. 管理模型:通过使用ModelMBean接口和相关类,可以对模型进行一些管理操作,如属性值的设置和获取、操作的调用等。这些操作可以通过Java代码或JMX控制台来执行。 org.apache.tomcat.util.modeler的主要目的是提供一种简单、灵活且可扩展的方式来管理和操作Java对象的模型。它可以广泛应用于Tomcat服务器的管理和监控系统中,也可以作为独立的工具类库在其他Java应用程序中使用。通过使用org.apache.tomcat.util.modeler,开发人员可以更方便地管理和操作Java对象,提高系统的可管理性和可维护性。 ### 回答3: org.apache.tomcat.util.modeler是一个Apache Tomcat服务器的模块,用于管理和操作Java管理扩展(MBeans)。MBeans是一种Java对象,用于管理和监控Java应用程序的运行时行为。 org.apache.tomcat.util.modeler提供了一个框架,可以通过注解或XML配置文件定义MBeans,来监控和管理Java应用程序的各种方面。它通过使用Java动态代理和反射机制来实现动态生成和管理MBeans对象。 通过org.apache.tomcat.util.modeler,可以将Java应用程序的各种组件(如连接池、Servlet、JSP引擎等)以MBeans的形式暴露出来,从而可以通过标准的Java管理扩展API(JMX API)对其进行监控和管理。这些组件的属性和操作可以通过MBeans的属性和方法来获取和设置。 除了管理和监控外,org.apache.tomcat.util.modeler还提供了一些其他功能,例如:描述和验证MBeans的模型,自动生成MBeans的XML描述文件,支持运行时动态加载和卸载MBeans等。 总之,org.apache.tomcat.util.modeler是一个帮助开发人员实现和管理MBeans的工具,为Java应用程序提供了一种方便的方式来监控、管理和诊断运行时行为。它为Apache Tomcat服务器的开发和管理提供了强大的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值