Sun logo      上一页      目录      下一页     

Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1

第 21 章
监视组件和服务

本章包含有关使用 Application Server 管理控制台监视组件的信息。本章包含以下几节:


关于监视

监视 Application Server

使用监视功能可以观察 Sun Java System Application Server Enterprise Edition 8.1 2005Q1 的服务器实例中部署的各种组件和服务的运行时状态。利用有关运行时组件和进程状态的信息,可以确定性能瓶颈以便进行优化、有助于进行容量规划、预测故障、在发生故障时分析根本原因,以及确保一切运行正常。

启用监视功能会因增加系统开销而使性能降低。

监视概述

要监视 Application Server,请执行以下步骤:

  1. 使用管理控制台或 asadmin 工具来启用对特定服务和组件的监视功能。
  2. 有关此步骤的更多信息,请参阅有关启用和禁用监视功能的管理控制台任务

  3. 使用管理控制台或 asadmin 工具来查看指定服务或组件的监视数据。
  4. 有关此步骤的更多信息,请参阅有关查看监视数据的管理控制台任务

关于可监视对象的树结构

Application Server 使用树结构来跟踪可监视对象。由于监视对象的树是动态的,因此在实例中添加、更新或删除组件时该树会相应地发生变化。树中的根对象为服务器实例名称(例如 server)。(在平台版中,仅允许使用一个服务器实例。)

以下命令显示了树的顶层:

asadmin> list --monitor server
server.applications
server.http-service
server.connector-service
server.jms-service
server.jvm
server.orb
server.resources
server.thread-pools

以下各节介绍了这些子树:

应用程序树

以下示意图显示了企业应用程序的各种组件的顶层节点和子节点。具有可用的监视统计信息的节点标有星号 (*)。有关更多信息,请参阅EJB 容器统计信息Web 容器统计信息

图 21-1 应用程序节点树结构

应用程序
   |--- 应用程序 1
   | |--- ejb 模块 1
   | | |--- ejb 1 *
   |    | |--- 高速缓存(用于实体/sfsb)*
   |    | |--- 池(用于 slsb/mdb/实体)*
   |    | |--- 方法
   | |                       |---方法 1 *
   | |                       |---方法 2 *
   |    | |--- 有状态会话存储(用于 sfsb)*
   |    | |--- 计时器(用于 s1sb/实体/mdb)*
   | |--- Web 模块 1
   |    | |--- 虚拟服务器 1 *
   |    |      |---servlet 1 *
   |    |                       |---servlet 2 *
   |--- 独立 Web 模块 1
   |    | |----- 虚拟服务器 2 *
   |    |      |---servlet 3 *
   |    |      |---servlet 4 *
   |    | |----- 虚拟服务器 3 *
   |    |       |---servlet 3 *(不同虚拟服务器上相同的 servlet)
   |    |     |---servlet 5 *
   |--- 独立 ejb 模块 1
   |    | |--- ejb 2 *
   |   | |--- 高速缓存(用于实体/sfsb)*
   |    | |--- 池(用于 slsb/mdb/实体)*
   |    | |--- 方法
   |    |   |--- 方法 1 *
   |    |   |--- 方法 2 *
   |--- 应用程序 2

HTTP 服务树

以下示意图显示了 HTTP 服务的节点。具有可用的监视信息的节点标有星号 (*)。请参见HTTP 服务树

图 21-2 HTTP 服务示意图(PE 版)

http 服务
|--- 虚拟服务器 1
|--- http 侦听器 1 *
|--- http 侦听器 2 *
|--- 虚拟服务器 2
|--- http 侦听器 1 *
|--- http 侦听器 2 *

图 21-3 HTTP 服务示意图(EE 版)

http 服务 *
|--- 连接队列 *
|--- dns *
|--- 文件高速缓存 *
|--- 保持活动 *
|--- pwc 线程池 *
|--- 虚拟服务器 1 *
| |--- 请求 *
|---虚拟服务器 2 *
| |--- 请求 *

资源树

资源节点保存 JDBC 连接池、连接器连接池等池的可监视属性。以下示意图显示了各种资源组件的顶层节点和子节点。具有可用的监视统计信息的节点标有星号 (*)。请参见JDBC 连接池统计信息JMS 连接器服务统计信息

图 21-4 资源示意图

资源
|--- 连接池 1(连接器连接池或 jdbc)*
|--- 连接池 2(连接器连接池或 jdbc)*

连接器服务树

连接器服务节点保存连接器连接池等池的可监视属性。以下示意图显示了各种连接器服务组件的顶层节点和子节点。具有可用的监视统计信息的节点标有星号 (*)。请参见JMS 连接器服务统计信息

图 21-5 连接器服务示意图

连接器服务
|--- 资源适配器 1
| |-- 连接池
| | |-- 池 1(该池的所有池统计信息)
| |-- 工作管理(该 RA 的所有工作管理统计信息)

JMS 服务树

JMS 服务节点保存连接器连接池等池的可监视属性。以下示意图显示了各种 JMS 服务组件的顶层节点和子节点。具有可用的监视统计信息的节点标有星号 (*)。

图 21-6 JMS 服务示意图

jms 服务
|-- 连接工厂 [RA 域中的 AKA 连接池]
| |-- 连接工厂 1(此 CF 的所有 CF 统计信息)
|-- 工作管理(MQ-RA 的所有工作管理统计信息)

ORB 树

ORB 节点保存连接管理器的可监视属性。以下示意图显示了 ORB 组件的顶层节点和子节点。具有可用的监视统计信息的节点标有星号 (*)。请参见ORB 中连接管理器的统计信息

图 21-7 ORB 示意图

orb
|--- 连接管理器
| |--- 连接管理器 1 *
| |--- 连接管理器 1 *

线程池树

线程池节点保存连接管理器的可监视属性。以下示意图显示了 ORB 组件的顶层节点和子节点。具有可用的监视统计信息的节点标有星号 (*)。请参见线程池统计信息

图 21-8 线程池示意图

线程池
| |--- 线程池 1 *
| |--- 线程池 2 *

关于受监视的组件和服务的统计信息

本节介绍了可用的监视统计信息:

EJB 容器统计信息

表 21-1 中介绍了 EJB 统计信息。

表 21-1 EJB 统计信息

属性名称

数据类型

说明

createcount

计数统计信息

调用 EJB 的 create 方法的次数。

removecount

计数统计信息

调用 EJB 的 remove 方法的次数。

pooledcount

范围统计信息

处于汇集状态的实体 Bean 的数目。

readycount

范围统计信息

处于就绪状态的实体 Bean 的数目。

messagecount

计数统计信息

消息驱动 Bean 收到的消息数。

methodreadycount

范围统计信息

处于 MethodReady 状态的有状态或无状态会话 Bean 的数目。

passivecount

范围统计信息

处于 Passive 状态的有状态会话 Bean 的数目。

表 21-2 中列出了可用于 EJB 方法调用的统计信息。

表 21-2 EJB 方法统计信息

属性名称

数据类型

说明

methodstatistic

时间统计信息

操作被调用的次数;调用期间所花费的总时间等信息。

totalnumerrors

计数统计信息

方法执行时出现异常的次数。如果为 EJB 容器启用了监视功能,则此统计信息是为无状态和有状态会话 Bean 和实体 Bean 而收集的。

totalnumsuccess

计数统计信息

方法成功执行的次数。如果为 EJB 容器启用了监视功能,则此统计信息是为无状态和有状态会话 Bean 和实体 Bean 收集的统计信息。

executiontime

计数统计信息

上次成功/不成功尝试执行方法操作所花费的时间 (ms)。如果在 EJB 容器中启用了监视功能,则此统计信息是为无状态和有状态会话 Bean 和实体 Bean 收集的统计信息。

表 21-3 中列出了 EJB 会话存储的统计信息。

表 21-3 EJB 会话存储统计信息

属性名称

数据类型

说明

currentSize

范围统计信息

当前位于存储中的钝化会话数或检查点会话数。

activationCount

计数统计信息

