如何查找tomcat服务器处理的请求总数?

时间:2012-01-17 13:36:26

标签: java servlets tomcat6

我想托管一个tomcat服务器,它将托管3个Web应用程序。我想得到我的服务器处理的请求总数(对于3个Web应用程序中的任何一个)。是否有任何日志可以检查我的服务器处理的请求总数(包括HTTP 404请求)

注意:我可以计算每个应用程序处理的请求总数,并获取我的服务器处理的请求总数,但部署在tomcat中的应用程序是第三方,我无法对其进行任何更改。

基本上,我正在为tomcat服务器构建一个监控应用程序,我必须提供应用程序中提供的总请求,

另外,我的第一个想法是在servlet-api.jar中覆盖HTTPServletRequest类构造函数并放置一个静态计数器。因为每个请求都映射到HTTPServletRequest对象,我想它会完成这项工作。但是覆盖HTTPServletRequest是一个好主意还是有现成的解决方案?

2 个答案:

答案 0 :(得分:1)

如果你确实选择覆盖HTTPServletRequest类,不要只添加一个静态计数器,这将导致你的计数器每次服务器关闭/ jvm重新加载时重置自己。

我认为从数据库中增加数据或每次将值保存在文件中可能是更好的选择。这样,即使服务器发生了某些事情,您也不会丢失计数,并且必须重新启动它。

这是假设已经没有Apache扩展已经开始这样做了,你确实想要修改HTTPServletRequest类。

答案 1 :(得分:1)

为此,您可以使用名为Request Dumper Filter的特殊过滤器。

根据官方Tomcat文档:

The following entries in a web application's web.xml would enable the Request Dumper 
filter for all requests for that web application. If the entries were added to 
CATALINA_BASE/conf/web.xml, the Request Dumper Filter would be enabled for all web 
applications.