tomcat下怎么监控每个web项目的cpu,内存的使用情况?
我在tomcat下使用Jmx只能检测到session相关的情况以及tomcat使用cpu的情况,不知道每个项目的cpu怎么监控?后来看了javamelody的源码,他监控的也是tomcat的内存使用情况?
或者我自己写MBean,怎么被tomcat管理和与项目关联呢?
自定义MBean的问题,因为Tomcat启动的时候已经发布了一个MBeanServer了,你只需要在项目加个ServletContextListener,通过MBeanServerFactory的静态方法findMBeanServer(String agentId)获取MBeanServer然后注册你自己的MBean即可,那个参数用null。之前也试过自己打包甩到tomcat的lib下,然后改conf的web.xml加监听器也可以。
分项目监控好像本身没有这个机制,线程池是公用的。如果有这样的需要最好是多个tomcat前端用Apache或者Nginx做个转发。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。