从存储中激活的会话数。

activationSuccessCount

计数统计信息

从存储中成功激活的会话数。

activationErrorCount

计数统计信息

上次成功/不成功尝试执行方法操作所花费的时间 (ms)。如果在 EJB 容器中启用了监视功能,则此统计信息是为无状态和有状态会话 Bean 和实体 Bean 收集的统计信息。

passivationCount

计数统计信息

使用此存储钝化(取消激活)的会话数。

passivationSuccessCount

计数统计信息

使用此存储成功钝化的会话数。

passivationErrorCount

计数统计信息

无法使用此存储钝化的会话数。

expiredSessionCount

计数统计信息

此存储删除的过期会话数。

passivatedBeanSize

计数统计信息

由此存储钝化的总字节数,包括总数、最小值和最大值。

passivationTime

计数统计信息

将 Bean 钝化到存储所花费的时间,包括总时间值、最小值和最大值。

checkpointCount(仅限于 EE)

计数统计信息

使用此存储进行会话检查点操作的会话数。

checkpointSuccessCount(仅限于 EE)

计数统计信息

成功进行检查点操作的会话数。

checkpointErrorCount(仅限于 EE)

计数统计信息

无法进行检查点操作的会话数。

checkpointedBeanSize(仅限于 EE)

值统计信息

由该存储进行检查点操作的 Bean 的总数。

checkpointTime(仅限于 EE)

时间统计信息

通过检查点操作将 Bean 放入存储中所花费的时间。

表 21-4 中列出了可用于 EJB 池的统计信息。

表 21-4 EJB 池统计信息

属性名称

数据类型

说明

numbeansinpool

已绑定范围统计信息

相关池中的 EJB 数,提供有关池的更改方式的信息。

numthreadswaiting

已绑定范围统计信息

等待空闲 Bean 的线程数,指出可能的请求拥塞。

totalbeanscreated

计数统计信息

自开始收集数据以来相关池中所创建的 Bean 的数目。

totalbeansdestroyed

计数统计信息

自开始收集数据以来从相关池中销毁的 Bean 的数目。

jmsmaxmessagesload

计数统计信息

为使消息驱动的 Bean 提供服务而一次加载到 JMS 会话中的最大消息数。默认值为 1。仅适用于消息驱动的 Bean 的池。

表 21-5 中列出了可用于 EJB 高速缓存的统计信息。

表 21-5 EJB 高速缓存统计信息

属性名称

数据类型

说明

cachemisses

已绑定范围统计信息

用户请求未在高速缓存中找到 Bean 的次数。

cachehits

已绑定范围统计信息

用户请求在高速缓存中找到某条目的次数。

numbeansincache

已绑定范围统计信息

高速缓存中 Bean 的数目。这是高速缓存的当前大小。

numpassivations

计数统计信息

被挂起的数目。仅适用于状态会话 Bean。

numpassivationerrors

计数统计信息

挂起时的错误数。仅适用于状态会话 Bean。

numexpiredsessionsremoved

计数统计信息

清除线程删除的过期会话数。仅适用于状态会话 Bean。

numpassivationsuccess

计数统计信息

成功完成挂起的次数。仅适用于状态会话 Bean。

表 21-6 中列出了可用于计时器的统计信息。

表 21-6 计时器统计信息

统计信息

数据类型

说明

numtimerscreated

计数统计信息

系统中创建的计时器的数目。

numtimersdelivered

计数统计信息

系统所发送的计时器的数目。

numtimersremoved

计数统计信息

从系统中删除的计时器的数目。

Web 容器统计信息

图 21-1 中所示的对象树中包含了 Web 容器。系统为每个单独的 Web 应用程序都显示了 Web 容器统计信息。表 21-7 中显示了可用于 Servlet 的 Web 容器的统计信息,表 21-8 中显示了可用于 Web 模块的统计信息。

表 21-7 Web 容器 (Servlet) 统计信息

统计信息

单位

数据类型

说明

errorcount

计数统计信息

响应代码大于或等于 400 的情况的累积次数。

maxtime

毫秒

计数统计信息

Web 容器等待请求的最长时间。

processingtime

毫秒

计数统计信息

处理每个请求所需时间的累积值。处理时间是总请求处理时间除以请求计数所得的平均值。

requestcount

计数统计信息

到目前为止所处理的请求总数。

表 21-8 中显示了可用于 Web 模块的统计信息。

表 21-8 Web 容器(Web 模块)统计信息

统计信息

数据类型

说明

jspcount

计数统计信息

已装入 Web 模块的 JSP 页面的数目。

jspreloadcount

计数统计信息

已重新装入 Web 模块的 JSP 页面的数目。

sessionstotal

计数统计信息

已为 Web 模块创建的会话总数。

activesessionscurrent

计数统计信息

Web 模块的当前处于活动状态的会话数。

activesessionshigh

计数统计信息

Web 模块的同时处于活动状态的会话最大数。

rejectedsessionstotal

计数统计信息

Web 模块的被拒绝的会话总数。是指由于允许处于活动状态的会话数已达到最大值而未被创建的会话数。

expiredsessionstotal

计数统计信息

Web 模块的已过期会话的总数。

sessionsize(仅限于 EE)

平均范围统计信息

Web 模块的会话大小。值可以为大、小或平均值,或以字节为单位(用于序列化会话)。

containerlatency(仅限于 EE)

平均范围统计信息

全部请求等待时间中 Web 容器所占的等待时间。值可以是长、短或平均值。

sessionpersisttime(仅限于 EE)

平均范围统计信息

将 HTTP 会话状态保持到 Web 模块的后端存储中所花费的时间(以 ms 为单位,短、长或平均值)。

cachedsessionscurrent(仅限于 EE)

计数统计信息

高速缓存在内存中用于 Web 模块的当前会话数。

passivatedsessionscurrent(仅限于 EE)

计数统计信息

用于 Web 模块的已钝化会话的当前数目。

HTTP 服务统计信息

表 21-9 中显示了可用于 HTTP 服务的统计信息。这些统计信息仅适用于平台版。有关企业版上的 HTTP 服务的统计信息,请参见表 21-32

表 21-9 HTTP 服务统计信息(仅适用于平台版)

统计信息

单位

数据类型

说明

bytesreceived

字节

计数统计信息

每个请求处理器接收到的字节累积值。

bytessent

字节

计数统计信息

每个请求处理器所发送的字节累积值。

currentthreadcount

计数统计信息

当前位于侦听器线程池中的处理线程数。

currentthreadsbusy

计数统计信息

处理请求的侦听器线程池中当前正在使用的请求处理线程的数目。

errorcount

计数统计信息

错误计数的累积值,错误计数是指响应代码大于或等于 400 这类情况发生的次数。

maxsparethreads

计数统计信息

可以存在的未使用响应处理线程的最大数目。

minsparethreads

计数统计信息

可以存在的未使用响应处理线程的最小数目。

maxthreads

计数统计信息

侦听器所创建的请求处理线程的最大数目。

maxtime

毫秒

计数统计信息

处理线程的最长时间。

processing-time

毫秒

计数统计信息

处理每个请求所花费时间的累积值。处理时间是总请求处理时间除以请求计数所得的平均值。

request-count

计数统计信息

到目前为止所处理的请求总数。

JDBC 连接池统计信息

用于在运行时监视 JDBC 资源,以测量性能并捕获资源使用情况。由于创建 JDBC 连接的成本很高并且常常会导致应用程序出现性能瓶颈问题,因此对 JDBC 连接池释放和创建新连接的方法以及正在等待从特定池中检索连接的线程数的监视是至关重要的。

表 21-10 中显示了可用于 JDBC 连接池的统计信息。

表 21-10 JDBC 连接池统计信息

统计信息

单位

数据类型

说明

numconnfailedvalidation

计数统计信息

从开始时间到上次抽样时间为止在连接池中验证失败的连接总数。

numconnused

范围统计信息

提供连接使用情况统计信息。当前正被使用的连接的总数,以及有关使用过的连接的最大数目(高水印)的信息。

