2

アプリケーションとシステムのメトリックを監視するために JMX を検討してきました (部分的には、JConsole などのさまざまなツールから MBean にアクセスできるためです)。JMX に含まれるクラスは、メトリックがしきい値を超えたときの通知などに役立つようです。しかし、指定された期間にわたってこれらを測定したい方法にそれらが適合するかどうかはわかりません。

たとえば、平均 CPU 負荷が 95% を 5 分以上超えたときに管理者に通知したいとします。それはGaugeMonitorでできることですか?ドキュメントからは、これにはあまり適していないようです。代わりに、必要なロジックを使用して独自の MBean を作成する必要があるかどうか疑問に思っています。

より適切な例は、ユーザーのログイン時間が 5 分間で 10 秒を超えた場合です。わずかに異なるのは、最後の 20 回のログインに平均で 10 秒以上かかったということです。別のケースとして、プロセスが 1 時間に 4 回以上クラッシュする場合があります。または、リクエスト キューが 5 分間で 15 を超えています。JMX Monitor クラスはこの種のことに役立ちますか?

4

1 に答える 1

1

私の意見では、モニター mbean クラスは特に有用ではありません。必要に応じて微調整することはできるかもしれませんが、さまざまな要件があるように思えます。ストリーミング イベント エンジンであるEsperなどを検討することをお勧めします。基本的に、定期的な読み取り値をエンジンに挿入し、定義した条件が発生した場合、JMX 通知に簡単に変換できるコールバックを取得します。

Esper エンジンは非常に効率的で、完全に呼び出し側スレッドで実行され (余分なスレッドはありません)、通知を受けるために登録した条件を満たすために必要な注入データのみを保持します。

于 2011-04-05T10:13:47.583 に答える