如何监控java Web应用程序

时间:2013-05-09 22:42:38

标签: java monitoring

我想监控java webapplication但不知道如何监控。

  1. 我可以通过窗口中的perfmon或linux中的ps -ef监视Jave工作进程/线程名称是什么?

  2. 如何监控Java工作线程池?

  3. 如何监控JVM以及我应该监控哪个计数器?

  4. 由于

3 个答案:

答案 0 :(得分:2)

对于任何Java进程,请尝试使用JVisualVM。如果您需要特定于网络的内容,则必须提供更多详细信息

答案 1 :(得分:1)

有很多工具可以做到这一点。请查看JDK附带的jvisualvm作为其中之一。

Java进程名称通常包含“java”一词

答案 2 :(得分:1)

jVisualVM将最接近您想要的,并且可以使用JDK,%JAVA_HOM%/ bin / jvisualvm.exe免费使用。您需要使用额外的JVM选项才能挂钩到您的webapp(这也需要重启):

  • -Dcom.sun.management.jmxremote

描述:通过注册JVM工具MBean并在专用接口上发布RMI连接器来启用JMX代理的本地访问

  • -Dcom.sun.management.jmxremote.port = 3333

描述:用于RMI连接的端口(需要是未使用的端口)

  • -Dcom.sun.management.jmxremote.ssl =假

描述:禁用客户端SSL身份验证的默认值(最简单/最快速的配置)

  • -Dcom.sun.management.jmxremote.authenticate =假

描述:禁用远程监控的密码验证的默认值

  • -Djava.rmi.server.hostname =本地主机

描述:RMI侦听器的选项(使用localhost使RMI仅在本地侦听或将其设置为appserver主机名以进行远程监视)

运行jVisualVM并选择“添加新的JMX连接”并输入localhost:3333。我最喜欢的扩展是线程堆栈,它显示当前正在运行的线程的线程堆栈。