numconnfree

范围统计信息

计数统计信息

上次抽样时池中的空闲连接的总数。

numconntimedout

计数统计信息

已绑定范围统计信息

开始时间与上次抽样时间之间池中的超时连接总数。

averageconnwaittime

时间单位

计数统计信息

指示尝试与连接器连接池建立连接成功的连接请求的平均等待时间。

waitqueuelength

计数统计信息

队列中正在等待处理的连接请求数。

connectionrequestwaittime

 

范围统计信息

连接请求的最长和最短等待时间。当前值表示连接池处理的上一个请求的等待时间。

numconncreated

毫秒

计数统计信息

自上次复位以来创建的物理连接数。

numconndestroyed

计数统计信息

自上次复位以来销毁的物理连接数。

numconnacquired

计数统计信息

从池中获取的逻辑连接数。

numconnreleased

计数统计信息

释放到池中的逻辑连接数。

JMS 连接器服务统计信息

表 21-11 中显示了可用于连接器连接池的统计信息。表 21-12 中显示了连接器工作管理的统计信息。

表 21-11 连接器连接池统计信息

统计信息

单位

数据类型

说明

numconnfailed
validation

计数统计信息

从开始时间到上次抽样时间为止在连接池中验证失败的连接总数。

numconnused

范围统计信息

提供连接使用情况统计信息。当前正被使用的连接的总数,以及有关使用过的连接的最大数目的信息(高水印)。

numconnfree

范围统计信息

上次抽样时池中的空闲连接的总数。

numconntimedout

计数统计信息

开始时间与上次抽样时间之间池中的超时连接总数。

averageconnwaittime

时间单位

计数统计信息

连接池处理连接之前这些连接的平均等待时间。

waitqueuelenght

计数统计信息

队列中正在等待处理的连接请求数。

connectionrequest
waittime

 

范围统计信息

连接请求的最长和最短等待时间。当前值表示连接池处理的上一个请求的等待时间。

numconncreated

毫秒

计数统计信息

自上次复位以来创建的物理连接数。

numconndestroyed

计数统计信息

自上次复位以来销毁的物理连接数。

numconnacquired

计数统计信息

从池中获取的逻辑连接数。

numconnreleased

计数统计信息

释放到池中的逻辑连接数。

表 21-12 中列出了可用于连接器工作管理的统计信息。

表 21-12 连接器工作管理统计信息

统计信息

数据类型

说明

activeworkcount

范围统计信息

由连接器执行的工作对象数。

waitqueuelength

范围统计信息

执行前在队列中等待的工作对象数。

workrequestwaittime

范围统计信息

工作对象在被执行前所等待的最长和最短时间。

submittedworkcount

计数统计信息

由连接器模块提交的工作对象数。

rejectedworkcount

计数统计信息

Application Server 拒绝的工作对象数。

completedworkcount

计数统计信息

完成的工作对象数。

ORB 中连接管理器的统计信息

表 21-13 中列出了可用于 ORB 中连接管理器的统计信息。

表 21-13 ORB 中连接管理器的统计信息

统计信息

单位

数据类型

说明

connectionsidle

计数统计信息

提供与 ORB 的空闲连接的总数。

connectionsinuse

计数统计信息

提供与 ORB 的正在使用的连接总数。

totalconnections

绑定范围统计信息

与 ORB 的连接总数。

线程池统计信息

表 21-14 中显示了可用于线程池的统计信息。

表 21-14 线程池统计信息

统计信息

单位

数据类型

说明

averagetimeinqueue

毫秒

范围统计信息

在被处理之前请求在队列中等待的平均时间(以毫秒为单位)。

averageworkcompletion-
time

毫秒

范围统计信息

完成分配所花费的平均时间(以毫秒为单位)。

currentnumberofthreads

绑定范围统计信息

当前的请求处理线程数。

numberofavailablethreads

计数统计信息

可用的线程数。

numberofbusythreads

计数统计信息

处于忙碌状态的线程数。

totalworkitemsadded

计数统计信息

到目前为止添加到工作队列中的工作项目总数。

事务服务统计信息

事务服务允许客户机冻结事务子系统,以回滚事务并确定冻结时正在进行的事务。表 21-15 中显示了可用于事务服务的统计信息。

表 21-15 事务服务统计信息

统计信息

数据类型

说明

activecount

计数统计信息

当前处于活动状态的事务数。

activeids

字符串统计信息

当前处于活动状态的事务的 ID。冻结事务服务后,可以回滚所有此类事务。

committedcount

计数统计信息

已提交的事务数。

rolledbackcount

计数统计信息

已回滚的事务数。

state

字符串统计信息

表示事务是否已被冻结。

Java 虚拟机 (JVM) 统计信息

JVM 具有始终处于启用状态的可监视属性。表 21-16 中显示了可用于 JVM 的统计信息。

表 21-16 JVM 统计信息

统计信息

数据类型

说明

heapsize

绑定范围统计信息

具有 JVM 的内存堆大小的较高和较低绑定的驻留内存轨迹。

uptime

计数统计信息

JVM 已运行的时间。

J2SE 5.0 中的 JVM 统计信息

如果 Application Server 被配置为运行 J2SE 5.0 版或更高版本,则可以从 JVM 中获得附加监视信息。将监视级别设置为“低”以启用这些附加信息的显示。将监视级别设置为“高”还可以查看与系统中每个活动线程相关的信息。有关 J2SE 5.0 中可用的附加监视功能的更多信息,请参见以下 URL 中标题为《Monitoring and Management for the Java Platform》的文档:

http://java.sun.com/j2se/1.5.0/docs/guide/management/

在以下位置讨论了 J2SE 5.0 监视工具:

http://java.sun.com/j2se/1.5.0/docs/tooldocs/#manage

表 21-17 中显示了可用于在 J2SE 5.0 的 JVM 中进行类装入的统计信息。

表 21-17 J2SE 5.0 的 JVM 统计信息类装入

统计信息

数据类型

说明

loadedclasscount

计数统计信息

当前装入 JVM 的类的数目。

totalloadedclasscount

计数统计信息

自 JVM 开始执行以来已装入的类的总数。

unloadedclasscount

计数统计信息

自 JVM 开始执行以来已从 JVM 中卸载的类的数目。

表 21-18 中显示了可用于在 J2SE 5.0 的 JVM 中进行编译的统计信息。

表 21-18 J2SE 5.0 的 JVM 统计信息编译

统计信息

数据类型

说明

totalcompilationtime

计数统计信息

编译所花费的累积时间(以毫秒为单位)。

表 21-19 中显示了可用于在 J2SE 5.0 的 JVM 中进行垃圾收集的统计信息。

表 21-19 J2SE 5.0 的 JVM 统计信息垃圾收集

统计信息

数据类型

说明

collectioncount

计数统计信息

已发生的收集的总数。

collectiontime

计数统计信息

累积的收集时间(以毫秒为单位)。

表 21-20 中显示了可用于 J2SE 5.0 的 JVM 中内存的统计信息。

表 21-20 J2SE 5.0 的 JVM 统计信息内存

统计信息

数据类型

说明

objectpendingfinalizationcount

计数统计信息

暂挂结束操作的对象的大约数目。

initheapsize

计数统计信息

最初由 JVM 请求的堆的大小。

usedheapsize

计数统计信息

当前正在使用的堆的大小。

maxheapsize

计数统计信息

可用于内存管理的最大内存容量(以字节为单位)。

committedheapsize

计数统计信息

确认可由 JVM 使用的内存容量(以字节为单位)。

initnonheapsize

计数统计信息

最初由 JVM 请求的非堆区域的大小。

usednonheapsize

计数统计信息

当前正在使用的非堆区域的大小。

maxnonheapsize

计数统计信息

可用于内存管理的最大内存容量(以字节为单位)。

committednonheapsize

计数统计信息

确认可由 JVM 使用的内存容量(以字节为单位)。

表 21-21 中显示了可用于 J2SE 5.0 的 JVM 中操作系统的统计信息。

