ActiveMQ的几个命令行语句

#!/bin/bash
mqpid=`pgrep -f activemq.jar|wc -l`
if [ $mqpid -eq 0 ]
then
  echo "start ActiveMQ now..."
  export Java_HOME=/usr/jdk1.7.0_79
  export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
  export PATH=$PATH:$JAVA_HOME/bin
  cd /“Activemq的目录地址”/bin
  ./activemq start
else
    echo "ActiveMQ already started"
    exit 0
fi

新的知识点!

以往我们获得进程的pid号用的语句是“ps -ef | grep 某进程名 | grep -v 'grep ' | awk '{print $2}'”,更加简便的方法就是“pgrep -f 某进程名”。

以这个storm为例:

ActiveMQ的几个命令行语句

把别人二百个字母的事用自己二十个字母说出来,也是一种功力。

命令行监控:

ActiveMQ当然也提供了命令行监控的方式。执行${ACTIVEMQ_HOME}/bin/activemq,会列出命令行的使用帮助。请注意虽然Windows平台也可以使用这个命令行,但是仅仅限于启动ActiveMQ实例,其他命令都不能很好的支持,所以这里所说的命令行方式,都是在Linux平台上的。

ActiveMQ的几个命令行语句

限于篇幅,这里只是截取了重要的部分。可以看到命令行提供了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的几个命令行语句

个人认为,activemq status和activemq dstat是比较常用的两个监控命令,可以使用shell,然后grep/awk解析。命令行虽然方便,但是明显缺失必要的信息,如硬件使用百分比,订阅者下线信息等。至少目前不能完成监控的全部工作,希望以后可以持续完善功能。

推荐阅读:

Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析

Spring下ActiveMQ实战 

Java消息队列--ActiveMQ 实战

CentOS 6.5启动ActiveMQ报错解决

ActiveMQ部署步骤和后台管理网站Service Unavailable问题解决 

Linux环境下面ActiveMQ端口号设置和WEB端口号设置

ActiveMQ 的详细介绍请点这里
ActiveMQ 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/acb9f7bdb2d381110ac99d54bc7386f3.html