上期我们讲到LoaRunner性能测试Tomcat监控,这期我们讲LoaRunner性能测试probe监控。

probe监控

这是一款 Tomcat 管理和监控工具,前身是 Lambda Probe。

由于 Lambda Probe 2006不再更新

所以 PSI Probe 算是对其的一个 Fork 版本并一直更新至今。

psi-probe是在相同的开源许可证(GPLV2)下分发的社区驱动的 Lambda Probe ,psi-probe的前身是 Lambda Probe。

由于Lambda Probe 2006之后不再更新,所以psi-probe算是对其的一个 Fork版本并一直更新至今。

它的目的是替换和扩展 Tomcat 管理器,使得管理和监视 Apache Tomcat 的实例更容易。与许多其他服务器监控工具不同,psi-probe不需要对现有应用程序进行任何更改。它通过一个Web可访问的接口提供它的所有特性,只需将它部署到服务器即可。

使用psi-probe监控的步骤如下:

1. 安装probe

目前我们一般都是安装psi-probe的版本

将下载的安装包解压缩,放进webapps目录。

2. 配置用户与角色

使用probe监控工具时,会提醒输入登录的用户信息

该登录的用户信息角色必须为manage-gui。

在tomcat-users.xml文件中配置即可。具体的代码如下:

conf/tomcat-users.xml文件中添加以下代码

//设置角色名
rolename="manager-gui"/>
//设置用户
username="admin" 
password="admin" roles="manager-gui"/>

3.重启Tomcat服务器

tomcat停止
./usr/local/apache-tomcat-8.5.31/bin/shutdown.sh
tomcat启动
./usr/local/apache-tomcat-8.5.31/bin/startup.sh

4. 进入监控界面

http://ip:port/probe

例如

http://192.168.40.133:8080/probe/

监控界面的信息如图所示。



监控druid链接 监控器链接_apache


监控界面的内容主要包括:

  • Applications
  • Data Sources
  • Deployment
  • Logs
  • Threads
  • Cluster
  • System
  • Connectors
  • Certificates和Quick check

1. Applications

Applications标签页的内容如图所示。


监控druid链接 监控器链接_测试服务器最大链接数_02


applications中主要显示所有应用程序相关的情况,表示服务器上运行的应用程序的情况。

  • STATUS列:表示应用程序运行的状态。
  • REQ.列:表示应用程序所接受到的HTTP请求数。
  • sess.列:表示发送请求使用到的session数。
  • JSP列:表示发布程序所有JSP文件。

Application statistics显示所有应用程序的统计信息:所有应用程序的请求数、每个应用程序的请求数、所有应用程序响应的时间(ms)、每个应用程序平均响应时间(ms),如图所示。


监控druid链接 监控器链接_apache_03


2. Data Sources

表示所配置的数据源,如果没有配置就不会显示这个内容。

3.Deployment

可以在当前页面下上传jar包到服务器端,对服务器进行更新程序。

4. Logs

该标签页主要是显示了日志的相关信息,如图所示。


监控druid链接 监控器链接_服务器_04


这里显示日志文件名、日志大小、日志更新时间、以及涉及到的类的信息。

单击日志文件链接可以查看日志文件信息,这个日志信息内容就是Tomcat目录下的日志信息,一样的,日志内容如下:

at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
26-Apr-2020 22:05:28.532

信息

[main] 
org.apache.coyote.AbstractProtocol.pause 
Pausing ProtocolHandler ["http-nio-8080"]
26-Apr-2020 22:05:28.532

信息

[main] 
org.apache.coyote.AbstractProtocol.pause 
Pausing ProtocolHandler ["ajp-nio-8009"]
26-Apr-2020 22:05:28.532

信息

[main] 
org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
26-Apr-2020 22:05:29.062

警告

[localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [opencarrun] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Thread.sleep(Native Method)
org.apache.log4j.net.SocketAppender$Connector.run(SocketAppender.java:440)
26-Apr-2020 22:05:29.089

信息

[main] 
org.apache.coyote.AbstractProtocol.stop Stopping 
ProtocolHandler ["http-nio-8080"]
26-Apr-2020 22:05:29.089

信息

[main] 
org.apache.coyote.AbstractProtocol.destroy 
Destroying ProtocolHandler ["http-nio-8080"]
26-Apr-2020 22:05:29.090

信息

[main] 
org.apache.coyote.AbstractProtocol.stop 
Stopping ProtocolHandler ["ajp-nio-8009"]
26-Apr-2020 22:05:29.090

信息

[main] 
org.apache.coyote.AbstractProtocol.destroy 
Destroying ProtocolHandler ["ajp-nio-8009"]

当然要看的懂这个日志信息,就必须了解这些JAVA类,否则可能很难看明白。

如果有需要也可以将这个日志文件下载下来。

1. Threads

线程标签页主要显示服务器线程池的信息,如图所示。


监控druid链接 监控器链接_应用程序_05


单击左上角的“Threads Pools”链接,会显示线程池相关的参数信息,如图所示。


监控druid链接 监控器链接_apache_06


这个界面显示了当前线程数、当前正在忙的线程、最大线程数、最大空闲线程数和最小空闲线程数。关于线程的参数在server.xml文件中可以来设置。

2. Cluster

Cluster标签页主要是显示集群相关的信息

3. System

System主要是显示系统相关的信息,如图所示。


监控druid链接 监控器链接_服务器_07


Memory utilization这里显示了主的内存和内存使用情况

单击“Advise Garbage Collection”

选项可以对内存进行回收。下面是服务器操作系统相关的信息。

单击右侧Memory Utilization选项,会显示出所有关于内存使用的信息,包括HEAP(堆)和NON_HEAP(非堆)的信息。如图所示。


监控druid链接 监控器链接_测试服务器最大链接数_08


如果要看懂图里面的信息,特别是关于HEAP(堆)和NON_HEAP(非堆),很多读者可能理解起来比较晕

所以必须对JVM有着深入的理解,上面显示了中三代使用内存的情况以及相关的参数信息,但是在现在的最新版的JVM并没有分成三代,而是将持久代换成了元空间。

下面的则显示出了所有代所消耗内存的情况。这个消耗的内存正常一定是锯形状,就是一高一低的,因为GC会在后面回收内存。所以看到的就是一下多一下少的。

关于内存使用是我们监控Tomcat的一个很重要数据。所以我们必须要看的懂这些数据和这些曲线图。

1. Connectors

Connectors标签页主要显示了连接器相关的信息,如图所示。


监控druid链接 监控器链接_apache_09


这里显示了所有连接器处理请求的情况:每秒钟处理的请求数、请求的响应时间、请求的字节数等。下面显示还是了我们客户端访问服务器的相关资源信息。

2. Certificates

Certificates标签页显示了证书相关的信息。

3. Quick check

Quick check标签页显示了检查服务器状态的一些信息。主要包括以下信息。

Datasource test 
PASSED 
(Max usage 0%)
Memory test 
PASSED 
File creation test: 
 PASSED 
Application test: 
PASSED