表 21-21 J2SE 5.0 的 JVM 统计信息操作系统

统计信息

数据类型

说明

arch

字符串统计信息

操作系统体系结构。

availableprocessors

计数统计信息

可用于 JVM 的处理器的数目。

name

字符串统计信息

操作系统名称。

version

字符串统计信息

操作系统版本。

表 21-22 中显示了可用于 J2SE 5.0 的 JVM 中运行的统计信息。

表 21-22 J2SE 5.0 的 JVM 统计信息运行

统计信息

数据类型

说明

name

字符串统计信息

代表正在运行的 JVM 的名称

vmname

字符串统计信息

JVM 实现名称。

vmvendor

字符串统计信息

JVM 实现供应商。

vmversion

字符串统计信息

JVM 实现版本。

specname

字符串统计信息

JVM 规范名称。

specvendor

字符串统计信息

JVM 规范供应商。

specversion

字符串统计信息

JVM 规范版本。

managementspecversion

字符串统计信息

由 JVM 实现的管理规范版本。

classpath

字符串统计信息

系统类加载器搜索类文件时所使用的类路径。

librarypath

字符串统计信息

Java 库路径。

bootclasspath

字符串统计信息

引导类加载器搜索类文件时所使用的类路径。

inputarguments

字符串统计信息

传递给 JVM 的输入参数。不包括 main 方法的参数。

uptime

计数统计信息

JVM 的正常运行时间(以毫秒为单位)。

表 21-23 中显示了可用于 J2SE 5.0 的 JVM 中 ThreadInfo 的统计信息。

表 21-23 J2SE 5.0 的 JVM 统计信息线程信息

统计信息

数据类型

说明

threadid

计数统计信息

线程 ID。

threadname

字符串统计信息

线程名称。

threadstate

字符串统计信息

线程状态。

blockedtime

计数统计信息

线程进入 "BLOCKED" 状态以来所经历的时间(以毫秒为单位)。如果已禁用线程争用监视,则返回 -1。

blockedcount

计数统计信息

线程进入 BLOCKED 状态的总次数。

waitedtime

计数统计信息

线程处于 "WAITING" 状态所经历的时间(以毫秒为单位)。如果已禁用线程争用监视,则返回 -1。

waitedcount

计数统计信息

线程处于 WAITINGTIMED_WAITING 状态的总次数。

lockname

字符串统计信息

监视锁的字符串表示,该监视锁为线程被阻塞而无法进入或者线程等待通过 Object.wait 方法接收通知。

lockownerid

计数统计信息

保存某个对象的监视锁的线程 ID,该线程在该对象上发生阻塞。

lockownername

字符串统计信息

保存某个对象的监视锁的线程名称,该线程在该对象上发生阻塞。

stacktrace

字符串统计信息

与该线程相关的堆栈追踪。

表 21-24 中显示了可用于 J2SE 5.0 的 JVM 中线程的统计信息。

表 21-24 J2SE 5.0 的 JVM 统计信息线程

统计信息

数据类型

说明

threadcount

计数统计信息

当前的活动守护线程和非守护线程数。

peakthreadcount

计数统计信息

自 JVM 启动或峰复位以来的峰活动线程计数。

totalstartedthreadcount

计数统计信息

自 JVM 启动以来创建和/或启动的线程总数。

daemonthreadcount

计数统计信息

当前的活动守护线程数。

allthreadids

字符串统计信息

所有活动线程 ID 列表。

currentthreadcputime

计数统计信息

如果已启用 CPU 时间测量,则表示当前线程的 CPU 时间(以纳秒为单位)。如果已禁用 CPU 时间测量,则返回 -1。

monitordeadlockedthreads

字符串统计信息

处于监视死锁状态的线程 ID 列表。

生产 Web 容器 (PWC) 统计信息

可用于 Application Server 的企业版 (EE) 上的以下 PWC 组件和服务的统计信息:

表 21-25 中列出了 PWC 虚拟服务器的统计信息。

表 21-25 PWC 虚拟服务器统计信息(仅限于 EE)

属性名称

数据类型

说明

id

字符串统计信息

虚拟服务器的 ID。

mode

字符串统计信息

虚拟服务器所处的模式。选项包括 unknownactive

hosts

字符串统计信息

由该虚拟服务器提供服务的主机的名称。

interfaces

字符串统计信息

配置了虚拟服务器的接口(侦听器)的类型。

表 21-26 中列出了可用于 PWC 请求的统计信息。

表 21-26 PWC 请求统计信息(仅限于 EE)

属性名称

数据类型

说明

method

字符串统计信息

用于请求的方法。

uri

字符串统计信息

处理的上一个 URI。

countrequests

计数统计信息

已处理的请求数。

countbytestransmitted

计数统计信息

传输的字节数;如果此信息不可用,则值为 0。

countbytesreceived

计数统计信息

收到的字节数;如果此信息不可用,则值为 0。

ratebytesreceived

计数统计信息

在某段服务器定义的时间间隔内数据的传输速率;如果此信息不可用,则值为 0。

maxbytestransmissionrate

计数统计信息

在某段服务器定义的时间间隔内数据的最大传输速率;如果此信息不可用,则值为 0。

countopenconnections

计数统计信息

当前打开的连接数;如果此信息不可用,则值为 0。

maxopenconnections

计数统计信息

同时打开的连接的最大数目;如果此信息不可用,则值为 0。

count2xx

计数统计信息

代码为 2XX 的响应的总数。

count3xx

计数统计信息

代码为 3XX 的响应的总数。

count4xx

计数统计信息

代码为 4XX 的响应的总数。

count5xx

计数统计信息

代码为 5XX 的响应的总数。

countother

计数统计信息

具有其他响应代码的响应总数。

count200

计数统计信息

代码为 200 的响应的总数。

count302

计数统计信息

代码为 302 的响应的总数。

count304

计数统计信息

代码为 304 的响应的总数。

count400

计数统计信息

代码为 400 的响应的总数。

count401

计数统计信息

代码为 401 的响应的总数。

count403

计数统计信息

代码为 403 的响应的总数。

count404

计数统计信息

代码为 404 的响应的总数。

count503

计数统计信息

代码为 503 的响应的总数。

高速缓存信息部分提供了有关文件高速缓存当前的使用方式的信息。表 21-27 中列出了 PWC 文件高速缓存的统计信息。

表 21-27 PWC 文件高速缓存统计信息(仅限于 EE)

属性名称

数据类型

说明

flagenabled

计数统计信息

指示是否启用了文件高速缓存。禁用时有效值为 0;启用时有效值为 1。

secondsmaxage

计数统计信息

有效高速缓存条目的最长生存期(以秒为单位)。

countentries

计数统计信息

当前的高速缓存条目数。一个高速缓存条目代表一个 URI。

maxentries

计数统计信息

并发高速缓存条目的最大数目。

countopenentries

计数统计信息

与打开的文件关联的条目数。

maxopenentries

计数统计信息

与打开的文件关联的并发高速缓存条目的最大数目。

sizeheapcache

计数统计信息

用于高速缓存内容的堆空间。

maxheapcachesize

计数统计信息

用于高速缓存文件内容的最大堆空间。

sizemmapcache

计数统计信息

内存映射的文件内容所使用的地址空间大小。

maxmmapcachesize

计数统计信息

文件高速缓存用于内存映射的文件内容的最大地址空间大小。

counthits

计数统计信息

高速缓存查找成功的次数。

countmisses

计数统计信息

高速缓存查找失败的次数。

countinfohits

计数统计信息

文件信息查找成功的次数。

countinfomisses

计数统计信息

高速缓存的文件信息丢失的数目。

countcontenthits

计数统计信息

高速缓存的文件内容的命中次数。

countcontentmisses

计数统计信息

文件信息查找失败的次数。

本节提供了有关服务器的 HTTP 级保持活动的系统的信息。表 21-28 中列出了可用于 PWC 保持活动的统计信息。

表 21-28 PWC 保持活动统计信息(仅限于 EE)

属性名称

