ActiveMQ实战(一)——安装和监控
最近在项目中需要在两个系统之间异步传递信息。我们选择了ActiveMQ。
关于ActiveMQ的介绍,在这里就不赘述了,具体可以参考官网英文文档。
闲话不多说,先下载activemq的安装包,URL如下:
http://activemq.apache.org/activemq-541-release.html
我下载的时候,最新版本是5.4.1;后面的讨论都是基于这个版本。
解压的指定目录,例如我在本地解压到D:\activemq中
设置环境变量:
ACTIVEMQ_HOME=D:\activemq
ACTIVEMQ_BASE=D:\activemq
启动ActiveMQ,打开windows下的命令行,输入
>cd /d D:\activemq
>bin\activemq
从启动时输出的日志,可以看到启动的ActiveMQ消息代理器实例监控的端口和访问基于web形式的控制台的URL。可以访问这个URL,来实时监控ActiveMQ上的消息接收和发送情况
从上面的图中可以看出,基于web形式的控制台只能监控消息的接收和发送情况,并不能看到当前Broker实例
运行的情况(不能实时监控到当前broker实例对CPU、内存的使用情况,以及线程数)
ActiveMQ提供了JMX的支持,我们可以通过获取特定MBeans的信息来监控。
运行jconsole
jconsole就在%JAVA_HOME%\bin\jconsole.exe
如果你有将%JAVA_HOME%\bin加入到PATH环境变量中的,直接输入命令即可:
>jconsole
界面如下:
根据实际要检测的Broker进行选择连接
1. 监控本地Broker的话,就选择"run.jar start"进程。具体可以查看activemq.bat脚本文件
2. 监控远程Broker的话,输出连接的URI,例如service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
连接上后,就可以看到运行activemq的虚拟机的整体参数了。cpu的使用情况,内存的使用,线程数,加载的类的数量。
选择Mbean选项卡,可以看到当前Broker的一些可监控和管理的属性,选择菜单树中的操作,便可在右边的操作面板中对当前的MBean进行特定的操作了。
有关jconsole是使用可以参考:
Using jconsole
如何利用 JConsole观察分析Java程序的运行,进行排错调优