天天看點

Activemq的幾個指令行語句

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<code>#!/bin/bash</code>

<code>mqpid=`pgrep -f activemq.jar|</code><code>wc</code> <code>-l`</code>

<code>if</code> <code>[ $mqpid -</code><code>eq</code> <code>0 ]</code>

<code>then</code>

<code>   </code><code>echo</code> <code>"start ActiveMQ now..."</code>

<code>   </code><code>export</code> <code>JAVA_HOME=</code><code>/usr/jdk1</code><code>.7.0_79</code>

<code>   </code><code>export</code> <code>CLASSPATH=.:$JAVA_HOME</code><code>/lib/dt</code><code>.jar:$JAVA_HOME</code><code>/lib/tool</code><code>.jar</code>

<code>   </code><code>export</code> <code>PATH=$PATH:$JAVA_HOME</code><code>/bin</code>

<code>   </code><code>cd</code> <code>/“Activemq的目錄位址”</code><code>/bin</code>

<code>   </code><code>.</code><code>/activemq</code> <code>start</code>

<code>else</code>

<code>    </code><code>echo</code> <code>"ActiveMQ already started"</code>

<code>    </code><code>exit</code> <code>0</code>

<code>fi</code>

新的知識點!

以往我們獲得程序的pid号用的語句是“ps -ef | grep 某程序名 | grep -v 'grep ' | awk '{print $2}'”,更加簡便的方法就是“pgrep -f 某程序名”。

以這個storm為例:

<a href="http://s2.51cto.com/wyfs02/M01/8A/A6/wKiom1g2Y2KD9DSlAAAtzFHLmv4531.png" target="_blank"></a>

把别人二百個字母的事用自己二十個字母說出來,也是一種功力。

ActiveMQ當然也提供了指令行監控的方式。執行${ACTIVEMQ_HOME}/bin/activemq,會列出指令行的使用幫助。請注意雖然Windows平台也可以使用這個指令行,但是僅僅限于啟動ActiveMQ執行個體,其他指令都不能很好的支援,是以這裡所說的指令行方式,都是在Linux平台上的。

限于篇幅,這裡隻是截取了重要的部分。可以看到指令行提供了16個指令,包括start,stop,restart,console等啟動停止執行個體相關的指令。還有一些控制ActiveMQ Broker的指令,如create,purge等。這裡主要介紹幾個監控可能用得到的指令

activemq status,顯示目前的ActiveMQ是否運作正常,并且能顯示pid。

activemq list,列出目前Broker名字。

activemq bstat,顯示目前Broker的統計資訊。

activemq query,根據篩選條件顯示Broker的統計資訊。如:activemq query -QQueue=string_queue,是隻顯示string_queue這個隊列的統計資訊。更多使用方法可以使用activemq query --help顯示幫助。

activemq browse,可以查詢目前Broker為被消費的消息,會顯示消息的詳細資訊,如消息頭,消息内容,優先級等。類似于資料庫的查詢功能。有自己的一套查詢文法但是不是很複雜,同樣可以使用activemq browse --help顯示幫助。需要注意的是,隻有Queue才可以查詢,Topic是不可以的,是以這個功能雖然強大,但是有點雞肋。

activemq dstat,比較有用的一個功能,可以用來查詢隊列的關鍵數值,如隊列大小,生産者消費者數量,消息出隊入隊統計等。還可以支援通過類别查詢,如隻查詢隊列或者隻查詢主題。

個人認為,activemq status和activemq dstat是比較常用的兩個監控指令,可以使用shell,然後grep/awk解析。指令行雖然友善,但是明顯缺失必要的資訊,如硬體使用百分比,訂閱者下線資訊等。至少目前不能完成監控的全部工作,希望以後可以持續完善功能。

 本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1876086