数据类型

说明

countconnections

计数统计信息

处于保持活动模式的连接数。

maxconnections

计数统计信息

允许同时处于保持活动模式的最大连接数。

counthits

计数统计信息

处于保持活动模式的连接随后进行了有效请求的总次数。

countflushes

计数统计信息

服务器关闭保持活动的连接的次数。

countrefusals

计数统计信息

服务器可能由于有太多的持久性连接而无法将连接传递到保持活动线程的次数。

counttimeouts

计数统计信息

服务器因客户机连接超时且没有任何活动而终止保持活动连接的次数。

secondstimeout

计数统计信息

关闭空闲保持活动连接之前经历的时间(以秒为单位)。

DNS 高速缓存高速缓存 IP 地址和 DNS 名称。默认情况下,服务器的 DNS 高速缓存处于禁用状态。一个高速缓存条目代表一个 IP 地址或 DNS 名称查找。表 21-29 中列出了可用于 PWC DNS 的统计信息。

表 21-29 PWC DNS 统计信息(仅限于 EE)

属性名称

数据类型

说明

flagcacheenabled

计数统计信息

指示是否启用了 DNS 高速缓存。禁用时为 0;启用时为 1。

countcacheentries

计数统计信息

当前位于高速缓存中的 DNS 条目数。

maxcacheentries

计数统计信息

高速缓存中可容纳的 DNS 条目的最大数目。

countcachehits

计数统计信息

DNS 高速缓存查找成功的次数。

countcachemisses

计数统计信息

DNS 高速缓存查找失败的次数。

flagasyncenabled

计数统计信息

指示是否启用了异步 DNS 查找。禁用时为 0;启用时为 1。

countasyncnamelookups

计数统计信息

异步 DNS 名称查找的总数。

countasyncaddrlookups

计数统计信息

异步 DNS 地址查找的总数。

countasynclookupsinprogress

计数统计信息

正在进行的异步查找的数目。

表 21-30 中列出了 PWC 线程池的统计信息。

表 21-30 PWC 线程池统计信息(仅限于 EE)

属性名称

数据类型

说明

id

字符串统计信息

线程池 ID。

countthreadsidle

计数统计信息

当前处于空闲状态的请求处理线程数。

countthreads

计数统计信息

当前的请求处理线程的数目。

maxthreads

计数统计信息

可同时存在的请求处理线程的最大数目。

countqueued

计数统计信息

排队等候此线程池处理的请求数。

peakqueued

计数统计信息

队列中同时容纳的最大请求数。

maxqueued

计数统计信息

队列一次可容纳的最大请求数。

连接队列是指请求被处理前容纳这些请求的队列。连接队列的统计信息显示队列中的会话数以及连接被接受前的平均延迟时间。表 21-31 中列出了 PWC 连接队列的统计信息。

表 21-31 PWC 连接队列统计信息(仅限于 EE)

属性名称

数据类型

说明

id

字符串统计信息

连接队列的 ID。

counttotalconnections

计数统计信息

已接受的连接总数。

countqueued

计数统计信息

当前位于队列中的连接数。

peakqueued

计数统计信息

队列中同时容纳的最大连接数。

maxqueued

计数统计信息

连接队列的最大大小。

countoverflows

计数统计信息

队列太满而无法容纳更多连接的次数。

counttotalqueued

计数统计信息

排队等候的连接总数。某个给定连接可能被多次排队,因此 counttotalqueued 可能大于或等于 counttotalconnections

tickstotalqueued

计数统计信息

连接在队列中所花费的周期总数。周期是由系统决定的时间单位。

countqueued1minuteaverage

计数统计信息

前 1 分钟内处于排队状态的平均连接数。

countqueued5minuteaverage

计数统计信息

前 5 分钟内处于排队状态的平均连接数。

countqueued15minuteaverage

计数统计信息

前 15 分钟内处于排队状态的平均连接数。

表 21-32 中列出了 PWC HTTP 服务的统计信息。

表 21-32 PWC HTTP 服务统计信息(仅限于 EE)

属性名称

数据类型

说明

id

字符串统计信息

HTTP 服务的实例名称。

versionserver

字符串统计信息

HTTP 服务的版本号。

timestarted

字符串统计信息

启动 HTTP 服务的时间 (GMT)。

secondsrunning

计数统计信息

HTTP 服务启动以来所经历的时间(以秒为单位)。

maxthreads

计数统计信息

每个实例中的最大工作线程数。

maxvirtualservers

计数统计信息

每个实例中可以配置的最大虚拟服务器数目。

flagprofilingenabled

计数统计信息

是否启用了 HTTP 服务性能探查。有效值为 0 或 1。

flagvirtualserveroverflow

计数统计信息

指示是否配置了超过 maxvirtualservers 的虚拟服务器。如果此属性设置为 1,则无法对所有虚拟服务器的统计信息进行跟踪。

load1minuteaverage

计数统计信息

前 1 分钟内请求的平均负载。

load5minuteaverage

计数统计信息

前 5 分钟内请求的平均负载。

load15minuteaverage

计数统计信息

前 15 分钟内请求的平均负载。

ratebytestransmitted

计数统计信息

在某个服务器定义的时间间隔内数据的传输速率。如果此信息不可用,则结果为 0。

ratebytesreceived

计数统计信息

在某个服务器定义的时间间隔内数据的接收速率。如果此信息不可用,则结果为 0。


有关启用和禁用监视功能的管理控制台任务

使用管理控制台配置监视级别

  1. 访问“监视服务”页面。要完成此操作,请执行以下步骤:
    1. 在树中,展开“配置”节点。
    2. 在树中,展开要配置为用于监视的服务器实例的节点,例如 server-config
    3. 在树中,选择“监视”。
  2. 在“监视服务”页面中,从要更改其监视级别的组件或服务对应的组合框中选择适当的值。
  3. 默认情况下,除了始终可监视的 Java 虚拟机 (JVM) 以外,对于其他所有组件和服务的监视功能都是禁用的。要启用监视功能,请在组合框中选择“低”或“高”。要禁用监视功能,请在组合框中选择“关闭”。可以启用或禁用以下组件和服务的监视功能:

    • JVM——将此选项的监视级别设置为“低”以监视 Java 虚拟机。
    • HTTP 服务——将此选项的监视级别设置为“低”以监视所有 HTTP 侦听器和虚拟服务器。
    • 事务服务——将此选项的监视级别设置为“低”以监视任一事务子系统。
    • JMS/连接器服务——将此选项的监视级别设置为“低”以监视任一 Java 消息服务 (JMS)。
    • ORB——将此选项的监视级别设置为“低”以监视由 Application Server 内核及其连接管理器使用的系统 ORB。
    • Web 容器——将此选项的监视级别设置为“低”以监视所有已部署的 Servlet。
    • EJB 容器——将此选项的监视级别设置为“低”以监视所有已部署的 EJB、EJB 池和 EJB 高速缓存。将此方法设置为“高”还可以监视 EJB 商业方法。
    • JDBC 连接池——将此选项的监视级别设置为“低”以监视所有 JDBC 连接池。
    • 线程池——将此选项的监视级别设置为“低”以监视所有线程池。
  4. 单击“保存”。

此版本中没有“其他监视服务属性”,因此请忽略“其他属性”表。

等效的 asadmin 命令为:set,例如,要启用对 HTTP 服务的监视功能,请使用以下 asadmin 命令:

asadmin> set --user admin_user server.monitoring-service.module-monitoring-levels.http-service=LOW

使用 asadmin 工具配置监视

