2011-11-11 13 views
9

Czytam na stronie ActiveMQ, używając JMX możemy monitorować kolejki w activemq. W jaki sposób możemy otrzymać powiadomienie, jeśli kolejka ma komunikaty (wysoka głębokość) lub interwał usługi jest wysoki w ActiveMQ. Bez użycia skryptów powłoki w środowisku uniksowym. Czy to możliwe dzięki programowi Java? Jeśli tak, daj mi kilka pomysłów, aby to zrobić.Jak skonfigurować monitorowanie dla kolejki w activemq

Odpowiedz

10

Do podejścia wolnego od JMX można również użyć kanału XML obsługiwanego przez stronę konsoli activemq. Pasza XML jest obsługiwany w http://ip:port/admin/xml/queues.jsp

będzie to miało tagów podobny do tego dla każdej kolejki:

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

Wystarczy przeanalizować ten XML w kodzie i jesteś dobry, aby przejść.

6

można użyć API Javy poprzez JMX okresowo sondować dla statystyk kolejki (patrz this guide)

dla podejścia powiadomień, trzeba by użyć advisory messages monitorować wiadomości dostarczane do kolejki (patrz this guide)

+0

Dzięki boday .. . – Vignesh

0

Tak, jest to możliwe w Javie.

W nowszej wersji agent jolokia ActiveMQ jest osadzony. Możesz więc uzyskać wszystkie statystyki, które JMX może pobierać za pomocą żądania HTTP, które będą ponownie statystykami jako JSON, a następnie możesz sprawdzić aktualne wartości i podnieść alarm e-mailowy za pomocą SMTP, jeśli wartości przekroczą ustalony próg.

Powiedzmy, że chcesz ciągnąć statystyk Broker za pomocą Jolokia hit poniżej adresu URL w przeglądarce wpisać AMQ użytkownika konsoli i hasło, które jest administratorem domyślnie http://servername.com:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost

Albo, jeśli nie chcesz, aby przejść przez wszystkie kłopoty, Ty można użyć gotowego skryptu Pythona, który stworzyłem monitor AMQ stos, kolejka params i Broker availability.You można spojrzeć, to może pomóc w opracowaniu skryptu custiom lub program

AMQMonitor and Alerting script