ActiveMQ使用hawtio进行监控

     ActiveMQ自带的管理界面的功能十分简单,只能查看ActiveMQ当前的Queue和Topics等简单信息,不能监控ActiveMQ自身运行的JMX信息等。HawtIO 是一个新的可插入式 HTML5 面板,设计用来监控 ActiveMQ, Camel, Karaf, Fuse Fabric, Tomcat 和其他系统。ActiveMQ在5.9.0版本曾将hawtio嵌入自身的管理界面,但是由于对hawtio的引入产生了争议,在5.9.1版本中又将其移除,但是开发者可以通过配置,使用hawtio对ActiveMQ进行监控。本文介绍了通过两种配置方式,使用hawtio对ActiveMQ进行监控。

  1.  使用hawtio 应用程序对ActiveMQ进行监控

      从http://hawt.io/getstarted/index.html下载最新版本的hawtio的最新运行jar包hawtio-app-1.4.66.jar 下载好后,切换到jar包所在目录 执行    

java -jar hawtio-app-1.4.66.jar

     启动hawtio程序,默认程序占用端口号为8080,如果8080端口已经被占用,请使用port启动参数,指定启动端口号,例如,我们使用8090作为启动端口号,启动hawtio程序

java -jar hawtio-app-1.4.66.jar -–port 8090

当浏览器出现hawtio的欢迎页面(http://[hawtio所在主机ip]:[hawtio启动端口号)/hawtio/welcome)后,表示hawtio程序启动成功,我们可以使用它连接远程ActiveMQ服务器

165907_b0W0_237688.png

在欢迎界面中点击上侧菜单条中的[Connect]菜单,打开Connect界面,在这个页面我们可以配置和连接我们想要连接的ActiveMQ服务器。

170425_Tl5y_237688.png

我们点击右侧的蓝色[+]按钮,新增一个ActiveMQ连接,我们在文本框中填入我们连接需要的参数:

  • 项目连接名称(用于保存连接使用)
  • ActiveMQ主机ip(或主机名)

  • ActiveMQ端口号(即ActiveMQ的jetty.xml文件中配置的管理页面端口号)

  • jolokia路径名(对ActiveMQ,使用api/jolokia)

配置完成后,可以点击[Save]按钮进行保存,下次启动hawtio时即可以从下拉列表中选择保存的连接进行连接。

点击[Connect to remote server],连接远端的ActiveMQ服务器,连接服务器时会要求你输入连接用户名和密码(即ActiveMQ的管理页面登录用户名/密码),输入完成,验证通过后,即连接ActiveMQ服务器成功。

170551_iXwQ_237688.png

点击顶部的[ActiveMQ]菜单,可以查看连接的ActiveMQ自身所带的Queue,Topic,以及Queue和Topic所包含的信息,包括连接Queue和Topic的Consumer和Producer信息。

170746_orwS_237688.png

点击顶部的[DashBoard]菜单,可以查看连接的ActiveMQ的系统信息,包括CPU,内存使用信息等。

170831_nDvN_237688.png

点击顶部的[JMX]菜单,可以查看ActiveMQ的JMX信息

170933_LRsA_237688.png

点击顶部的[Logs]菜单,可以查看ActiveMQ的运行日志信息(即data目录下的activemq.log信息),还可以简单对日志信息进行筛选

171028_zDUi_237688.png

点击顶部的[Threads]菜单,可以查看ActiveMQ服务器内部的线程信息情况

171118_0LmS_237688.png

当使用hawtio单程序时,可以对多个远程ActiveMQ服务器进行监控。

 2. 集成hawtio到ActiveMQ中进行监控。

http://hawt.io/getstarted/index.html页面下载hawtio-offline-default.war

171309_mUI7_237688.png

下载好后拷贝到ActiveMQ安装目录的webapps目录下,改名为hawtio.war,解压到hawtio目录(也可以不用解压,后面的配置修改会略有不同)

编辑ActiveMQ安装目录下conf/jetty.xml文件,在第75行添加以下代码

<bean class="org.eclipse.jetty.webapp.WebAppContext">        
        <property name="contextPath" value="/hawtio" />        
        <property name="war" value="${activemq.home}/webapps/hawtio" />        
        <property name="logUrlOnStart" value="true" />  
</bean>

如果前面没有解压hawtio.war文件,那war属性的值应该改为webapps/hawtio.war

接下来根据ActiveMQ所在操作系统的不同,修改不同文件。 如果是Linux或者Mac系统,修改ActiveMQ安装目录下bin/env脚本文件,修改如下:

 if [ -z "$ACTIVEMQ_OPTS" ] ; then
    ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Dhawtio.realm=activemq -Dhawtio.role=admins -Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config"
fi

如果是windows系统,修改bin/activemq.bat文件

if "%ACTIVEMQ_OPTS%" == "" set ACTIVEMQ_OPTS=-Xms1G -Xmx1G -Dhawtio.realm=activemq -Dhawtio.role=admins -Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config="%ACTIVEMQ_CONF%\login.config" 

需要注意的是-Dhawtio的三个设定必须放在ACTIVEMQ_OPTS设置的最前面(在内存参数设置之后),否则会出现验证无法通过的错误(另外,ACTIVEMQ_OPTS的设置语句不要回车换行)

修改完成后启动ActiveMQ(在Windows环境下启动请使用命令行activemq start启动,不要双击win64目录下的activemq.bat文件,否则在activemq.bat文件中的添加的hawtio参数设置将不会生效),我们可以看到hawtio webapp被加载

172542_TdXB_237688.png

访问http://localhost:8161/hawtio(根据ActiveMQ的机器IP和jetty.xml中设置的admin页面端口号会有差异),进入hawtio console页面。

172053_2y3u_237688.png

输入admin账号和密码(和ActiveMQ管理页面一致),进入hawtio页面。

172736_HSlk_237688.png

点击[ActiveMQ]菜单,进入ActiveMQ监控页面,和单独运行hawtio连接ActiveMQ服务器的界面相同。

172810_wI9i_237688.png

hawtio集成到ActiveMQ中监控方式在CentOS 7和Windows 7 64bit系统上均验证通过,

使用ActiveMQ版本为ActiveMQ 5.14.1

在hawtio界面中,还可以直接调用ActiveMQ提供的Jolokia REST接口方法。

如下图所示

113458_CNc9_237688.png

 

我们选中其中一个队列,点击[Operations]菜单,就可以对这个队列执行指定的Restful接口方法。

例如我们选中图中的TestQueue1队列,点击browse()方法

113620_wLIc_237688.png

出现了如图所示的jolokia rest接口调用,点击[Execute]按钮,即可得到结果。

113750_rJog_237688.png

和我们远程执行activemq-admin browse方法的效果一样,而且获得的消息格式还是json形式的,

便于进行消息筛选。

如果想对队列中的消息进行条件查询,我们可以参照activemq-admin命令中

 --msgsel <msgsel1,msglsel2,....>

的参数形式,在browse(java.lang.String)方法调用中填写多个selector条件(如下图所示)

114358_LS3y_237688.png

 

jolokia提供的rest接口方法还有很多,大家可以根据方法的介绍了解如何使用。

本文参考文档

ActiveMQ第三方Web Console hawtio的使用

Running Apache ActiveMQ and hawtio in Standalone Mode(需翻墙访问)

 

 

 

转载于:https://my.oschina.net/u/237688/blog/778977

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值