`
lancefox
  • 浏览: 64030 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jconsole 通过网络监控 ActiveMQ

 
阅读更多

直接下载最新版ActiveMQ

 

1、 ${ACTIVEMQ_HOME}/conf/activemq.xml 中的 broker 节点增加  useJmx="true" 属性

 

2、 ${ACTIVEMQ_HOME}/conf/activemq.xml 中的 managementContext 节点修改成如下样子

 

<managementContext>

  <managementContext createConnector="true" connectorPort="11099" />

</managementContext>  

 

3、 ${ACTIVEMQ_HOME}/bin/activemq (linux环境) 中,找到 SUNJMX 的配置区域,不同版本会有不同的配置方法

      我在5.5这个版本下找到 ACTIVEMQ_SUNJMX_START 变量来对 SUNJMX 进行配置,默认是注释的,不需要做任何 修改,直接增加如下语句即可:

 

 

ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Djava.rmi.server.hostname=自己的IP"


 

注:如果只改第 1、2 步,也可以用 jconsole 通过 11099 端口监控运行状态,但是只能在本机进行监控。

 

 

至此,通过 activemq start 命令启动服务后,就可以通过网络对 本机IP的11099端口进行 JMX 监控了,

不过说实在的,用jconsole或者 jvisualvm 也监控不出什么实质性的东西,主要还得用 activemq 自己提供的监控

API来检查服务器运行状态,这个比较靠谱。

 

比如如下代码:

 

RemoteJMXBrokerFacade createConnector = new RemoteJMXBrokerFacade();  

System.setProperty("webconsole.jmx.url","service:jmx:rmi:///jndi/rmi://192.168.137.2:11099/jmxrmi");

System.setProperty("webconsole.jmx.user", "admin");  

System.setProperty("webconsole.jmx.password", "activemq"); 

SystemPropertiesConfiguration configuration = new SystemPropertiesConfiguration();  

createConnector.setConfiguration(configuration);

try {

BrokerViewMBean brokerAdmin = createConnector.getBrokerAdmin();

System.out.println("==========Connection =================");  

System.out.println("BrokerName =" + brokerAdmin.getBrokerName());  

System.out.println("TotalMessageCount =" + brokerAdmin.getTotalMessageCount());  

System.out.println("TotalConsumerCount =" + brokerAdmin.getTotalConsumerCount());  

System.out.println("TotalDequeueCount =" + brokerAdmin.getTotalDequeueCount());  

System.out.println("TotalEnqueueCount =" + brokerAdmin.getTotalEnqueueCount()); 

Collection<TopicViewMBean> topicViewList = createConnector.getTopics();  

for (TopicViewMBean topicViewMBean : topicViewList) {  

System.out.println("=============Topic =================");  

   System.out.println("beanName =" + topicViewMBean.getName());  

   System.out.println("ConsumerCount ="+ topicViewMBean.getConsumerCount());  

   System.out.println("DequeueCount ="+ topicViewMBean.getDequeueCount());  

   System.out.println("EnqueueCount ="+ topicViewMBean.getEnqueueCount());  

   System.out.println("DispatchCount ="+ topicViewMBean.getDispatchCount());  

   System.out.println("ExpiredCount ="+ topicViewMBean.getExpiredCount());  

   System.out.println("MaxEnqueueTime ="+ topicViewMBean.getMaxEnqueueTime());  

   System.out.println("ProducerCount ="+ topicViewMBean.getProducerCount());  

   System.out.println("MemoryPercentUsage ="+ topicViewMBean.getMemoryPercentUsage());  

   System.out.println("MemoryLimit =" + topicViewMBean.getMemoryLimit());  

}

} catch (Exception e) {

e.printStackTrace();

}

 

 

只演示一下API,更多的应用可以通过 API 文档得到解释。

分享到:
评论
2 楼 lancefox 2012-10-11  
Sartner 写道
多谢大神分享....


再就是
请问你是怎么找到这些的???

仔细看看apache的官方文档,耐心点,都能找到你想要的答案
1 楼 Sartner 2012-07-18  
多谢大神分享....


再就是
请问你是怎么找到这些的???

相关推荐

    activemq监控

    本资源主要涉及ActiveMQ的监控和日志管理,特别是如何利用监控功能进行系统维护,以及通过邮件和短信进行报警通知。 一、ActiveMQ监控 ActiveMQ提供了丰富的监控工具和接口,以确保系统的稳定性和性能。以下是一些...

    Windows版apache-activemq-5.7.0

    - 使用JMX(Java Management Extensions)工具,如jconsole或VisualVM,远程监控和诊断ActiveMQ服务器。 总的来说,Windows版Apache ActiveMQ 5.7.0是一个强大且灵活的消息中间件,适用于各种分布式和微服务架构。...

    windows下activemq-5.14.1

    - **JMX监控**:通过JMX工具如JConsole或VisualVM可以远程监控ActiveMQ的状态和性能。 8. **安全与最佳实践** - **安全配置**:为了防止未经授权的访问,应合理配置防火墙规则,限制对外接口的访问。 - **性能...

    apache-activemq-4.1.2

    - **监控工具**:内置的JMX支持,可以使用JConsole或其他工具监控服务器状态,如内存使用、消息速率等。 - **日志与调试**:ActiveMQ使用Log4j进行日志记录,可以根据需求调整日志级别以获取更多信息。 6. **性能...

    配置ActiveMQ 静态集群

    集群是指多个ActiveMQ实例协同工作,它们之间通过网络连接,共享队列和主题,确保消息的持久性和一致性。在静态集群中,每个节点都知道其他所有节点的存在,这样可以实现快速的故障切换。 2. **配置activemq.xml**...

    apache-activemq-5.15.12-bin.zip

    2. JMX工具:使用JMX工具如JConsole或VisualVM,可以远程监控ActiveMQ的运行状态,如内存、线程、MBeans等信息。 六、安全性设置 1. 用户认证:配置users.properties和groups.properties文件,定义用户和角色。 2. ...

    activeMQ JMS 3种创建方式

    1. 连接JMX:使用JConsole或JMX Console等工具连接到运行中的ActiveMQ服务器。 2. 查找MBean:在MBean浏览器中找到ActiveMQ相关的MBeans,如`org.apache.activemq:type=Broker,brokerName=localhost,destinationType...

    ActiveMQ和支撑jar

    7. **监控和管理**:通过JMX工具(如jconsole)或Web控制台(默认在`http://localhost:8161/admin`)监控和管理ActiveMQ实例。 总结来说,ActiveMQ 5.4.3是一个强大的消息中间件,`activemq-all-5.3.0.jar`提供了与...

    activemq安装包-apache-activemq-5.14.4-bin.tar.gz

    可以通过JConsole或其他JMX客户端工具连接到ActiveMQ,获取实时性能数据。 总的来说,Apache ActiveMQ 5.14.4提供了强大的消息传递能力,适用于各种分布式系统和微服务架构。理解并熟练配置和使用ActiveMQ对于提升...

    activeMQ-LINUX.zip

    8. **JMX监控**:ActiveMQ支持Java Management Extensions (JMX),可以使用JConsole或其他JMX客户端工具对ActiveMQ进行远程监控。 9. **性能优化**:根据实际负载调整ActiveMQ的性能参数,如并发连接数、线程池大小...

    apache-activemq-5.3.1-bin.tar.gz

    ActiveMQ可以通过JMX(Java Management Extensions)进行监控,可以集成到如JConsole这样的工具中。此外,日志文件可以帮助诊断和解决问题,通常位于`data/log`目录下。 总结来说,“apache-activemq-5.3.1-bin.tar...

    activemq linux

    此外,可以使用ActiveMQ提供的管理工具,如`bin/activemq`命令行工具,以及`jconsole`或`jvisualvm`等Java监控工具分析内存和线程状态。 11. **高可用性与灾难恢复**:在生产环境中,可能需要考虑高可用性(HA)和...

    ActiveMQ配置

    2. **JMX监控**: 通过JMX接口,可以远程监控和管理ActiveMQ,例如使用jconsole或VisualVM工具。 8. **日志与性能调优**: 配置日志框架(如Log4j)和调整参数,可以优化性能和问题排查。 以上就是ActiveMQ配置的...

    linux 下apache-activemq.zip

    9. **故障排查**:学习如何查看和分析ActiveMQ的日志,以及使用`jconsole`或`jvisualvm`等工具监控ActiveMQ的运行状态。 10. **安全性**:确保ActiveMQ的安全配置,如使用SSL/TLS加密连接,限制远程访问,以及定期...

    Apache ActiveMQ学习笔记【原创:mq的方式有两种:点到点和发布/订阅】

    如果使用 JConsole 进行监控,则需要连接到 `127.0.0.1:1099`。 #### 二、消息传递模式 ##### 2.1 点对点模型(Point-to-Point) 点对点模型是消息队列中最常见的模型之一。在这个模型中,生产者发送消息到队列,...

    activemq-gc-plugin:ActiveMQ GC 插件

    ActiveMQ GC 插件是专门为Apache ActiveMQ设计的一款性能监控工具,它能够帮助开发者和运维人员深入了解Java虚拟机(JVM)的垃圾收集(Garbage Collection, GC)行为,以优化消息中间件的性能。在Java应用程序中,...

    haha手册

    根据提供的文件信息,本文将对《haha手册》中关于ActiveMQ的相关知识点进行详细解析,内容涵盖ActiveMQ的基础介绍、组件、连接器、通配符、客户端与代理配置、网络结构等多个方面。 ### 1. ActiveMQ简介 #### 1.1 ...

    jms-1.1.jar+jmxtools-1.2.1.jar+jmxri-1.2.1.jar

    jmxri-1.2.1.jar文件包含了实现JMX远程协议的类和库,允许管理者通过网络访问和管理远程Java应用。它提供了RMI(Remote Method Invocation)的实现,使得管理者可以跨越网络调用远程服务器上的方法,从而控制和监控...

Global site tag (gtag.js) - Google Analytics