要关闭监视,或设置监视组件或服务的级别,您可以按照使用管理控制台配置监视级别中的说明使用管理控制台,也可以按照本节中的说明使用 asadmin 工具。

  1. 使用 get 命令可以查找哪些服务和组件当前已启用监视功能:
  2. asadmin> get --user admin_user server.monitoring-service.module-monitoring-levels.*

    返回:

    server.monitoring-service.module-monitoring-levels.
    connector-connection-pool = OFF
    server.monitoring-service.module-monitoring-levels.
    connector-service = OFF
    server.monitoring-service.module-monitoring-levels.ejb-container = OFF
    server.monitoring-service.module-monitoring-levels.http-service = OFF
    server.monitoring-service.module-monitoring-levels.jdbc-connection-pool = OFF
    server.monitoring-service.module-monitoring-levels.jms-service = OFF
    server.monitoring-service.module-monitoring-levels.jvm = OFF
    server.monitoring-service.module-monitoring-levels.orb = OFF
    server.monitoring-service.module-monitoring-levels.thread-pool = OFF
    server.monitoring-service.module-monitoring-levels.transaction-service = OFF
    server.monitoring-service.module-monitoring-levels.web-container = OFF
  3. 使用 set 命令可以启用监视功能。
  4. 例如,要启用对 HTTP 服务的监视,请输入以下命令:

    asadmin> set --user admin_user server.monitoring-service.module-monitoring-levels.http-service=LOW

    要禁用监视,请使用 set 命令并将监视级别指定为 OFF


有关查看监视数据的管理控制台任务

在管理控制台中查看监视数据

要使用 Application Server 管理控制台查看服务器实例中部署的组件或服务的监视数据,请执行以下步骤。有关每个组件或服务的属性的更多说明,请参阅关于受监视的组件和服务的统计信息

  1. 访问“监视”页面。要完成此操作,请执行以下步骤:
    1. 在树组件中,展开“独立实例”节点,例如 server (Admin Server)
    2. 从列表中选择一个独立服务器实例。
    3. 选择“监视”页面。
    4. 在“监视”页面上选择“监视”选项卡。
  2. 在“查看”列表中,选择已部署到服务器实例并已为其启用了监视功能的组件或服务。
  3. 选定组件或服务的监视数据显示在“查看”字段下。有关可监视属性的说明,请参阅关于受监视的组件和服务的统计信息

    如果已启用 JVM、服务器、线程池、HTTP 服务和事务服务的监视功能,则可以在此页面中查看这些组件和服务的监视数据。关于可监视对象的树结构中显示了说明这些组件和服务的组织方式的图表。

  4. 如果在此列表中没有看到要监视的组件或服务,请选择“配置监视”链接来启用和禁用选定组件和服务的监视功能。选择“关闭”以禁用对组件或服务的监视。选择“低”或“高”以启用对组件或服务的监视。
  5. 有关启用和禁用监视功能的更多信息,请参阅使用管理控制台配置监视级别使用 asadmin 工具配置监视

  6. 选择“监视”页面的“应用程序”选项卡可以查看已部署到服务器实例并已为其启用了监视功能的应用程序组件的监视数据。从“应用程序”列表中选择应用程序。从“组件”列表中选择特定组件。
  7. 如果未显示应用程序或组件的监视数据,请选择“配置监视”链接来启用或禁用组件或服务的监视功能。要监视应用程序,请打开执行这些应用程序的容器:例如,对于 Web 应用程序的 Web 容器和/或 EJB 应用程序的 EJB 容器,请选择“低”或“高”。

    如果未显示应用程序的监视数据,则该应用程序很可能不存在或未运行。仅当应用程序存在、已启用对该程序的监视功能且应用程序正在运行时,应用程序监视数据才可用。一旦执行应用程序,则将在监视注册表登记该应用程序并显示其监视数据。

    使用管理控制台监视远程应用程序和实例。远程实例必须正在运行并已设置配置才能执行此操作。

    选定组件的监视数据显示在选定组件下面。有关可监视属性的说明,请参阅关于受监视的组件和服务的统计信息。可以在关于可监视对象的树结构中查看说明这些组件和服务如何针对应用程序进行组织的图表。

  8. 选择“资源”页面可以查看资源的监视数据,这些资源已被部署到服务器实例中并且已启用对这些资源的监视功能。从“查看”列表中选择资源。如果未显示您要查看其监视数据的资源,请选择“配置监视”链接来启用或禁用资源的监视功能。
  9. 如果未显示资源的监视数据,则该资源很可能不存在或未运行。仅当资源存在、已在 HIGH 级别启用该资源的监视功能并且该资源正在运行的情况下,资源监视数据才可用。例如,如果您创建了一个 JDBC 连接器服务,但使用该连接器服务的应用程序尚未从服务请求连接器,则尚未创建该服务。因而,不存在任何服务,也没有任何可用的监视数据。一旦执行 JDBC 应用程序且该应用程序从服务请求连接器,则将在监视注册表中注册该应用程序并显示其监视数据。

    选定组件或服务的监视数据显示在“查看”字段下。有关可监视属性的说明,请参阅关于受监视的组件和服务的统计信息。可以在关于可监视对象的树结构中查看说明这些组件和服务如何针对资源进行组织的图表。

  10. 选择“事务”页面以冻结事务子系统,进而回滚事务并确定冻结时正在进行的事务。要启用事务服务的监视功能,请选择“配置监视”链接并确保将“事务服务”设置为 LOW。要冻结事务服务以回滚事务,请选择“冻结”。要回滚事务,请选中事务旁边的复选框并单击“回滚”。

等效的 asadmin 命令为:get --monitor,例如,要查看 JVM 的监视数据,请使用以下 asadmin 命令:

asadmin> get --monitor server.jvm.*

使用 asadmin 工具查看监视数据

使用 asadmin 工具查看监视数据

要使用 asadmin 工具查看监视数据,请使用后跟可监视对象的点式名称的 asadmin listasadmin get 命令。使用 asadmin 工具查看监视数据的常规步骤如下:

  1. 要查看可监视对象的名称,请使用 asadmin list 命令。例如,要查看应用程序组件和子系统(已启用对服务器实例上的这些组件和子系统的监视功能)的列表,请在终端窗口中键入以下命令:
  2. asadmin> list --monitor server

    上述命令将返回已启用监视功能的应用程序组件和子系统的列表,例如:

    server.resources
    server.connector-service
    server.orb
    server.jms-service
    server.jvm
    server.applications
    server.http-service
    server.thread-pools

    Sun Java System Application Server Enterprise Edition 8.1 2005Q1有关使用 list 命令的详细示例,请参阅list 和 get 命令的示例。有关可与 list 命令一起使用的带点的名称的详细信息,请参阅了解和指定带点的名称

  3. 要显示已启用监视功能的应用程序组件或子系统的监视统计信息,请使用 asadmin get 命令。要获得统计信息,请在终端窗口中键入 asadmin get 命令,并指定在先前步骤中由 list 命令显示的名称。以下示例尝试获取某个特定对象的子系统的所有属性:
  4. asadmin> get --monitor server.jvm.*

此命令返回以下属性和数据:

server.jvm.dotted-name = server.jvm
server.jvm.heapsize-current = 21241856
server.jvm.heapsize-description = Provides statistical information about the JVM's memory heap size.
server.jvm.heapsize-highwatermark = 21241856
server.jvm.heapsize-lastsampletime = 1080232913938
server.jvm.heapsize-lowerbound = 0
server.jvm.heapsize-lowwatermark = 0
server.jvm.heapsize-name = JvmHeapSize
server.jvm.heapsize-starttime = 1080234457308
server.jvm.heapsize-unit = bytes
server.jvm.heapsize-upperbound = 518979584
server.jvm.uptime-count = 1080234457308
server.jvm.uptime-description = Provides the amount of time the JVM has been running.
server.jvm.uptime-lastsampletime = 1080234457308
server.jvm.uptime-name = JvmUpTime
server.jvm.uptime-starttime = 1080232913928
server.jvm.uptime-unit = milliseconds

Sun Java System Application Server Enterprise Edition 8.1 2005Q1有关使用 get 命令的详细示例,请参阅list 和 get 命令的示例。有关可与 get 命令一起使用的带点的名称的详细信息,请参阅了解和指定带点的名称

了解和指定带点的名称

asadmin listget 命令中,指定可监视对象的带点的名称。所有子对象都是使用点 (.) 字符作为分隔符来指定的,因而这些子对象的名称也称为带点的名称。如果子节点是单元素类型,则只需要使用监视对象类型来指定对象;否则,需要使用 type.name 名称格式来指定对象。

