ActiveMQ提供了比较丰富的监控和管理工具。在ActiveMQ的网页里(http://activemq.apache.org/how-can-i-monitor-activemq.html)提到了很多ActiveMQ自带以及第三方的监控管理工具。

本文主要介绍ActiveMQ自带的管理工具webconsole,基于Jolokia的开源的管理工具http://hawt.io/,以及使用ActiveMQ的Advisory messages来自己编程监控ActiveMQ的状态。

WebConsole

要使用WebConsole,需要在ActiveMQ的配置文件里加入jetty.xml。

<import resource="file:${activemq.conf}/jetty.xml"/>

Jetty.xml配置了ActiveMQ里使用的Jetty web服务器。通过该配置文件,使能了WebConsole和ActiveMQ内置的基于Jolokia的REST API。

另外,还需要修改jetty-realm.properties里的登陆名和密码。

完成配置后,可以通过http://${Host}:8161/admin/来访问WebConsole。通过WebConsole可以知道ActiveMQ的一些主要信息,如Queues,Topics,等。详细功能可以参见:http://activemq.apache.org/web-console.html

Hawt.io

ActiveMQ提供了比较丰富的基于JMX的管理功能。使用,jconsole等JMX的管理工具可以通过JMX接口来管理ActiveMQ。但是,如果通过远程使用JMX,需要较多的配置工作。

开源的Jolokia项目,提供了通过REST API来访问JMX管理功能的能力。ActiveMQ内部已经集成了Jolokia类库,通过WebConsole相同的配置,可以使能基于Jolokia的REST API访问ActiveMQ。

Hawt.io是一个开源的使用Jolokia的第三方管理工具。该工具可以作为一个单独的jar文件执行,也可以作为一个war文件部署到Tomcat/Jetty等Servlet Container里。通过http://hawt.io/可以下载该工具。

使用Hawt.io,可以提供比WebConsole更丰富的管理功能。使用Hawt.io需要一些配置工作。

l  建立Hawt.io和ActiveMQ的连接时,port为8161,path为api/jolokia。(这些是ActiveMQ的缺省配置,可以在ActiveMQ的jetty.xml修改)

l  如果Hawt.io和ActiveMQ不在一台机器时,需要设置hawtio.proxyWhitelist这个JVM的system property来启动Hawt.io。如果是以jar文件运行Hawt.io,可以在启动的command line设置,如:

java -Dhawtio.proxyWhitelist=${Host},127.0.0.1,localhost -jar hawtio-app-1.5.7.jar

Advisory消息

ActiveMQ内部提供了一些管理的Topics,通过Advisory消息可以向这些Topics发送消息报告ActiveMQ内部的状态,例如Client Connection的建立,Queue的建立,Topics的建立等。ActiveMQ的网页(http://activemq.apache.org/advisory-message.html)提供了详细的Advisory消息的信息,包括Topics名字,Default使能的情况,以及PolicyEntry的配置名等。

ActiveMQ支持Client利用wildcasts来接收多个Channels的消息。所以可以自己编写程序,监听“ActiveMQ.Advisory.>.”,从而得到所有的Advisory的管理消息。

为了使用Advisory的消息,需要做一些配置。PolicyEntry的使能,需要根据管理的需要,部分使能下面的entry。

<broker advisorySupport="true">

<destinationPolicy>

<policyMap>

<policyEntries>

<policyEntry topic=">" advisoryForConsumed="true"/>

<policyEntry topic=">" advisoryWhenFull="true"/>

<policyEntry topic=">" advisoryForDelivery="true"/>

<policyEntry topic=">" advisoryForDiscardingMessages="true"/>

<policyEntry topic=">" sendAdvisoryIfNoConsumers="true"/>

<policyEntry topic=">" advisoryForSlowConsumers="true"/>

<policyEntry topic=">" advisdoryForFastProducers="true"/>

     </policyEntries>

</policyMap>

</destinationPolicy>

ActiveMQ笔记:管理和监控的更多相关文章

  1. ActiveMQ 的管理和监控

    本章重点 理解 JMX 和 ActiveMQ 使用告警消息来监控 ActiveMQ 管理 ActiveMQ ActiveMQ 的日志配置 额,这本书终于读完了,虽然看到后面都是云里雾里的,但是总算是对 ...

  2. ActiveMQ笔记(5):JMX监控

    系统上线运行后,及时监控报警是很必要的手段,对于ActiveMQ而言,主要监控的指标有:MQ本身的健康状况.每个队列的生产者数量.消费者数量.队列的当前消息数等. ActiveMQ支持JMX监控,使用 ...

  3. 《Apache kafka实战》读书笔记-管理Kafka集群安全之ACL篇

    <Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kaf ...

  4. Java系列笔记(4) - JVM监控与调优【转】

    Java系列笔记(4) - JVM监控与调优[转]   目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例     光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在 ...

  5. ActiveMQ笔记(7):如何清理无效的延时消息?

    ActiveMQ的延时消息是一个让人又爱又恨的功能,具体使用可参考上篇ActiveMQ笔记(6):消息延时投递,在很多需要消息延时投递的业务场景十分有用,但是也有一个缺陷,在一些大访问量的场景,如果瞬 ...

  6. 系统内存和CPU管理、监控

    本博文的主要内容有 .系统内存管理.监控:vmstat和free -mt .系统CPU管理.监控:sar -u.mpstat.uptime linux系统内存和CPU是在系统运行的过程中不断消耗的资源 ...

  7. Linux 基础 —— Linux 进程的管理与监控

    这篇文章主要讲 Linux 中进程的概念和进程的管理工具.原文:http://liaoph.com/inux-process-management/ 进程的概念 什么是进程 进程(Process)是计 ...

  8. Oracle数据库web维护管理及监控

    1.Oracle数据库客户端的种类及现状         目前Oracle数据库维护管理,通常是使用客户端软件:PL/SQL Developer,SQL* Plus,toad,em等进行数据的管理.维 ...

  9. 基于spring-boot和docker-java实现对docker容器的动态管理和监控[附完整源码下载]

    ​ (我是个封面) docker简介 Docker 是一个开源的应用容器引擎,和传统的虚拟机技术相比,Docker 容器性能开销极低,因此也广受开发者喜爱.随着基于docker的开发者越来越多,doc ...

  10. spring-boot-plus集成Spring Boot Admin管理和监控应用

    Spring Boot Admin Spring Boot Admin用来管理和监控Spring Boot应用程序 应用程序向我们的Spring Boot Admin Client注册(通过HTTP) ...

随机推荐

  1. eclipse中文乱码解决

    1. 改变整个文件类型的编码格式 1)  eclipse->window->preferences->General->Content Types    2)  找到要修改的文 ...

  2. 输入一批考生的的准考证号码,如果是 15 位,表示输入正确,否则重新输入。然后判断这个人的考试类别(号码中如果是以奇数结尾则考试类别为“A 类”,否则为“B 类”),最后输出此准考证的前 5 位和后 4 位,其他位用“*”来代替。说明:使用 StringBuffer 类的相关方法完成实验内容。

    因为是一批考生,所以先创建一个字符数组存放一组准考证号. 此外这个程序涉及到包装类与基本数据类型的互相转换. string的substring方法,返回一个字符串是该字符串的子串.从第一个参数开始,第 ...

  3. Mac端 Open GL初探

    一.环境配置 1.创建macOS工程 2.添加OpenGL.framework和GLUT.framework两个系统库 3.拖入资源文件 如果libGLTools.a问价先拖入到工程其他位置,后再移到 ...

  4. jQuery hide() 参数callback回调函数执行问题

    $("#b").click(function() { $("div").hide(1000,bbb); //-------------1 bbb是一个函数,但这 ...

  5. 简单利用Clover四叶草安装U盘安装黑苹果

    配置是I5-7600K+技嘉Z270X-UD3+GTX 1050+简单利用Clover四叶草安装U盘安装黑苹果 <ignore_js_op><ignore_js_op> 成功黑 ...

  6. 追溯了解Ubuntu(壹)

    1.关于Ubuntu 安装完成后界面展示 Ubuntu 是一个南非的民族观念,着眼于人们之间的忠诚和联系.该词来自于祖鲁语和科萨语.Ubuntu(发音"oo-BOON-too"-- ...

  7. 五、Delphi10.3通过REST单元使类和JSON数据互相转换

    一.我们定义一个简单的类 TPeople = class private FName: string; FScore: Integer; FAge: TDateTime; public propert ...

  8. helpera64开发板下制作ubuntu rootfs镜像

    下一篇路径:https://www.cnblogs.com/jizizh/p/10499448.html 环境: HelperA64开发板 Linux3.10内核 时间:2019.02.14 目标:定 ...

  9. 【转】mxGraph教程-开发入门指南

    原文:https://blog.csdn.net/sunhuaqiang1/article/details/51289580 mxGraph教程-开发入门指南 概述 mxGraph是一个JS绘图组件适 ...

  10. 双系统IOS\windows7 换成Windows10后果

    昨天将双系统IOS 和Windows7 换成了Windows10后 发现原来在IOS盘"E"盘下面的文件都不显示了,而且盘符都打不开,那叫一个着急啊,开发项目的代码全在那个盘符里面 ...