我正在使用JBoss JMX Console来监控我的Web应用程序。 如何在任何时间点找到正在处理的http请求?
例如:我看到25个忙碌的帖子 - 我想知道这些线程处理的是什么http请求。
答案 0 :(得分:0)
我不确定是否能够将特定请求映射到线程,但您可以使用AccessLogValve查看对Tomcat发出的HTTP请求。如果需要,您可以使用时间戳来映射这些请求。
答案 1 :(得分:0)
碧玉;
执行此操作的艰巨方法是检查具有此模式的MBean的每个实例:
jboss.web:name=HttpRequest1,type=RequestProcessor,worker=http-0.0.0.0-18080
它们是代表服务线程的Web请求的MBean,它们有一个名为 currentQueryString 的属性,它是当前正在处理的请求的查询字符串。还有 currentUri 和方法的属性。您也可以编写此数据的集合脚本。
默认情况下,在JBoss服务器中启用的一种更简单的方法是使用以下位置:
http://localhost:8080/web-console/status
它可以轻松地聚合那些相同的MBean,并在一个页面中报告它们。
还有更全面的报告选项
http://localhost:8080/web-console/status?full=true
和XML格式的输出
http://localhost:8080/web-console/status?XML=true