例如,http-service 就是其中一种有效的可监视对象类型,并且是单元素类型。要指定表示实例 serverhttp-service 的单元素类型子节点,则带点的名称为:

server.http-service

再比如,application 是一种有效的可监视对象类型,并且是非单元素类型。例如,要指定表示应用程序 Petstore 的非单元素类型子节点,则带点的名称为:

server.applications.petstore

带点的名称还可以指定可监视对象中的特定属性。例如,http-service 具有一个名为 bytesreceived-lastsampletime 的可监视属性。以下名称指定了 bytesreceived 属性:

server.http-service.server.http-listener-1.
  bytesreceived-lastsampletime

管理员不需要知道 asadmin listget 命令的有效带点名称。使用 list 命令可以显示可用的可监视对象,而使用带有通配符参数的 get 命令可以检查任意可监视对象的所有可用属性。

使用具有带点名称的 listget 命令的基本假设为:

有关更多信息,请参阅list 和 get 命令在所有级别上的预期输出

list 和 get 命令的示例

本节包括以下主题:

list --monitor 命令的示例

list 命令提供有关当前监视的指定服务器实例名称的应用程序组件和子系统的信息。使用此命令,您可以查看某个服务器实例的可监视组件和子组件。有关 list 示例的更完整的列表,请参见list 和 get 命令在所有级别上的预期输出

示例 1
asadmin> list --monitor server

上述命令将返回已启用监视功能的应用程序组件和子系统的列表,例如:

server.resources
server.orb
server.jvm
server.jms-service
server.connector-service
server.applications
server.http-service
server.thread-pools

还可以列出指定的服务器实例中当前所监视的应用程序。当使用 get 命令从某个应用程序中获取特定的监视统计信息时,这会很有用。

示例 2
asadmin> list --monitor server.applications

返回:

server.applications.adminapp
server.applications.admingui
server.applications.myApp

有关更复杂的示例,请参见Petstore 示例

get --monitor 命令的示例

此命令检索以下监视信息:

如果特定组件或子系统中不存在所请求的属性,将返回一个错误。类似地,如果组件或子系统中所请求的特定属性处于非活动状态,也会返回一个错误。

有关使用 get 命令的详细信息,请参见list 和 get 命令在所有级别上的预期输出

示例 1

尝试从某个子系统中获取某个特定对象的所有属性:

asadmin> get --monitor server.jvm.*

返回:

server.jvm.dotted-name = server.jvm
server.jvm.heapsize-current = 21241856
server.jvm.heapsize-description = Provides statistical information about the JVM's memory heap size.
server.jvm.heapsize-highwatermark = 21241856
server.jvm.heapsize-lastsampletime = 1080232913938
server.jvm.heapsize-lowerbound = 0
server.jvm.heapsize-lowwatermark = 0
server.jvm.heapsize-name = JvmHeapSize
server.jvm.heapsize-starttime = 1080234457308
server.jvm.heapsize-unit = bytes
server.jvm.heapsize-upperbound = 518979584
server.jvm.uptime-count = 1080234457308
server.jvm.uptime-description = Provides the amount of time the JVM has been running.
server.jvm.uptime-lastsampletime = 1080234457308
server.jvm.uptime-name = JvmUpTime
server.jvm.uptime-starttime = 1080232913928
server.jvm.uptime-unit = milliseconds
示例 2

尝试获取某个 J2EE 应用程序的所有属性:

asadmin> get --monitor server.applications.myJ2eeApp.*

返回:

No matches resulted from the wildcard expression.
CLI137 Command get failed.

该 J2EE 应用程序级别上没有暴露可监视的属性,因而显示此回复。

示例 3

尝试获取某个子系统的某个特定属性:

asadmin> get --monitor server.jvm.uptime-lastsampletime

返回:

server.jvm.uptime-lastsampletime = 1093215374813
示例 4

尝试获取某个子系统属性中的某个未知属性:

asadmin> get --monitor server.jvm.badname

返回:

No such attribute found from reflecting the corresponding Stats interface: [badname]
CLI137 Command get failed.

Petstore 示例

下例说明了如何将 asadmin 工具用于监视目的。

用户要检查当将样例 Petstore 应用程序部署到 Application Server 后在该应用程序中调用某个方法的次数。部署该应用程序的实例名称为 server。这里同时使用了 listget 命令,以访问针对方法的所需统计信息。

  1. 启动 Application Server 和 asadmin 工具。
  2. 设置一些有用的环境变量,以避免使用每个命令时都输入这些变量:
  3. asadmin>export AS_ADMIN_USER=admin AS_ADMIN_PASSWORD=admin123 asadmin>export AS_ADMIN_HOST=localhost AS_ADMIN_PORT=4848
  4. 列出实例 server 的可监视组件:
  5. asadmin>list --monitor server*

    返回(输出类似于以下内容):

    server
    server.applications
    server.applications.CometEJB
    server.applications.ConverterApp
    server.applications.petstore
    server.http-service
    server.resources
    server.thread-pools

    可监视组件列表包括 thread-poolshttp-serviceresources 以及所有已部署(并已启用)的 applications

  6. 列出 Petstore 应用程序中的可监视子组件(可以用 -m 代替 --monitor):
  7. asadmin>list -m server.applications.petstore

    返回:

    server.applications.petstore.signon-ejb_jar
    server.applications.petstore.catalog-ejb_jar
    server.applications.petstore.uidgen-ejb_jar
    server.applications.petstore.customer-ejb_jar
    server.applications.petstore.petstore-ejb_jar
    server.applications.petstore.petstore\.war
    server.applications.petstore.AsyncSenderJAR_jar
    server.applications.petstore.cart-ejb_jar
  8. 列出 Petstore 应用程序的 EJB 模块 signon-ejb_jar 中的可监视子组件:
  9. asadmin>list -m server.applications.petstore.signon-ejb_jar

    返回:

    server.applications.petstore.signon-ejb_jar.SignOnEJB
    server.applications.petstore.signon-ejb_jar.UserEJB
  10. 列出 Petstore 应用程序的 EJB 模块 signon-ejb_jar 的实体 Bean UserEJB 中的可监视子组件:
  11. asadmin>list -m server.applications.petstore.signon-ejb_jar.UserEJB

    返回(出于空间考虑,删除了带点的名称):

    server.applications.petstore.signon-ejb_jar.UserEJB.bean-cache
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-pool
  12. 列出实体 Bean UserEJB(位于 Petstore 应用程序的 EJB 模块 signon-ejb_jar 中)的方法 getUserName 的可监视子组件:
  13. asadmin>list -m server.applications.petstore.signon-ejb_jar.
    UserEJB.bean-methods.getUserName

    返回:

    Nothing to list at server.applications.petstore.signon-ejb_jar.
    UserEJB.bean-methods.getUserName. To get the valid names beginning with a string, use the wildcard * character.For example, to list all names that begin with server, use list server*.
  14. 该方法没有可监视的子组件。获取方法 getUserName 的所有可监视统计信息。
  15. asadmin>get -m server.applications.petstore.signon-ejb_jar.
    UserEJB.bean-methods.getUserName.*

    返回:

    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-description = Provides the time in milliseconds spent during the last successful/unsuccessful attempt
    to execute the operation.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-lastsampletime = 1079981809259
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-name = ExecutionTime
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-unit = count
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-description = Provides the number of times an operation was called, the total time that was spent during the invocation and so on.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-lastsampletime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-maxtime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-mintime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-name = ExecutionTime
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-totaltime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-unit =
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-description = Provides the total number of errors that occured during invocation or execution of an operation.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-lastsampletime = 1079981809273
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-name = TotalNumErrors
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-unit = count
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-description = Provides the total number of successful invocations of the method.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-lastsampletime = 1079981809255
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-name = TotalNumSuccess
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-unit = count

  16. 如果还需要获取执行时间等特定统计信息,请使用如下命令:
  17. asadmin>get -m server.applications.petstore.signon-ejb_jar.
    UserEJB.bean-methods.getUserName.executiontime-count

    返回:

    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-count = 1

