Tomcat服务器


支持的版本

支持的Tomcat服务器版本为3.x,4.x,5.x,6.x,7.x及更高版本。 对于Tomcat Server 3.x和4.x,必须部署代理进行监控。

注意: 
 您可以通过连接到Tomcat服务器中的以下URL来检查是否已部署代理。
http:// <Tomcat-Host>:<Tomcat-Port> / adventnet / DataServlet

为Tomcat Server 3.x部署代理

  1.  从 <Applications Manager主页> / working / classes 目录下载 Tomcat3Agent.Zip。
  2. 将其解压缩到运行Tomcat服务器的主机的< Tomcat Home >目录中。
  3. 重新启动Tomcat服务器。

为Tomcat Server 4.x部署代理 

  1.  从<Applications Manager主页> / working / classes 目录下载 Tomcat4Agent.Zip。
  2. 将其解压缩到运行Tomcat服务器的主机的< Tomcat Home >目录中。
  3.  在<Tomcat Home> / conf 目录中的server.xml文件中 (在Engine标记下面)添加以下标记 。<Valve className = com.adventnet.appmanager.tomcatagent.ver4.valve.AdventNetHostValve /> [点击链接以查看示例 server.xml ]
  4. 重新启动Tomcat服务器。

 

结合部署Tomcat Server 4.x和Apache服务器的代理

  1.  从<Applications Manager主页> / working / classes 目录下载 Tomcat4Agent.Zip。
  2. 将其解压缩到运行Tomcat服务器的主机的< Tomcat Home >目录中。
  3.  在<Tomcat Home> / conf 目录中的server.xml文件中 (在Engine标记下面)添加以下标记 。<Valve className = com.adventnet.appmanager.tomcatagent.ver4.valve.AdventNetHostValve /> [点击链接以查看示例 server.xml ]
  4. 重新启动Tomcat服务器。
  5. Apache:在 Apache Server的Apache mod_jk.conf文件中,添加以下条目 
    • JkMount / adventnet / * ajp13,其中 ajp13是工作程序名称。它是worker.properties文件中提供的名称 。
  6. 重新启动Apache服务器。

创建Tomcat服务器监视器

  1. 点击新建监视器 链接。
  2. 选择 Tomcat服务器。
  3. 输入主机的 IP地址 或主机名 。[注意:另请参阅 基于Tomcat部署的配置部分]
  4. 输入网络的子网掩码
  5. 输入运行监视器的端口号。[默认端口号是8080]
  6. 如果Tomcat服务器中启用了SSL,请选择SSL选项 。
  7. 输入轮询间隔时间(以分钟为单位)。
  8. 如果要从管理服务器添加新监视器,请选择被管服务器
  9. 提供特定于监视器的身份验证信息,例如用户名和密码。

注意:

必须在Tomcat服务器3.x和4.x中部署Applications Manager代理。

Tomcat 3.x和4.x不需要用户名和密码。对于Tomcat 5.x及更高版本, 必须在其中运行名为Manager的应用程序 ,Applications Manager才能监控Tomcat服务器。默认情况下,此应用程序将在服务器中运行。如果您已自定义 管理器 应用程序(例如,\ qamanager),则可以在客户端中使用选项 Tomcat Manager Application URI,以使Applications Manager监控Tomcat服务器。

对于Tomcat版本5.x,6.x和7.x:

  • 访问服务器的用户角色必须是管理员(5.x和6.x版)/ manager-jmx(7.x版)。
  • 要为任何用户(例如tomcat,role1或两者)将角色添加为 manager(版本5.x和6.x)/ manager-jmx(版本7.x),您需要在tomcat中进行更改位于<TOMCAT-HOME> / conf目录中的-users.xml文件。

对于Tomcat 8:

默认情况下,对Application Manager的远程访问受到限制。

在CATALINA_HOME / webapps / manager / META-INF / context.xml中添加APM的IP地址(under 'allow =' )

<Valve className="org.apache.catalina.valves.RemoteAddrValve"

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

示例:

Tomcat服务器中tomcat-users.xml中的默认配置 。

<tomcat-users>
<role rolename="tomcat" />
<role rolename="role1" />
<user username="tomcat" password="tomcat" roles="tomcat" />
<user username="role1" password="tomcat" roles="role1" />
<user username="both" password="tomcat" roles="tomcat,role1" />
</tomcat-users>
 

为 tomcat用户添加角色后,修改后的条目如下:

<tomcat-users> 
<role rolename="tomcat" />
<role rolename="role1" />
<role rolename="manager" />
<user username="tomcat" password="tomcat" roles="tomcat,manager" /> 
<user username="role1" password="tomcat" roles="role1" /> 
<user username="both" password="tomcat" roles="tomcat,role1" /> 
</tomcat-users>
 

在进行配置时,重新启动Tomcat服务器。
现在,当添加新的Tomcat(5.x及更高版本)监视器时,在发现Tomcat服务器时将用户名/密码指定为tomcat / tomcat。

[点击链接以查看 版本5.x / 6.x的示例 tomcat-users.xml和  版本7.x的tomcat-users.xml

注意:

在tomcat-users.xml中添加Manager角色后,您应该能够访问Manager应用程序- <Host>:<PORT> / manager / status(提供Manager用户凭证)。

如果无法访问该应用程序,请在Engine上下文下的server.xml中添加以下条目:
<Realm className = org.apache.catalina.realm.MemoryRealm />

重新启动服务器,然后尝试访问管理器应用程序。

  1. 从组合框中选择要与Tomcat Server 监视器关联的业务组(可选)。您可以选择多个组来关联您的监视器。

  2. 点击 添加监视器。这 将从网络中发现Tomcat服务器并开始对其进行监控。

 
   

注意:为JBoss 3.2.5配置Tomcat 监视器的步骤

  1. 在<JBOSS_SERVER_HOME> \ deploy \ jbossweb-tomcat50.sar \ ROOT.war \ WEB-INF文件夹中的web.xml中添加以下内容

    " <servlet-mapping>
    <servlet-name>Status Servlet</servlet-name>
    <url-pattern>/manager/status</url-pattern>
    </servlet-mapping> 

    <servlet-mapping>
    <servlet-name>Status Servlet</servlet-name>
    <url-pattern>/manager/</url-pattern>
    </servlet-mapping> 

    <servlet-mapping> 
    <servlet-name>Status Servlet</servlet-name>
    <url-pattern>/manager/status/</url-pattern> 
    </servlet-mapping> "
  2. 重新启动JBoss服务器。

  3. 通过点击新建监视器->在组合框中选择 Tomcat服务器来配置tomcat监视器。

  4. 选择版本为5.x,然后创建监视器。这将为在JBoss3.2.5中运行的Tomcat Web服务器创建一个监视器。

基于Tomcat服务器部署的配置

监控Tomcat服务器取决于其部署。本节说明了Tomcat的可能部署方案。主机名和端口的配置取决于这些方案。

 

1.独立的Tomcat服务器

这是一种一般情况,其中您有一个Tomcat服务器,该服务器在其部署中包含HTTP(Apache)。在这种情况下,配置tomcat监视器时,请指定Tomcat服务器的主机名和HTTP的端口。

 

2.一台Tomcat服务器(带有HTTP)和一台Apache外部实例

有一个运行HTTP(apache)实例的Tomcat服务器,另一个在外部运行的Apache。

示例:  Tomcat服务器名称:  Tomcat A;HTTP(在Tomcat服务器中)端口:  8080 ; 外部Apache服务器端口:  80

在这种情况下,在为Tomcat监视器配置时,将主机名指定为 Tomcat A,并指定与Tomcat一起运行的HTTP端口,而不是外部Apache,即,将端口指定为8080,而不是80。

3.一台Tomcat服务器(无HTTP)和一台Apache外部实例

其中有一台没有HTTP的Tomcat服务器,另一台正在运行的外部Apache。

示例:  Tomcat服务器名称:  Tomcat A;HTTP(在Tomcat服务器中)端口: 不可用;外部Apache服务器端口:  80

在这种情况下,在为Tomcat监视器配置时,将主机名指定为 Tomcat A,并指定外部Apache的端口,即80。

4.多个Tomcat服务器(每个服务器中都有HTTP实例)和一个Apache外部实例

有多个Tomcat服务器(例如3个),每个服务器中都有HTTP实例,并且正在运行另一个外部Apache。

示例:  Tomcat服务器名称:  Tomcat A,  Tomcat B,  Tomcat C;HTTP(Tomcat服务器中)端口分别:8070,  8080,  8090; 外部Apache服务器端口:  80

在这种情况下,您需要分别为Tomcat A,Tomcat B和Tomcat C创建tomcat服务器监视器,并将其端口分别指定为8070、8080和8090。

5.多个Tomcat服务器(这些服务器中没有HTTP实例)和一个Apache外部实例

有多个Tomcat服务器(例如3个),其中没有HTTP实例,并且正在运行另一个外部Apache。

示例:  Tomcat服务器名称:  Tomcat A,  Tomcat B,  Tomcat C;HTTP(在Tomcat服务器中)端口: 不可用;外部Apache服务器端口:  80

在这种情况下,您只能监控一个实例。

监控参数

根据下面列出的参数或属性来监控Tomcat服务器。这些属性提供有关Tomcat服务器监视器功能的信息。您还可以根据这些详细信息为服务器监控的数字属性配置阈值。

可用性标签,提供过去24小时或30天的可用性历史记录。 性能选项卡提供了过去24小时或30天的健康状况和事件。 列表视图使您可以执行 批量管理配置。点击列出的各个监视器,以查看以下信息。

概览

参数描述

Availability

显示服务器的当前状态-可用或不可用

Response Time Tomcat服务器在监控时响应所花费的时间(以毫秒为单位)
Average Processing Time 处理请求所需的平均处理时间(以毫秒为单位)
Requests Per Minute 一分钟内服务器收到的平均请求数
Average Bytes Per Minute 每分钟平均发送字节数
Successful Requests 成功处理的请求数
Errors 收到的错误请求数
Requests Failed percentage 请求失败的百分比
Class Loaded 当前在Java虚拟机中加载的类的数量
Class Unloaded 自Java虚拟机启动以来已卸载的类数
Total Class Loaded 自从Java虚拟机开始执行以来,已加载的类总数
Daemon Threads 实时守护程序线程数
Live Threads 当前活动线程数 
Total Threads Started 自从Java虚拟机启动以来,启动的线程总数

内存

参数描述
Name 内存池名称
Type 内存池类型。即(堆内存,非堆内存)
Used Memory in MB 已用内存(MB)
Free Memory in MB 空闲内存 (MB)
Committed Memory in MB 已提交内存(MB)
Maximum Memory in MB 以MB为单位分配的最大内存
Used memory in % 已用内存百分比
Free memory in % 可用内存百分比
Name 垃圾回收名称
Number of collections per Minute 每分钟发生的垃圾回收数量
Collection Time per Minute 收集时间(以毫秒为单位)

线程

参数描述
Connector Name 线程池连接器名称
Busy Threads 当前繁忙的线程数
Current Threads 当前创建的线程数
Maximum Threads 该池中可以存在的最大活动线程数
Percentage Used 使用的线程百分比 
Percentage Free 可用线程百分比 

JDBC

参数描述
JNDI Name 数据源的JNDI名称
Context Web应用程序上下文名称
Active Connections 到数据源的活动连接数
Idle Connections 到数据源的空闲连接数
Active Connections in % 活动连接的百分比(如果最大活动连接为无限,即配置为-1,则不适用)
Idle Connections in % 空闲连接数百分比(如果最大空闲连接数不受限制,即配置为-1,则不适用)

Web

参数描述
Connector Name Web应用程序的上下文名称
Request Count Web应用程序的状态,例如STARTED,STOPPED
Error Count 处理请求所需的处理时间(以毫秒为单位)
Processing Time 为该Web应用程序服务的成功请求数
Bytes Send Per Second 每秒平均发送字节数
Bytes Received Per Second 当前打开/活动的会话数
Successful Request (%) 会话数已过期
Failed Request (%) 被拒绝的会话数

Web 应用

参数描述
Context Web应用程序的上下文名称
Status Web应用程序的状态,例如STARTED,STOPPED
Processing Time (ms) 处理请求所需的处理时间(以毫秒为单位)
Successful Requests 为该Web应用程序服务的成功请求数
Failed Requests 此Web应用程序的错误请求数
Average Response Time (ms) 此Web应用程序的平均响应(以毫秒为单位)
Average Request Per Minute 每分钟对此Web应用程序的平均请求数
Average Bytes Per Second 每秒平均发送字节数
No.of Open Sessions 当前打开/活动的会话数
No.of Expired Sessions 会话数已过期
No.of Rejected Sessions 被拒绝的会话数

Servlets

参数描述
URL servlet的名称
Context Web应用程序的上下文名称
Processing Time (ms) 处理时间(以毫秒为单位)
Successful Requests 成功请求数
Failed Requests 错误请求数
Average Response Time (ms) 平均响应时间(以毫秒为单位)
Average Requests Per Minute 每分钟处理的平均请求数