Tomcat性能监控之Probe

 目前采用java进行开发的系统居多,这些系统运行在java容器中,通过对容器的监控可以了解到java进程的运行状况,分析java程序问题。目前市面上流行的中间件有很多(Tomcat、jetty、jboss、weblogic、websphere等),基本原理相似,都遵循Servlet规范。对容器的监控,实际上就是对JVM的监控,下面介绍一个Tomcat的监控工具Probe,Probe只需要一个war包就可以完成监控任务。

类别计数器描述
Tomcatjvm内存关注GC回收频率,Full GC次数越少越好
最大线程数线程池连接数长期大于百分之八十以上,建议优化
数据库连接数活动连接数长期大于百分之八十以上,建议优化连接池

请求数

请求状态

线程数、线程状态、大量Blocked状态线程可以Dump线程栈信息进行分析

1、下载Probe:https://github.com/psi-probe;放在tomcat的webapps目录下

2、Probe相关配置

  修改tomcat下conf/tomcat-users.xml文件:

  <tomcat-users>
   <role rolename="manager"/>
   <role rolename="tomcat"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin" roles="manager,tomcat,manager-gui"/>
  </tomcat-users>

  开启JVM远程监控,添加set "JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote",修改tomcat下bin/catalina.bat文件:

3、RUNNABLE:系统正在运行;

  WAITING:此状态指线程拥有某个锁,调用了wait方法,等待其他线程拥有者调用notify唤醒改线程继续下一步操作;

  TIME_WAITING:有限制的waiting,一般出现在调用wait、join等情况,另外线程sleep后,也会进入time_waiting状态;

  BLOCKED:阻塞状态,代表线程繁忙正在执行中,可能有资源等待情况,我们需要长期关注blocked状态线程,Dump线程栈以找到程序,从而分析出做什么操作,等待那些资源;

  TERMINATED:表示run方法已经执行完毕,进入死亡状态,如果线程长时间持有可能不会被回收。

 

转载于:https://www.cnblogs.com/wu-wu/p/10061718.html

Tomcat监控工具Probe 1.Porbe介绍 psi-probe用于对Tomcat进行监控,比tomcat的manager强大很多。 2.下载 probe-2.3.3.zip 或者 probe.war 3.将下载好的war包,或者zip文件,放在tomcat的webapp目录下 4.配置tomcat-users.xml文件 标签内添加,具体的权限配置,查看下面表格 注:tomcat-users.xm包含了所有Tomcat服务器的注册用户,其中有role(角色)、user(用户)两种信息 (1)role Tomcat中保存了一些用户权限,也就是角色,比如admin、Tomcat等。用户还可以自定义,通过""来注册一个角色。它只有rolename一个属性,通过这个属性可以把用户的权限进行分配。 (2)User 这个数据项中包含了诸如用户名、用户密码、用户权限、用户说明等数据属性。 probe有 probeuser、poweruser、poweruserplus、manager(针对不同tomcat版本)等角色,对应可操作的功能如下表: 特别注意一点:表格里面的X表示拥有权限,也就是说,manager的权限是最大的,什么都能操作(不推荐配置)。 Features by Role probeuser poweruser poweruserplus manager Context: list X X X X Context: status X X X X Context: view servlets X X X X Context: view servlet mappings X X X X Context: view filters X X X X Context: view filter mappings X X X X Context: list attributes X X X X Context: remove attributes X X X Context: start X X X Context: stop X X X Context: view web.xml X X X Context: view context.xml X Context: deploy X Context: undeploy X Session: list X X X X Session: list attributes X X X X Session: search attributes X X X X Session: remove attributes X X X Session: view last-accessed IP X X X X Session: expire single X X X Session: expire multiple X X X JSP: list X X X JSP: view source X X X JSP: view servlet source X X X JSP: compile single X X X JSP: compile multiple X X X JSP: compile all on deployment X JSP: discard all compiled X Data Source: list X X X X Data Source: group by JDBC URL X X X X Data Source: status X X X X Data Source: reset X X X Data Source: test X X Data Source: view query history X X Data Source: execute SQL X X Log: list X X X X Log: tail in real-time X X X X Log: download X X X X Thread: list X X X X Thread: view execution stack X X X Thread: kill X Connector: status X X X X Connector: real-time usage charts X X X X Cluster: status X X X X Cluster: real-time traffic charts X X X X JVM: real-time memory usage charts X X X X JVM: status X X X X JVM: advise GC X Java Service Wrapper: status X X X X Java Service Wrapper: restart JVM X System: overview X X X X System: properties X X X X System: OS details X Quick Check: execute X 5.启动tomcat,访问http://localhost:8080/probe/ 6.probe使用介绍 Applecations:tomcat上面正在跑的应用,可以看到每个应用的状态、请求数、session数等,点进去可以查看详细信息 Data Sources:tomcat的数据源,我这里没有配置数据源 Deployment:代码部署,选择一个war并部署。我这边没用这个东西来部署过代码,用脚本来实现 Logs:tomcat日志 Threads:tomcat线程,可以查看线程的状态等信息,还可以杀死线程 Cluster:tomcat集群 System Information:系统信息 Connectors:connector信息,可以看到每秒的请求数、响应时间等 Quick check:快速检测tomcat的数据源、内存等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值