簡體   English   中英

如何在activemq中為隊列設置監控

[英]How to set up Monitoring for queue in activemq

我在 ActiveMQ 頁面中閱讀,使用 JMX 我們可以監控 activemq 中的隊列。 如果隊列有消息(深度高)或 ActiveMQ 中的服務間隔高,我們如何得到通知。 在 unix 環境中不使用任何 shell 腳本。 可以通過Java程序嗎? 如果是,請給我一些想法來完成這項工作。

對於無 JMX 的方法,您還可以使用 activemq 控制台頁面提供的 XML 提要。 XML 提要托管在http://ip:port/admin/xml/queues.jsp

對於每個隊列,這將具有與此類似的標記:

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

只需在您的代碼中解析此 XML,您就可以開始了。

您可以通過JMX API 使用 Java 定期輪詢隊列統計信息(請參閱本指南

對於通知方法,您需要使用咨詢消息來監視傳遞到隊列的消息(請參閱 本指南

是的,在 Java 中是可能的。

從 ActiveMQ jolokia 代理的 5.8 版開始嵌入。 因此,您可以使用 HTTP 請求獲取 JMX 可以提取的所有統計信息,這會將您的統計信息返回為 JSON,然后您可以檢查當前值並在值超出您決定的閾值時使用 SMTP 發出電子郵件警報。

假設您想使用 Jolokia 在瀏覽器中點擊以下 URL 來提取 Broker 統計信息,輸入 AMQ 控制台用戶名和密碼,默認為 admin http://servername.com:8161/api/jolokia/read/org.apache.activemq:type =經紀人,經紀人名稱=本地主機

或者,如果您不想經歷所有這些麻煩,您可以使用我創建的現成 Python 腳本來監控 AMQ 堆、隊列參數和代理可用性。您可以看一看,它可能會幫助您開發自定義腳本或程序

AMQMonitor 和警報腳本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM