2011-11-11 19 views
9

私はactiveMQのページを読み、JMXを使ってactivemqのキューを監視できます。 ActiveMQでキューにメッセージ(深度が高い)またはサービス間隔が高いかどうかを通知するにはどうすればよいですか。 UNIX環境でシェルスクリプトを使用しないでください。 Javaプログラムで可能ですか?はいの場合は、これを行うために私にいくつかのアイデアを与えてください。設定方法activemqのキューの監視

答えて

10

JMXを使用しないアプローチの場合は、activemqコンソールページによって提供されるXMLフィードを使用することもできます。

<queue name="your queue"> 
<stats size="0" consumerCount="1" enqueueCount="0" dequeueCount="0"/> 
.... 
</queue> 

はちょうどあなたのコード内でこのXMLを解析し、あなたが行ってもいいです:XMLフィードは、キューごとに次のようなタグを持つことになりますhttp://ip:port/admin/xml/queues.jsp

これでホストされています。

6

あなたは、あなたがキューに配信されるメッセージを監視するためにadvisory messagesを使用する必要があるだろう、定期的にキュー統計(this guideを参照)通知アプローチの

をポーリングするJMXのAPI経由でJavaを使用することができます

this guideを参照してください)
+0

おかげでbodayプログラムを開発する際に役立つことがあり.. 。 – Vignesh

0

はい、Javaで可能です。

ActiveMQ jolokiaエージェントの新しいバージョンが組み込まれています。したがって、JMXがHTTPリクエストを使用して取得できるすべての統計情報を取得することができます。これにより、JSONとして統計情報を取得し、現在の値を確認し、値がしきい値を超えた場合にSMTPを使用してE-

あなたはJolokiaは、デフォルトではadminですAMQコンソールのユーザー名とパスワードを入力し、ブラウザでURLの下に打つ使用してブローカーの統計を引くしたいとしましょう http://servername.com:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost

それとも、このすべてのトラブルを通過したくない場合は、あなた私は見てみることができAMQヒープ、キューのparamsやブローカーavailability.Youを監視するために作成した既製のPythonスクリプトを使用することができ、それはあなたのcustiomスクリプトまたは

AMQMonitor and Alerting script

関連する問題