作者:享学课堂Java架构讲师 King
转载请声明出处!
Tomcat Manager
Tomcat Manager是一个Tomcat内置的管理界面, 管理界面随Tomcat的每次安装一起启动,提供包括快速入门指南和相关文档的链接。通过此界面,您可以查看Tomcat指标,并通过JMX代理Servlet查询指标数据。
Tomcat Manager角色和权限
虽然管理界面是开箱即用的,但是在没有设置适当的用户和角色之前,您将无法访问。Tomcat提供多个角色访问Tomcat Manager,主要的两个角色是:
-
manager-jmx :提供对JMX代理servlet和Tomcat服务器状态页面的访问
-
manager-gui :授予对Tomcat应用程序管理器的访问权限,您可以在其中运行诊断程序并手动触发垃圾回收
如果需要从管理界面访问Tomcat指标,您需要为用户分配适当的角色。您可以通过更新Tomcat的conf / tomcat-users.xml配置文件来完成此操作:
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<user username="tomcat-jmx" password="<YOUR_PASSWORD>" roles="manager-jmx,manager-gui"/>
此代码段首先定义了我们要分配给用户的两个角色。然后,它创建一个新的 tomcat-jmx
用户,为其分配这些角色,并为用户设置密码。如果您使用全新安装的Tomcat,则需要创建一个新用户; 否则,您可以将角色分配给现有用户。
Tomcat Manager的Web界面
默认情况下,可以从 http://localhost:8080
本地访问Tomcat Manager,你也可以在Tomcat的服务器配置文件中进行更改。当你访问Web界面前,系统将提示您登录。主要的数据指标如下:
-
服务器和应用程序状态页面 :显示JVM,连接器和应用程序指标的高级概述,包括内存使用,线程计数和请求处理时间
-
应用程序管理器 :提供诊断工具,用于调查应用程序中的内存泄漏
-
JMX代理 :用于查询Tomcat指标的基于文本的界面
Tomcat的服务器状态页面
应用程序和服务器状态的高级视图 ,可以导航到 /manager/status
页面或单击主页上的“Server Status”按钮。此页面包含有关Tomcat服务器及其AJP和HTTP连接器的信息,以及JVM的内存使用情况。
每个连接器部分显示有关线程使用情况的信息(例如,最大线程数,当前线程数和当前繁忙线程数)以及请求吞吐量和性能(例如,处理时间,错误计数和接收的字节数),以及每个连接器的信息。
每个线程在处理请求时都会经历一系列阶段:
-
**就绪(Ready):**该线程可用于处理请求。
-
**解析和准备请求(Parse and prepare request):**该线程正在解析请求头或准备读取请求的主体。
-
**服务(Service):**线程正在处理并生成传入请求的响应。
-
**完成(Finishing):**线程已完成处理请求并将生成的响应发送回客户端。
-
**Keep-Alive:**线程保持连接打开,以便同一客户端发送另一个请求。此阶段的最长持续时间由服务器配置文件中设置的
keepAliveTimeout
值确定。连接超时后,线程返回就绪阶段。
线程阶段可以帮助您准确地衡量准备接受传入请求的线程数。您还可以在服务器状态页面上的Tomcat应用程序列表中查看每个已部署应用程序的请求计数。
Tomcat应用程序状态页面
如果要查看所有已部署应用程序的状态,您可以导航到 manager/status/all
页面。此页面(页面往下拉)列出了所有应用程序,包括Tomcat Manager本身,因此您可以快速查看处理时间,活动会话以及为每个应用程序加载的JSP servlet数量。