2

我一直在寻找 JMX 来监控应用程序和系统指标(部分原因是 MBean 可以通过各种工具(例如 JConsole)访问)。看起来 JMX 包含的类对于指标超过阈值时的通知之类的事情很有用。但我不确定它们是否符合我想在指定时间段内测量它们的方式。

例如,假设我想在平均 CPU 负载超过 95% 超过 5 分钟时通知管理员。用 GaugeMonitor 可以做到这一点吗?从文档来看,它似乎不太适合这个,我想知道是否应该用必要的逻辑编写自己的 MBean。

一个更相关的例子是用户的登录时间在 5 分钟内超过 10 秒。略有不同的是,最近 20 次登录平均花费了 10 多秒。另一种情况是一个进程在一小时内崩溃 4 次以上。或者请求队列超过 15 5 分钟。JMX Monitor 类对这种事情有用吗?

4

1 回答 1

1

在我看来,monitor mbean 类并不是特别有用,虽然您可以对它们进行足够的调整以满足您的需求,但听起来您有一些不同的需求。我建议你看看像Esper这样的流式事件引擎。基本上,您会将常规读数注入引擎,如果您定义的条件发生,您将获得一个回调,该回调可以轻松转换为 JMX 通知。

Esper 引擎非常高效,完全在调用者线程中运行(没有额外的线程),并且只保留它需要满足您注册以得到通知的条件的注入数据。

于 2011-04-05T10:13:47.583 回答