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. 1066. [SCOI2007]蜥蜴【最大流】

    Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃 到边界外. 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到 ...

  2. 【bzoj 4154】[Ipsc2015]Generating Synergy

    题目 大概已经掌握熟练码出\(kdt\)的技能了 发现距离子树根节点\(x\)不超过\(l\)的点可以用两种方式来限制,首先\(dfs\)序在\([dfn_x,dfn_x+sum_x)\)中,深度自然 ...

  3. Handlebars模板引擎

    介绍 Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板.它采用"Logic-less template"(无逻辑模 ...

  4. NYOJ 36 LCS(最长公共子序列)

    题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms  |  内存限制:65535 KB ...

  5. 参加360前端星计划总结(二)--HTML&CSS

    HTML学习手册(英文版)html:the living standard 重要知识点 文档声明的作用a. 指定html的文档标准和版本b. 告诉浏览器渲染模式,有怪异模式(较为古老的模式,不写文档声 ...

  6. MySQL的安装步骤

    MySQL5.6.43下载地址:链接: https://pan.baidu.com/s/1v0HZU_OnDClNxd5QIKDRMg 提取码: jy9s 1.解压mysql-5.6.43-winx6 ...

  7. 笔记2:MYSQL 表操作

    一.表约束 1.非空约束:not null 作用:定义表的某一列不能为空. >> alter table 表名 modify 列名 int not null; "添加非空约束&q ...

  8. 【commons】IO工具类——commons-io之IOUtils

    本文转载自xingoo: https://www.cnblogs.com/xing901022/p/5978989.html 一.常用静态变量 public static final char DIR ...

  9. 2017-2018-3 20155337《信息安全系统设计基础》 pwd指令学习

    2017-2018-3 20155337<信息安全系统设计基础> pwd指令学习 任务要求 学习pwd指令 研究pwd实现需要的系统调用(man -k:grep),写出伪代码 实现mypw ...

  10. pandas:apply和transform方法的性能比较

    1. apply与transform 首先讲一下apply() 与transform()的相同点与不同点 相同点: 都能针对dataframe完成特征的计算,并且常常与groupby()方法一起使用. ...