[英]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,您就可以開始了。
是的,在 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 堆、隊列參數和代理可用性。您可以看一看,它可能會幫助您開發自定義腳本或程序
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.