接口 | 描述 |
---|---|
CounterMonitorMBean |
揭示了反监控MBean的远程管理界面。
|
GaugeMonitorMBean |
暴露了计监控MBean的远程管理界面。
|
MonitorMBean |
暴露监控MBean的远程管理界面。
|
StringMonitorMBean |
揭示了字符串的班长MBean远程管理界面。
|
类 | 描述 |
---|---|
CounterMonitor |
定义了一个监控MBean观察计数器属性的值。
|
GaugeMonitor |
定义了一个监控MBean设计观察表属性的值。
|
Monitor |
定义了对所有监控MBean部分常见。
|
MonitorNotification |
提供了通过监控MBean发送通知的定义。
|
StringMonitor |
定义了一个监控MBean观察字符串属性的值。
|
异常 | 描述 |
---|---|
MonitorSettingException |
当监视器正在运行时,监视器设置为无效的监视器所引发的异常。
|
提供监视器类的定义。班长是一个MBean,定期观察的一个或多个其他MBean属性值。如果属性满足一定条件时,显示器发出MonitorNotification
。当监控MBean定期调用getAttribute
要检索的属性被监视它在Monitor.start()
呼叫者访问控制方面的价值。
被监视的值可以是包含在一个复杂类型中的一个简单值。例如,在java.lang.management定义的MemoryMXBean
具有型MemoryUsage
属性HeapMemoryUsage。监测习惯于内存量,通过MemoryUsage的used属性描述,你可以监控”HeapMemoryUsage.used”。该字符串会争论setObservedAttribute
。
解释一个ObservedAttribute像"HeapMemoryUsage.used"使用规则如下。如果字符串是几乎处处(所以一会"HeapMemoryUsage"和E会"used"的例子)。
首先是获得的属性一价值。调用它诉一个价值x是从V提取如下:
CompositeData
如果v.get
(E)返回一个值,那么X就是价值。Introspector.getBeanInfo
,为V类(v.getClass())标识属性的名称,则X是阅读的属性值的结果。第三个规则意味着如果属性HeapMemoryUsage是MemoryUsage,监测"HeapMemoryUsage.used"将通过电话MemoryUsage.getUsed()获得的观测值。
如果ObservedAttribute包含多个时期,例如"ConnectionPool.connectionStats.length",那么上述规则应用迭代。在这里,V将最初的属性ConnectionPool值,X将应用上述规则与E等于"connectionStats"衍生。然后,V为X和X采用新规则又与E等于"length"衍生。
虽然建议的属性名称是有效的java标识符的属性被称为HeapMemoryUsage.used是可能的。这意味着ObservedAttribute,HeapMemoryUsage.used可能意味着观察值是一个属性的名称,或在属性的属性used叫HeapMemoryUsage。所以兼容性的原因,当ObservedAttribute包含一个周期(.),班长会检查是否存在一个属性的名字是全ObservedAttribute字符串(z-b1c47be8-dd0d-4dbc-bad0-1ba在这个例子31b79175f)。它通过调用getMBeanInfo
所观察到的MBean和寻找一个包含MBeanAttributeInfo
具有给定名称。如果找到一个,那么这就是被监控的。如果超过一个MBean被观察的行为,如果他们中的一些人有一HeapMemoryUsage.used属性和别人不一样。一个实现可能因此叫getMBeanInfo只需要对本案的MBeans。如果监视器在活动期间检查更改的结果,则该行为也未指定。
监视器准确的行为是在JMX Specification详细。以下是总结。
有三种显示器:
一个CounterMonitor
观察整数类型属性。属性被假定为非负的,和单调增加,除了在一个指定的模量的一个可能的辊。每个观察到的属性都有一个相关的阈值。当属性超过其阈值时发送一个通知。
可以指定偏移值。当一个观察值超过阈值,阈值递增偏移,或由偏移量足以使阈值大于新的观测值的倍数。
一个CounterMonitor
可以在不同模式下操作。在这种模式下,对阈值的值是两个连续观测的属性之间的差异。
一个GaugeMonitor
观察数值型属性。每个观察到的属性有一个相关的高阈值和低阈值。
当观察到的属性跨越高阈值时,如果通知高标志是真的,则发送一个通知。随后的高阈值的交叉点不会触发进一步的通知,直到规范值变得小于或等于低阈值。
当一个观察到的属性跨越低阈值时,如果通知低标志是真的,那么一个通知发送。随后的低阈值的交叉点不会触发进一步的通知,直到规范值变得大于或等于高阈值。
通常情况下,只有一个通知高,并通知低标志被设置。另一个阈值是用来提供一个滞后机制,以避免重复触发的通知时,一个属性使小振荡周围的阈值。
一个GaugeMonitor
可以在不同模式下操作。在这种模式下,对高和低的阈值的值是两个连续观测的属性之间的差异。
一个StringMonitor
观察型String
属性。当观察到的属性变得等于和/或不等于一个给定的字符串时发送一个通知。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.