list 和 get 命令在所有级别上的预期输出

下表显示了树的各个级别的命令、带点的名称及相应的输出。

表 21-33 顶层

命令

带点的名称

输出

list -m

server

server.applications
server.thread-pools
server.resources
server.http-service
server.transaction-service
server.orb.connection-managers
server.orb.connection-managers.orb\.Connections\.Inbound\.
AcceptedConnections
server.jvm

list -m

server.*

此节点下的子节点的分层结构。

get -m

server.*

仅显示一条消息,说明此节点上没有属性。

表 21-34 显示了应用程序级别的命令、带点的名称及相应的输出。

表 21-34 应用程序级别

命令

带点的名称

输出

list -m

server.applications

*applications

appl1
app2
web-module1_war
ejb-module2_jar
...

list -m

server.applications.*

*applications.*

此节点下的子节点的分层结构。

get -m

server.applications.*

*applications.*

仅显示一条消息,说明此节点上没有属性。

表 21-35 显示了应用程序级别的独立模块和企业应用程序的命令、带点的名称及相应的输出。

表 21-35 应用程序企业应用程序和独立模块

命令

带点的名称

输出

list -m

server.applications.app1

*app1

注:仅当已部署了企业应用程序时,此级别才可用。如果部署了独立模块,则此级别不可用。

ejb-module1_jar
web-module2_war
ejb-module3_jar
web-module3_war
...

list -m

server.applications.app1.*

*app1.*

此节点下的子节点的分层结构。

get -m

server.applications.app1.*

*app1.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.applications.app1.ejb-module1_jar

*ejb-module1_jar

server.applications.ejb-module1_jar

bean1
bean2
bean3
...

list -m

server.applications.app1.ejb-module1_jar

*ejb-module1_jar

server.applications.ejb-module1_jar

此节点下的子节点的分层结构。

get -m

server.applications.app1.ejb-module1_jar.*

*ejb-module1_jar.*

server.applications.ejb-module1_jar.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.applications.app1.ejb-module1_jar.bean1

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

子节点列表:

bean-pool
bean-cache
bean-method

list -m

server.applications.app1.ejb-module1_jar.bean1

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

子节点的分层结构及该节点和所有后续子节点的所有属性的列表。

get -m

server.applications.app1.ejb-module1_jar.bean1.*

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

以下属性及其关联值:

CreateCount_Count
CreateCount_Description
CreateCount_LastSampleTime
CreateCount_Name
CreateCount_StartTime
CreateCount_Unit
MethodReadyCount_Current
MethodReadyCount_Description
MethodReadyCount_HighWaterMark
MethodReadyCount_LastSampleTime
MethodReadyCount_LowWaterMark
MethodReadyCount_Name
MethodReadyCount_StartTime
MethodReadyCount_Unit
RemoveCount_Count
RemoveCount_Description
RemoveCount_LastSampleTime
RemoveCount_Name
RemoveCount_StartTime
Attribute RemoveCount_Unit

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-pool

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-pool.*

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

与 EJB 池属性对应的属性和值的列表(如表 1-4 所示)。

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-cache

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-cache.*

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

与 EJB 高速缓存属性对应的属性和值的列表(如表 1-5 所示)。

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-method.method1

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-method.method1.*

注:在独立模块中,将不显示包含应用程序名称(本例中为 app1)的节点。

与 EJB 模块属性对应的属性和值的列表(如表 1-2 所示)。

list -m

server.applications.app1.web-module1_war

显示分配给模块的虚拟服务器。

get -m

server.applications.app1.web-module1_war.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.applications.app1.web-module1_war.
virtual_server

显示已登记的 servlet 的列表。

get -m

server.applications.app1.web-module1_war.
virtual_server.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.applications.app1.web-module1_war.
virtual_server.servlet1

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.applications.app1.web-module1_war.
virtual_server.servlet1.*

与 Web 容器 (Servlet) 属性对应的属性和值的列表(如表 1-7 所示)。

表 21-36 显示了 HTTP 服务级别的命令、带点的名称及相应的输出。

表 21-36 HTTP 服务级别

命令

带点的名称

输出

list -m

server.http-service

虚拟服务器列表。

get -m

server.http-service.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.http-service.server

HTTP 侦听器列表。

get -m

server.http-service.server.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.http-service.server.
http-listener1

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.http-service.server.*

与 HTTP 服务属性对应的属性和值的列表(如表 1-9 所示)。

表 21-37 显示了线程池级别的命令、带点的名称及相应的输出。

表 21-37 线程池级别

命令

带点的名称

输出

list -m

server.thread-pools

线程池名称列表。

get -m

server.thread-pools.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.thread-pools.orb\.threadpool\
.thread-pool-1

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.thread-pools..orb\.threadpool\
.thread-pool-1.*

与线程池属性对应的属性和值的列表(如表 1-14 所示)。

表 21-38 显示了资源级别的命令、带点的名称及相应的输出。

表 21-38 资源级别

命令

带点的名称

输出

list -m

server.resources

池名称列表。

get -m

server.resources.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.resources.jdbc-connection-pool-pool.connection-pool1

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.resources.jdbc-connection-pool-pool.connection-pool1.*

与连接池属性对应的属性和值的列表(如表 1-10 所示)。

表 21-39 显示了事务服务级别的命令、带点的名称及相应的输出。

表 21-39 事务服务级别

命令

带点的名称

输出

list -m

server.transaction-service

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.transaction-service.*

与事务服务属性对应的属性和值的列表(如表 1-15 所示)。

表 21-40 显示了 ORB 级别的命令、带点的名称及相应的输出。

表 21-40 ORB 级别

命令

带点的名称

输出

list -m

server.orb

server-orb.connection-managers

get -m

server.orb.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.orb.connection-managers

ORB 连接管理器的名称。

get -m

server.orb.connection-managers.*

仅显示一条消息,说明此节点上没有属性。

list -m

server.orb.connection-managers.
orb\.Connections\.Inbound\
.AcceptedConnections

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.orb.connection-managers.
orb\.Connections\.Inbound\
.AcceptedConnections.*

与 ORB 连接管理器属性对应的属性和值的列表(如表 1-13 所示)。

表 21-34 显示了 JVM 级别的命令、带点的名称及相应的输出。

表 21-41 JVM 级别

命令

带点的名称

输出

list -m

server.jvm

没有属性,但显示一条消息,说明“使用带有 --monitor 选项的 get 命令可以查看该节点的属性和值”。

get -m

server.jvm.*

与 JVM 属性对应的属性和值的列表(如表 1-16 所示)。


使用 JConsole

要使 JConsole 能够与 Application Server 一起使用,必须禁用 JMX 连接器的安全性。默认情况下,当前版本的 Application Server(SE/EE 版)已启用安全性。

要禁用 JMX 连接器的安全性,请使用以下方法之一:

  1. 使用管理控制台禁用 JMX 连接器的安全性。要从管理控制台执行此操作,请执行以下步骤:

    1. 展开“配置”节点。
    2. 展开“管理服务”节点。
    3. 选择 system 节点。
    4. 在“SSL”部分取消选中“SSL3”和“TLS”。
    5. 选择“保存”。

  2. 使用 asadmin 禁用 JMX 连接器的安全性。要从终端窗口或命令提示符执行此操作,请执行以下步骤:
    1. 输入以下命令:
    2. asadmin set server.admin-service.jmx-connector.system.security-enabled=false
    3. 重新启动域应用程序服务器 (DAS)。

对于 PE 版,JMX 连接器在默认情况下处于禁用状态,因此无需更改 PE 的任何配置。

  1. 启动 JConsole,然后在“高级”选项卡中输入 JMX URL、用户名和密码进行登录。JMX URL 的形式为:



上一页      目录      下一页     


版权所有 2004 - 2005 Sun Microsystems, Inc. 保留所有权利。