监控说明
# 监控管理
监控是通过分析系统统计数据来提升性能或解决问题的过程。监控服务能够追踪并展示运行数据,例如每秒请求数、平均响应时间以及吞吐量等关键指标。通过实时监测金蝶Apusic应用服务器中部署的各类组件和服务状态,您可以识别性能瓶颈、预测故障风险、进行根本原因分析,并确保系统运行符合预期。监控收集的数据还可用于性能调优和容量规划,为系统优化提供数据支撑。
# 监控树结构
可监控对象是指能够被实时监测的组件、子组件或服务。Apusic应用服务器采用树状结构来追踪这些对象。由于该结构具有动态特性,当组件被添加或移除时,树状结构会随之更新。
在树状结构中,可监控对象可包含子对象(节点),这些子对象精确表示该对象可被监控的内容。所有子对象均使用点(.)字符作为分隔符进行寻址。此类构造的名称称为点分隔名称。
该命令可列出实例服务器的可监控子对象:
asadmin> list --monitor "server.*"
server.jvm
server.jvm.thread-system
server.jvm.thread-system.thread-153
server.network.thread-pool
server.network.connection-queue
server.security
server.security.realm
server.security.ejb
server.web
server.web.request
server.web.jsp
server.web.servlet
server.web.session
server.transaction-service
server.orb
server.orb.transport
server.orb.transport.connectioncache
server.applications
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
每个对象都通过点分隔名称标识。这类点分隔名称还能指向可监控对象中的特定属性。例如,jvm对象的内存属性中包含名为maxheapsize的统计指标,其点分隔名称可直接指向该属性。
server.jvm.memory.maxheapsize
默认情况下,监控状态是关闭的,需要开启监控才能获取到相关信息。
# 可监控项树结构
每个可监控对象均具有层次化树状结构。在该结构中,诸如统计数据之类的可替换元素代表可显示统计信息的属性名称。
- 应用程序树层级结构
- 连接器服务树层级结构
- HTTP服务树层级结构
- JMS容器服务树层级结构
- JVM树层级结构
- 网络监听树层级结构
- ORB树层级结构
- 资源树层级结构
- 安全域树层级结构
- 线程池树层级结构
- 事务服务树层级结构
- WEB树层级结构
# 应用程序树层级结构
应用程序树包含以下节点:
server.applications
|--- application1
| |--- ejb-module-1
| | |--- ejb1 *
| | |--- bean-cache (for entity/sfsb) *
| | |--- bean-pool (for slsb/mdb/entity) *
| | |--- bean-methods
| | |---method1 *
| | |---method2 *
| | |--- timers (for s1sb/entity/mdb) *
| |--- web-module-1
| | |--- virtual-server-1 *
| | |---servlet1 *
| | |---servlet2 *
|--- standalone-web-module-1
| | |----- virtual-server-2 *
| | |---servlet3 *
| | |---servlet4 *
| | |----- virtual-server-3 *
| | |---servlet3 *(same servlet on different vs)
| | |---servlet5 *
|--- standalone-ejb-module-1
| | |--- ejb2 *
| | |--- bean-cache (for entity/sfsb) *
| | |--- bean-pool (for slsb/mdb/entity) *
| | |--- bean-methods
| | |--- method1 *
| | |--- method2 *
| | |--- timers (for s1sb/entity/mdb) *
|--- jersey-application-1
| |--- jersey
| | |--- resources
resource-0
hitcount
*statistic
|--- application2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
点分隔名称示例如下:
server.applications.hello.server.request.maxtime
EJB模块下的点分隔名称示例如下:
server.applications.ejbsfapp1.ejbsfapp1ejbmod1\.jar.SFApp1EJB1
# 连接器服务树层级结构
该树结构包含可监控的池属性,例如连接器连接池。其包含以下节点:
server.connector-service
resource-adapter-1
connection-pools
pool-1
work-management
2
3
4
5
点分隔名称示例如下:
server.connector-service.resource-adapter-1.connection-pools.pool-1
# HTTP服务树层级结构
该树状结构包含以下节点:
server.http-service
virtual-server
request
*statistic
_asadmin
request
*statistic
2
3
4
5
6
7
例如virtual-service下的点分隔名称示例如下:
server.http-service.virtual-server1.request.requestcount
# JMS容器服务树层级结构
JMS服务树包含可监控的属性,这些属性涉及连接工厂(资源适配器的连接池)和工作管理(消息队列资源适配器)。JMS服务树包含以下节点:
server.jms-service
connection-factories
connection-factory-1
work-management
2
3
4
例如connection-factories的点分隔名称示例如下:
server.jms-service.connection-factories.connection-factory-1
# JVM 树层级结构
jvm 树包含以下节点:
server.jvm
class-loading-system
compilation-system
garbage-collectors
memory
operating-system
runtime
2
3
4
5
6
7
8
例如memory的点分隔名称示例如下:
server.jvm.memory.maxheapsize
# 网络监听树层级结构
网络统计信息适用于网络监听器,例如admin-listener、http-listener-1、http-listener-2,网络监听树包含以下节点:
server.network
type-of-listener
keep-alive
*statistic
file-cache
*statistic
thread-pool
*statistic
connection-queue
*statistic
2
3
4
5
6
7
8
9
10
点分隔名称示例如下:
server.network.admin-listener.keep-alive.maxrequests-count
# ORB树层级结构
orb树为连接管理器提供可监控属性。orb树包含以下节点:
server.orb
transport
connectioncache
inbound
*statistic
outbound
*statistic
2
3
4
5
6
7
点分隔名称示例如下:
server.orb.transport.connectioncache.inbound.connectionsidle-count
# 资源树层级结构
资源树包含可监控的池属性,例如JDBC连接池和连接器连接池。资源树包含以下节点:
server.resources
connection-pool
request
*statistic
2
3
4
点分隔名称示例如下:
server.resources.jdbc-connection-pool1.numconnfree.count
# 安全域树层级结构
安全域树包含以下节点:
server.security
ejb
*statistic
web
*statistic
realm
*statistic
2
3
4
5
6
7
点分隔名称示例如下:
server.security.realm.realmcount-starttime.
# 线程池树层级结构
线程池树结构存储着连接管理器的可监控属性,包含以下节点:
server.thread-pool
orb
threadpool
thread-pool-1
*statistic
2
3
4
5
点分隔名称示例如下:
server.thread-pool.orb.threadpool.thread-pool-1.averagetimeinqueue-current
# 事务服务树层级结构
事务服务树为事务子系统提供可监控属性,用于事务回滚,包含以下节点:
erver.transaction-service
statistic
2
点分隔名称示例如下:
server.tranaction-service.activeids
# WEB树层级结构
该WEB树包含以下节点:
server.web
jsp
*statistic
servlet
*statistic
session
*statistic
request
*statistic
2
3
4
5
6
7
8
9
例如servlet的点分隔名称示例如下:
server.web.servlet.activeservletsloadedcount
# 监控组件
监控组件用于生成统计信息,供AAS在运行时采集。
# 监控工具
以下asadmin子命令用于监控AAS的服务与组件。
- 子命令
enable-monitoring,disable-monitoring,get和set可以打开或关闭监控。详细介绍请参考 《监控配置》部分。 - 子命令
monitor type用于显示特定类型可监控对象的基本数据。 - 子命令
list --monitor用于查看监控对象,有关指南和说明,请参阅《列表使用指南》并获取《监控子命令》。 - 子命令
get用于显示综合数据,例如点分隔名称的属性和值。当与通配符参数配合使用时,get子命令可显示任何可监控对象的所有可用属性。有关指南和说明,请参阅《列表使用指南》并获取《监控子命令》。
# 监控配置
默认情况下,AAS的监控服务是关闭的,需要开启监控服务以及监控组件级别才能监控到数据。若需启用模块监控,可将该模块的监控级别调整为低(LOW)或高(HIGH)。对于无需监控的对象,可选择关闭监控功能。
- LOW: 例如创建次数、字节数等基础统计指标。
- HIGH: 基础统计与方法统计(如方法计数、持续时间等)。
- OFF: 关闭监控组件。
# 开启监控
子命令enable-monitoring用于开启监控,开启后实时生效,无需重启AAS。
子命令 set 也可以开启监控,但是因为子命令set不是动态操作,所以需要重启AAS才能生效。
- 确定当前哪些服务和组件已启用监控功能
asadmin> get server.monitoring-service.module-monitoring-levels.*
- 使用
enable -monitoring子命令开启监控
示例1:动态启用监控服务
此示例在不影响单个模块监控的情况下启用监控服务。
asadmin> enable-monitoring
Command enable-monitoring executed successfully
2
示例2:动态启用模块监控
这个示例支持对ejb容器模块进行监控。
asadmin> enable-monitoring --level ejb-container=HIGH
Command enable-monitoring executed successfully
2
示例3:使用 set 子命令为模块启用监控
此示例通过将监控级别设置为“高”来启用对HTTP服务的监控(必须重启服务器,更改才会生效)。
asadmin> set server.monitoring-service.module-monitoring-levels.http-service=HIGH
Command set executed successfully
2
# 禁用监控
使用 disable-monitoring 子命令可禁用监控服务本身,或禁用单个模块的监控。监控会立即停止,无需重启应用服务器。
你也可以使用 set 子命令来禁用某个模块的监控。使用 set 命令并非动态过程,因此你需要重新启动应用服务器,以使更改生效。
- 确定当前哪些服务和组件已启用监控功能
asadmin> get server.monitoring-service.module-monitoring-levels.*
- 使用
disable -monitoring子命令禁用对服务或模块的监视
示例1:动态禁用监控服务
此示例在不更改各个模块监控级别的情况下禁用监控服务。
asadmin> disable-monitoring
Command disable-monitoring executed successfully
2
示例2:动态禁用模块监控
此示例会禁用特定模块的监控。这些模块的监控级别设置为“关闭”。
asadmin> disable-monitoring --modules web-container,ejb-container
Command disable-monitoring executed successfully
2
示例3:使用 set 子命令为模块禁用监控
此示例将禁用HTTP服务的监控(必须重启服务器,更改才能生效)。
asadmin> set server.monitoring-service.module-monitoring-levels.http-service=OFF
Command set executed successfully
2
# 常见监控统计
常见的监控统计信息将在以下各节中介绍。
# HTTP listener常见监控统计
httplistener 类型的可用统计信息如下表所示。
| 统计数据 | 说明 |
| ec | 错误计数。错误计数的累计值 |
| mt | 最长时间。请求的最长响应时间;不是累计值,而是响应时间中的最大响应时间 |
| pt | 处理时间。处理每个请求所花费时间的累计值,其中处理时间是请求处理时间在请求上的平均值 |
| rc | 请求计数。到目前为止已处理的请求累计数量 |
# JVM常见监控统计
JVM类型的可用统计信息如下表所示。
| 统计数据 | 说明 |
| count | 保证可供JVM机器使用的内存量(以字节为单位) |
| max | 可用于内存管理的最大内存量 |
| min | JVM 机器在启动期间向操作系统请求用于内存管理的初始内存量(以字节为单位) |
| UpTime | 自上次启动以来,JVM 机器运行的毫秒数 |
# Web模块常见监控统计
webmodule类型的可用统计信息如下表所示。
| 统计数据 | 说明 |
| ajlc | 已加载的JavaServer Pages(JSP)技术活动页面数量 |
| asc | 当前活动会话 |
| aslc | 已加载的活动Servlet数量 |
| ast | 活跃会话总数 |
| mjlc | 已加载的JSP页面的最大数量 |
| mslc | 已加载的Servlet的最大数量 |
| rst | 拒绝会话总数 |
| st | 总会话数 |
| tjlc | 已加载的JSP页面总数 |
| tslc | 已加载的Servlet总数 |
# 查看综合监测数据
通过使用点分隔名称对树形结构应用 list 和 get 子命令,你可以显示更全面的监控数据,例如每个统计信息的描述及其度量单位。
# list和get子命令的指南
使用带点分隔名称的list和get子命令的潜在假设是:
- 指定了不带通配符
(*)的点分隔名称的list子命令会列出当前节点的直接子节点。例如,以下子命令列出属于server节点的所有直接子节点:
list --monitor server
list子命令,它指定一个点分名称,后面跟着一个形式为.*的通配符,会列出从指定节点开始的子节点的层次树。例如,以下子命令列出“applications”节点的所有子节点、它们后续的子节点,依此类推:
list --monitor server.applications.*
list子命令,它指定一个点分隔名称,该名称之前或之后带有通配符,通配符形式为*点分隔名称或点分 * 名称或点分隔名称 *,此命令将列出与由指定匹配模式创建的正则表达式相匹配的所有节点及其子节点。紧跟
.*或*的get子命令会获取属于指定节点的属性集及其值。
# 查看全面监测数据
尽管“monitor”子命令在许多情况下很有用,但它并未提供所有可监控对象的完整列表。若要处理某一对象类型的全面数据,请使用“list monitor”和“get monitor”子命令,后跟可监控对象的点分隔名称。
在显示可监控对象的相关信息之前,必须先将该对象配置为可监控对象。如果需要,请参阅启用监视。
- 使用
list子命令列出启用监视的对象。
例如,以下子命令列出了为实例服务器启用了监控的所有组件和服务。
asadmin> list --monitor "*"
server.web
server.connector-service
server.orb
server.jms-serviceserver.jvm
server.applications
server.http-service
server.thread-pools
2
3
4
5
6
7
8
- 使用
get子命令获取受监控组件或服务的数据
示例1:查看特定类型的属性
此示例获取实例服务器上对象类型 jvm 的所有属性的信息。
asadmin> get --monitor server.jvm.*
示例2:查看可监控的应用程序
此示例列出了实例 server 的所有可监控应用程序。
asadmin> list --monitor server.applications.*
示例3:查看应用程序的属性
这个示例获取有关应用程序hello的所有属性的信息。
asadmin> get --monitor server.applications.hello.*
# 综合监测统计
可以通过组成一个点分名称来指定要查找的统计信息,从而获得全面的监控统计数据。
以下各节中的表格列出了每个可监控对象可用的统计信息。
# EJB统计信息
ejb适合应用程序树层次结构中所示的对象树。使用以下点分隔名称模式获取应用程序的EJB统计信息。
server.applications.appname.ejbmodulename.ejbname.bean-cache.statistic
注意:应用程序执行后,即可获取该应用程序的EJB统计信息。如果应用程序已部署但尚未执行,所有计数将显示默认值。当应用程序取消部署时,其所有监控数据都将丢失。
以下各节展示了应用程序可用的统计信息:
# EJB缓存统计信息
对于EJB缓存统计信息,请使用以下点分隔名称模式:
server.applications.appname.ejbmodulename.bean-cache.ejbname.statistic
EJB缓存可用的统计信息如下表所示:
| 统计数据 | 数据类型 | 说明 |
| cachemisses | 范围统计 | 用户请求在缓存中未找到Bean的次数 |
| cachehits | 范围统计 | 用户请求在缓存中找到条目的次数 |
| numbeansincache | 范围统计 | 缓存中bean的数量。这是缓存当前的大小 |
| numpassivations | 计数统计 | 钝化的 bean 数量。仅适用于有状态会话 bean |
| numpassivationerrors | 计数统计 | 钝化期间的错误数量。仅适用于有状态会话 bean |
| numexpiredsessionsremoved | 计数统计 | 清理线程移除的过期会话数。仅适用于有状态会话 bean |
| numpassivationsuccess | 计数统计 | 钝化成功完成的次数。仅适用于有状态会话 bean |
# EJB容器统计信息
对于 EJB 容器统计信息,请使用以下点分名称模式。
以下表格列出了可用于EJB容器的统计信息。
| 统计数据 | 数据类型 | 说明 |
| createcount | 计数统计 | EJB的创建方法被调用的次数 |
| messagecount | 计数统计 | 消息驱动 bean 接收的消息数量 |
| methodreadycount | 范围统计 | 处于MethodReady状态的有状态或无状态会话 bean 的数量 |
| passivecount | 范围统计 | 处于Passive状态的有状态会话 bean 的数量 |
| pooledcount | 范围统计 | 处于池化状态的实体 bean 数量 |
| readycount | 范围统计 | 处于就绪状态的实体Bean数量 |
| removecount | 计数统计 | EJB的remove方法被调用的次数 |
# EJB方法统计信息
对于EJB方法统计信息,请使用以下点分隔名称模式:
server.applications.appname.ejbmodulename.bean-methods.ejbname.statistic
以下表格列出了可用于EJB方法调用的统计信息。
| 统计数据 | 数据类型 | 说明 |
| executiontime | 计数统计 | 启用 EJB 容器的监控功能后,该指标会收集无状态会话 Bean、有状态会话 Bean 和实体 Bean 的相关数据,记录最近一次成功 / 失败执行操作时,方法的执行耗时(单位:毫秒) |
| methodstatistic | 时间统计 | 操作被调用的次数;调用期间所花费的总时间等等 |
| totalnumerrors | 计数统计 | 方法执行导致异常的次数。如果为 EJB 容器启用了监控,则会针对无状态和有状态会话 bean 以及实体 bean 收集此信息 |
| totalnumsuccess | 计数统计 | 该方法成功执行的次数。如果为 EJB 容器启用了监控,则会针对无状态和有状态会话 bean 以及实体 bean 收集此信息 |
# EJB池统计信息
对于EJB池统计信息,请使用以下点分隔名称模式:
server.applications.appname.ejbmodulename.bean-pool.ejbname.statistic
EJB 池可用的统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| jmsmaxmessagesload | 计数统计 | 一次加载到 JMS 会话中供消息驱动 bean 使用的最大消息数。默认值为 1。仅适用于消息驱动 bean 的池 |
| numbeansinpool | 范围统计 | 关联池中EJB的数量,提供有关池如何变化的信息 |
| numthreadswaiting | 范围统计 | 等待可用资源的线程数量,这可以作为请求可能出现拥塞的一个指标 |
| totalbeanscreated | 计数统计 | 自数据收集开始以来,相关池中生成的bean数量 |
| totalbeansdestroyed | 计数统计 | 自数据收集开始以来,相关池中被销毁的bean数量 |
# 定时器统计数据
对于计时器统计信息,请使用以下点分隔名称模式:
server.applications.appname.ejbmodulename.timers.ejbname.statistic
可用于定时器的统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| numtimerscreated | 计数统计 | 系统中创建的定时器数量 |
| numtimersdelivered | 计算统计 | 系统交付的计时器数量 |
| numtimersremoved | 计算统计 | 从系统中移除的定时器数量 |
# HTTP服务统计信息
HTTP服务符合HTTP服务树层次结构中所示的对象树。
# HTTP服务虚拟服务器统计数据
对于HTTP服务虚拟服务器统计信息,请使用以下点分隔名称模式:
server.http-service.virtual-server.request.statistic
虚拟服务器的HTTP服务统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| count200 | 计数统计 | 状态码等于200的响应数量 |
| count2xx | 计算统计 | 状态码在2xx范围内的响应数量 |
| count302 | 计算统计 | 状态码等于302的响应数量 |
| count304 | 计算统计 | 状态码等于304的响应数量 |
| count3xx | 计算统计 | 状态码在3xx范围内的响应数量 |
| count400 | 计算统计 | 状态码等于400的响应数量 |
| count401 | 计算统计 | 状态码等于401的响应数量 |
| count403 | 计算统计 | 状态码等于403的响应数量 |
| count404 | 计算统计 | 状态码等于404的响应数量 |
| count4xx | 计算统计 | 状态码在4xx范围内的响应数量 |
| count503 | 计算统计 | 状态码等于503的响应数量 |
| count5xx | 计算统计 | 状态码在5xx范围内的响应数量 |
| countother | 计算统计 | 状态码不在2xx、3xx、4xx和5xx范围内的响应数量 |
| errorcount | 计算统计 | 错误计数的累计值,其中错误计数表示响应代码大于或等于400的情况数量 |
| hosts | 字符串统计 | 虚拟服务器的主机(别名)名称 |
| maxtime | 计算统计 | 请求的最长响应时间;不是累计值,而是响应时间中的最大响应时间 |
| processingtime | 计算统计 | 处理每个请求所花费时间的累计值,其中处理时间是请求处理时间在请求数量上的平均值 |
| requestcount | 计算统计 | 到目前为止已处理的请求累计数量 |
| state | 字符串统计 | 虚拟服务器的状态 |
# Jersey统计数据
Jersey适合应用程序树层次结构中所示的对象树。
对Jersey的统计数据使用以下点分隔名称命名模式:
server.applications.jersey-application.jersey.resources.resource-0.hitcount.statistic
Jersey统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| resourcehitcount | 计数统计 | 此资源类的点击量 |
| rootresourcehitcount | 计算统计 | 此根资源类的点击量 |
# JMS/连接器服务统计信息
JMS/连接器服务适合JMS/容器服务树层次结构中所示的对象树。
# 连接器连接池统计信息(JMS)
对于JMS/连接器服务连接池统计信息,请使用以下点分隔名称模式:
server.connector-service.resource-adapter-1.connection-pool.statistic
可用于连接器连接池的JMS/连接器服务统计信息如下表所示。
注意:为了提高系统性能,连接池采用延迟初始化;也就是说,直到应用程序首次使用连接池或显式地对连接池执行ping操作,连接池才会被初始化。在连接池初始化之前,无法获取其监控统计信息。
| 统计数据 | 数据类型 | 说明 |
| averageconnwaittime | 计数统计 | 连接在由连接池提供服务之前的平均等待时间 |
| connectionrequestwaittime | 范围统计 | 连接请求的最长和最短等待时间。当前值表示连接池处理的最后一个请求的等待时间 |
| numconnfailedvalidation | 计数统计 | 从开始时间到最后采样时间,连接池中验证失败的连接总数 |
| numconnused | 范围统计 | 当前正在使用的连接总数,以及有关使用过的最大连接数(峰值)的信息 |
| numconnfree | 范围统计 | 截至上次采样时连接池中可用连接的总数 |
| numconntimedout | 计算统计 | 在开始时间和最后采样时间之间,连接池中超时的连接总数 |
| numconncreated | 计数统计 | 自上次重置以来创建的物理连接数量(以毫秒为单位) |
| numconndestroyed | 计算统计 | 自上次重置以来被销毁的物理连接数量 |
| numconnacquired | 计数统计 | 从池中获取的逻辑连接数量 |
| numconnreleased | 计算统计 | 释放到池中逻辑连接的数量 |
| waitqueuelenght | 计数统计 | 队列中等待处理的连接请求数量 |
# 连接器工作管理统计信息(JMS)
对于JMS/连接器服务工作管理统计信息,请使用以下点分隔名称模式:
server.connector-service.resource-adapter-1.work-management.statistic
可用于连接器工作管理的JMS/连接器服务统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| activeworkcount | 范围统计 | 连接器执行的工作对象数量 |
| completedworkcount | 计算统计 | 已完成的工作对象数量 |
| rejectedworkcount | 计算统计 | 被应用服务器拒绝的工作对象数量 |
| submittedworkcount | 计算统计 | 连接器模块提交的工作对象数量 |
| waitqueuelength | 范围统计 | 执行前队列中等待的工作对象数量 |
| workrequestwaittime | 范围统计 | 一个工作对象在执行前等待的最长和最短时间 |
# JVM统计数据
JVM适合JVM树层次结构中所示的对象树。
适用于Java平台虚拟机(Java虚拟机)或JVM机器的统计信息将在以下章节中展示:
# JVM类加载系统统计信息
对于JVM类加载系统统计信息,请使用以下点分隔名称模式:
server.jvm.class-loading-system.statistic
使用Java SE,可以从JVM获得额外的监视信息。将监视级别设置为LOW,以启用这些附加信息的显示。将监控级别设置为HIGH,还可以查看与系统中每个活动线程相关的信息。
在 Java SE 的 JVM 中,可用于类加载的统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| loadedclasscount | 计算统计 | 当前在JVM中加载的类的数量 |
| totalloadedclasscount | 计算统计 | 自JVM开始执行以来已加载的类的总数 |
| unloadedclasscount | 计算统计 | 自JVM开始执行以来从JVM中卸载的类的数量 |
在 Java SE 的 JVM 中,线程的可用统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| allthreadids | 字符串统计 | 所有活动线程ID列表 |
| currentthreadcputime | 计算统计 | 如果启用了CPU时间测量,则为当前线程的CPU时间(以纳秒为单位)。如果禁用了CPU时间测量,则返回 -1 |
| daemonthreadcount | 计算统计 | 当前活动守护线程的数量 |
| monitordeadlockedthreads | 字符串统计 | 处于监视器死锁状态的线程ID列表 |
| peakthreadcount | 计算统计 | 自JVM启动或峰值重置以来的峰值活动线程数 |
| threadcount | 计算统计 | 当前活动的守护线程和非守护线程的数量 |
| totalstartedthreadcount | 计算统计 | 自JVM启动以来创建和/或启动的线程总数 |
# JVM编译系统统计信息
对于JVM编译系统统计信息,请使用以下点分隔名称模式:
server.jvm.compilation-system.statistic
在Java SE的JVM中可用于编译的统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| name-current | 字符串统计 | 当前编译器的名称 |
| totalcompilationtime | 计数统计 | 编译所花费的累计时间(以毫秒为单位) |
# JVM垃圾收集器统计信息
对于JVM垃圾收集器统计信息,请使用以下点分隔名称模式:
server.jvm.garbage-collectors.statistic
在Java SE的JVM中,可用的垃圾回收统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| collectioncount | 字符串统计 | 已发生的回收总次数 |
| collectiontime | 计数统计 | 回收操作的累计耗时(单位:毫秒) |
# JVM内存统计信息
对于JVM内存统计信息,请使用以下点分隔名称模式:
server.jvm.memory.statistic
在 Java SE 的 JVM 中可用的内存统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| committedheapsize | 计数统计 | 为 JVM 使用而提交的堆内存量(以字节为单位) |
| committednonheapsize | 计数统计 | 为JVM使用而提交的非堆内存量(以字节为单位) |
| initheapsize | 计数统计 | JVM最初请求的堆大小 |
| initnonheapsize | 计数统计 | JVM最初请求的非堆区域大小 |
| maxheapsize | 计数统计 | 可用于内存管理的最大堆内存量(以字节为单位) |
| maxnonheapsize | 计数统计 | 可用于内存管理的非堆内存的最大数量(以字节为单位) |
| objectpendingfinalizationcount | 计数统计 | 等待终结的对象近似数量 |
| usedheapsize | 计数统计 | 当前正在使用的堆的大小 |
| usednonheapsize | 计数统计 | 当前正在使用的非堆区域大小 |
# JVM操作系统统计信息
对于JVM操作系统统计信息,请使用以下点分隔名称模式:
server.jvm.operating-system.statistic
Java SE 中 JVM 机器的操作系统可用统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| arch-current | 字符串统计 | 操作系统架构 |
| availableprocessors | 计数统计 | JVM可用的处理器数量 |
| name-current | 字符串统计 | 操作系统名称 |
| version-current | 字符串统计 | 操作系统版本 |
# JVM运行时统计信息
对于JVM运行时统计信息,请使用以下点分隔名称模式:
server.jvm.runtime.statistic
Java SE 的 JVM 运行时中可用的运行时统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| classpath-current | 字符串统计 | 系统类加载器用于搜索类文件的类路径 |
| inputarguments-current | 字符串统计 | 传递给 JVM 的输入参数(不包含传递给 main 方法的参数) |
| managementspecversion-current | 字符串统计 | JVM实现的管理规范版本 |
| name-current | 字符串统计 | 表示正在运行的JVM的名称 |
| specname-current | 字符串统计 | JVM规范名称 |
| specvendor-current | 字符串统计 | JVM规范供应商 |
| specversion-current | 字符串统计 | JVM规范版本 |
| uptime | 计数统计 | JVM的正常运行时间(以毫秒为单位) |
| vmname-current | 字符串统计 | JVM实现名称 |
| vmvendor-current | 字符串统计 | JVM实现供应商 |
| vmversion-current | 字符串统计 | JVM实现版本 |
# 网络统计数据
网络适合网络树层次结构中所示的对象树。
网络统计信息在以下各节中进行描述:
# 网络保持活动状态统计信息
对于网络保持活动统计信息,请使用以下点分隔名称模式:
server.network.type-of-listener.keep-alive.statistic
网络保持活动状态的可用统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| countconnections | 计数统计 | 保持活动模式下的连接数量 |
| counttimeouts | 计数统计 | 保持活动连接中超时的数量 |
| secondstimeouts | 计数统计 | 保持活动状态的超时值(以秒为单位) |
| maxrequests | 计数统计 | 已关闭的持久连接数量 |
| counthits | 计数统计 | 在保持活动模式下,连接接收到的请求数量 |
| countrefusals | 计数统计 | 被拒绝的持久连接数量 |
# 网络连接队列统计信息
对于网络连接队列统计信息,请使用以下点分隔名称模式:
server.network.type-of-listener.connection-queue.statistic
网络连接队列的可用统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| countopenconnections | 计数统计 | 打开/活动连接的数量 |
| countoverflows | 计数统计 | 队列已满而无法容纳连接的次数 |
| countqueued | 计数统计 | 当前队列中的连接数 |
| countqueued15minutesaverage | 计数统计 | 过去15分钟内排队的平均连接数 |
| countqueued1minuteaverage | 计数统计 | 过去1分钟内排队的平均连接数 |
| countqueued5minutesaverage | 计数统计 | 过去5分钟内排队的平均连接数 |
| counttotalconnections | 计数统计 | 已接受的连接总数 |
| counttotalqueued | 计数统计 | 已排队的连接总数 |
| maxqueued | 计数统计 | 连接队列的最大大小 |
| peakqueued | 计数统计 | 队列中同时存在的最大连接数 |
| tickstotalqueued | 计数统计 | (不支持)连接在队列中花费的总刻度数 |
# 网络文件缓存统计信息
对于网络文件缓存统计信息,请使用以下点分隔名称模式:
server.network.type-of-listener.file-cache.statistic
网络文件缓存的可用统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| contenthits | 计数统计 | 缓存文件内容的点击次数 |
| contentmisses | 计数统计 | 缓存文件内容的未命中次数 |
| heapsize | 计数统计 | 当前缓存大小(以字节为单位) |
| hits | 计数统计 | 缓存查找命中次数 |
| infohits | 计数统计 | 缓存文件信息的命中次数 |
| infomisses | 计数统计 | 缓存文件信息的未命中次数 |
| mappedmemorysize | 计数统计 | 用于缓存的映射内存大小(以字节为单位) |
| maxheapsize | 计数统计 | 缓存使用的最大堆空间(以字节为单位) |
| maxmappedmemorysize | 计数统计 | 用于缓存的最大内存映射大小(以字节为单位) |
| misses | 计数统计 | 缓存查找未命中次数的数据类型 |
| opencacheentries | 计数统计 | 当前打开的缓存条目数量 |
# 网络线程池统计信息
对于网络线程池统计信息,请使用以下点分隔名称模式:
server.network.type-of-listener.thread-pool.statistic
网络线程池的可用统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| corethreads | 计数统计 | 线程池中线程的核心数量 |
| currentthreadcount | 计数统计 | 提供当前侦听器线程池中正在处理请求的线程数 |
| currentthreadsbusy | 计数统计 | 提供当前在处理请求的侦听器线程池中正在使用的请求处理线程数 |
| maxthreads | 计数统计 | 线程池中允许的最大线程数 |
| totalexecutedtasks | 计数统计 | 提供由线程池执行的任务总数 |
# ORB统计信息(连接管理器)
ORB适合ORB树层次结构中所示的对象树。
对于ORB统计信息,请使用以下点分隔名称模式:
server.orb.transport.connectioncache.inbound.statistic
server.orb.transport.connectioncache.outbound.statistic
2
以下表格列出了对象请求代理(ORB)中连接管理器的可用统计信息。
| 统计数据 | 数据类型 | 说明 |
| connectionsidle | 计数统计 | 与对象请求代理(ORB)处于空闲状态的连接总数 |
| connectionsinuse | 计数统计 | 正在使用的与ORB的连接总数 |
| totalconnections | 有界范围统计量 | 与ORB的连接总数 |
# 资源统计(连接池)
通过监控连接池资源,您可以衡量性能并在运行时捕获资源使用情况。连接成本高昂,并且经常会在应用程序中造成性能瓶颈。监控连接池如何释放和创建新连接,以及有多少线程在等待从特定池中检索连接,这一点非常重要。
连接池资源适合于资源树层次结构中所示的对象树。
对于常规连接池统计信息,请使用以下点分隔名称模式:
server.resources.pool-name.statistic
对于应用程序范围的连接池统计信息,请使用以下点分隔名称模式:
server.applications.application-name.resources.pool-name.statistic
对于模块作用域的连接池统计信息,请使用以下点分隔名称模式:
server.applications.application-name.module-name.resources.pool-name.statistic
连接池统计信息如下表所示。
注意: 为了提高系统性能,连接池采用延迟初始化;也就是说,直到应用程序首次使用连接池或显式ping通连接池,连接池才会被初始化。在连接池初始化之前,无法获取连接池的监控统计信息。
| 统计数据 | 数据类型 | 说明 |
| averageconnwaittime | 计数统计 | 每个成功连接请求的平均等待时长 |
| connrequestwaittime | 范围统计 | 自上次采样以来,连接请求的最长和最短等待时间(以毫秒为单位)。当前值表示连接池处理的最后一个请求的等待时间 |
| numconnacquired | 计数统计 | 自上次采样以来从池中获取的逻辑连接数 |
| numconncreated | 计数统计 | 自上次重置以来,连接池创建的物理连接数量 |
| numconndestroyed | 计数统计 | 自上次重置以来被销毁的物理连接数量 |
| numconnfailedvalidation | 计数统计 | 从开始时间到最后采样时间,连接池中验证失败的连接数量 |
| numconnfree | 范围统计 | 截至上次采样时连接池中可用连接的数量 |
| numconnnotsuccessfullymatched | 计数统计 | 匹配过程中被拒绝的连接数 |
| numconnreleased | 计数统计 | 自上次采样以来释放回连接池的连接数 |
| numconnsuccessfullymatched | 计数统计 | 成功匹配的连接数量 |
| numconntimedout | 计数统计 | 在开始时间和上次采样时间之间,连接池中超时的连接数 |
| numconnused | 范围统计 | 当前正在使用的连接数,以及关于使用过的最大连接数(峰值)的信息 |
| frequsedsqlqueries | 字符串统计 | 最常用的SQL查询列表(仅在启用SQL跟踪时可用) |
| numpotentialconnleak | 计数统计 | 潜在连接泄漏的数量 |
| numpotentialstatementleak | 计数统计 | 潜在语句泄漏数量(仅在启用语句泄漏检测时可用) |
| numstatementcachehit | 计数统计 | 在语句缓存中找到的语句数量(仅在启用语句缓存时可用) |
| numstatementcachemiss | 计数统计 | 在语句缓存中未找到的语句数量(仅在启用语句缓存时可用) |
| waitqueuelength | 计数统计 | 队列中等待处理的连接请求数量 |
特定应用程序资源监控统计信息(连接池)
| 统计数据 | 数据类型 | 说明 |
| connectionsidle | 计数统计 | 自上次采样以来从池中获取的逻辑连接数 |
| numconnreleased | 计数统计 | 自上次采样以来释放回连接池的连接数 |
| numconnused | 范围统计量 | 当前正在使用的连接数,以及关于曾使用过的最大连接数(峰值)的信息 |
# 安全统计信息
安全适合安全树层次结构中所示的对象树。
安全统计信息在以下各节中进行描述:
# EJB安全统计信息
对于EJB安全统计信息,请使用以下点分隔名称模式:
server.security.ejb.statistic
以下表格列出了可用于EJB安全性的统计信息。
| 统计数据 | 数据类型 | 说明 |
| policyconfigurationcount | 计数统计 | 策略配置数量 |
| securitymanagercount | 计数统计 | EJB安全管理器的数量 |
# Web安全统计信息
对于Web安全统计信息,请使用以下点分隔名称模式:
server.security.web.statistic
以下表格列出了可用于Web安全性的统计信息。
| 统计数据 | 数据类型 | 说明 |
| websecuritymanagercount | 计数统计 | 安全管理器的数量 |
| webpolicyconfigurationcount | 计数统计 | 策略配置对象的数量 |
# 安全域统计信息
对于安全域统计信息,请使用以下点分隔名称模式:
server.security.realm.statistic
以下表格列出了可用于安全域的统计信息。
| 统计数据 | 数据类型 | 说明 |
| realmcount | 计数统计 | 安全域的数量 |
# 线程池统计信息
线程池适合线程池树层次结构中所示的对象树。
线程池统计信息在以下各节中进行描述:
# 线程池监控统计信息
对于线程池监控统计信息,请使用以下点分隔名称模式:
server.thread-pool.thread-pool.statistic
以下表格列出了可用于线程池监控的统计信息。
| 统计数据 | 数据类型 | 说明 |
| averagetimeinqueue | 有界范围统计量 | 请求在被处理之前在队列中等待的平均时间(以毫秒为单位) |
| averageworkcompletiontime | 有界范围统计量 | 完成一项任务所需的平均时间(以毫秒为单位) |
| currentbusythreads | 计数统计 | 当前繁忙线程数 |
| currentnumberofthreads | 有界范围统计量 | 当前正在处理请求的线程数量 |
| numberofavailablethreads | 计数统计 | 可用线程数 |
| numberofworkitemsinqueue | 有界范围统计量 | 当前在队列中等待的工作项数量 |
| totalworkitemsadded | 计数统计 | 截至上次采样时添加到工作队列中的工作项总数 |
# Java SE 线程信息的 JVM 统计信息
在Java SE的JVM中,可用于线程信息(ThreadInfo)的统计信息如下表所示。
| 统计数据 | 数据类型 | 说明 |
| blockedcount | 计数统计 | 线程进入阻塞状态的总次数 |
| blockedtime | 计数统计 | 线程进入阻塞(BLOCKED)状态后经过的时间(单位:毫秒)。若线程竞争监控已禁用,则返回 -1 |
| lockname | 字符串统计 | 线程被阻止进入或通过Object.wait方法等待通知的监视器锁的字符串表示形式 |
| lockownerid | 计数统计 | 持有此线程正在阻塞的对象的监视器锁的线程的ID |
| lockownername | 字符串统计 | 此线程正在阻塞的对象的监视器锁所在线程的名称 |
| stacktrace | 字符串统计 | 与此线程关联的堆栈跟踪。 |
| threadid | 计数统计 | 线程的ID |
| threadname | 字符串统计 | 线程的名称 |
| threadstate | 字符串统计 | 线程的状态 |
| waitedtime | 计数统计 | 线程处于 WAITING 状态所经过的时间(以毫秒为单位)。如果禁用了线程争用监视,则返回 -1 |
| waitedcount | 计数统计 | 线程处于WAITING或TIMED_WAITING状态的总次数 |
# 事务服务统计信息
事务服务允许客户端冻结事务子系统,以便回滚事务并确定冻结时哪些事务正在处理中。事务服务在对象树中的位置如“事务服务树层次结构”所示。
对于事务服务监控统计信息,请使用以下点分隔名称模式:
server.transaction-service.statistic
以下表格列出了可用于事务服务的统计信息。
| 统计数据 | 数据类型 | 说明 |
| activecount | 计数统计 | 当前活跃的事务服务数 |
| activeids | 字符串统计 | 当前处于活跃状态的事务的标识(ID)。事务服务冻结后,可回滚每一个此类事务 |
| committedcount | 计数统计 | 已提交的事务数量 |
| rolledbackcount | 计数统计 | 已回滚的事务数量 |
| state | 字符串统计 | 指示该事务是否已被冻结 |
# Web统计信息
Web模块适合Web模块树层次结构中所示的对象树。
Web模块统计信息在以下各节中进行描述:
# Web模块Servlet统计信息
对于Web模块Servlet统计信息,请使用以下点分隔名称模式:
server.applications.web-module.virtual-server.servlet.statistic
server.applications.application.web-module.virtual-server.servlet.statistic
2
以下表格列出了可用于Web模块Servlet的统计信息。
| 统计数据 | 数据类型 | 说明 |
| errorcount | 计数统计 | 响应码大于或等于 400 的累计次数 |
| maxtime | 计数统计 | Web容器等待请求的最长时间 |
| processingtime | 计数统计 | 处理每个请求所需时间量的累计值。处理时间是请求处理时间的平均值除以请求数量 |
| requestcount | 计数统计 | 到目前为止处理的请求总数 |
| servicetime | 字符串统计 | 聚合响应时间(单位:毫秒) |
# Web JSP统计信息
对于Web JSP统计信息,请使用以下点分隔名称模式:
server.applications.web-module.virtual-server.statistic
server.applications.application.web-module.virtual-server.statistic
2
以下表格列出了可用于Web JSP的统计信息。
| 统计数据 | 数据类型 | 说明 |
| jspcount-current | 范围统计 | 活动JSP页面数量 |
| jsperrorcount | 计数统计 | JSP页面调用触发的错误总数 |
| jspreloadedcount | 计数统计 | 重新加载的JSP页面总数 |
| totaljspcount | 计数统计 | 已加载的JSP页面总数 |
# Web 请求统计信息
对于Web 请求统计信息,请使用以下点分隔名称模式:
server.applications.web-module.virtual-server.statistic
server.applications.application.web-module.virtual-server.statistic
2
以下表格列出了可用于Web 请求的统计信息。
| 统计数据 | 数据类型 | 说明 |
| errorcount | 计数统计 | 错误计数的累计值,其中错误计数表示响应代码大于或等于400的情况数量 |
| maxtime | 计数统计 | 请求的最长响应时间;不是累计值,而是响应时间中的最大响应时间 |
| processingtime | 计数统计 | 平均请求处理时间,单位为毫秒 |
| requestcount | 计数统计 | 到目前为止已处理的请求累计数量 |
# Web Servlet统计信息
对于Web Servlet统计信息,请使用以下点分隔名称模式:
server.applications.web-module.virtual-server.statistic
server.applications.application.web-module.virtual-server.statistic
2
以下表格列出了可用于Web Servlet的统计信息。
| 统计数据 | 数据类型 | 说明 |
| activeservletsloadedcount | 范围统计 | 当前已加载的Servlet数量 |
| servletprocessingtimes | 计数统计 | 累积的Servlet处理时间,单位为毫秒 |
| totalservletsloadedcount | 计数统计 | 已加载到Web模块中的Servlet累计数量 |
# Web 会话统计信息
对于Web 会话统计信息,请使用以下点分隔名称模式:
server.applications.web-module.virtual-server.statistic
server.applications.application.web-module.virtual-server.statistic
2
以下表格列出了可用于Web 会话的统计信息。
| 统计数据 | 数据类型 | 说明 |
| activatedsessionstotal | 计数统计 | 已激活的会话数量 |
| activesessionscurrent | 范围统计 | 当前活跃会话的数量 |
| activesessionshigh | 计数统计 | 并发活跃会话的最大数量 |
| expiredsessionstotal | 计数统计 | 已过期的会话数量 |
| passivatedsessionstotal | 计数统计 | 已钝化会话的数量 |
| persistedsessionstotal | 计数统计 | 已持久化会话的总数 |
| rejectedsessionstotal | 计数统计 | 被拒绝的会话总数 |
| sessionstotal | 计数统计 | 创建的会话总数 |