欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Zabbix JMX监控之ActiveMQ

程序员文章站 2022-09-26 17:55:55
监控原理: ActiveMQ作为依赖java环境的中间件,同样可以像tomcat一样用JMX(java扩展程序)监控。并且与tomcat不同的是,ActiveMQ自带了JMX,只需在配置文件中开启即可,在配置好JMX之后,可以通过Jconsole(监控java环境的工具)监控ActiveMQ 环境: ......
监控原理:
  ActiveMQ作为依赖java环境的中间件,同样可以像tomcat一样用JMX(java扩展程序)监控。并且与tomcat不同的是,ActiveMQ自带了JMX,只需在配置文件中开启即可,在配置好JMX之后,可以通过Jconsole(监控java环境的工具)监控ActiveMQ
 
环境:centos 6.8 、java 1.7.0_21
 
部署:
1、下载activemq
wget http://archive.apache.org/dist/activemq/5.11.1/apache-activemq-5.11.1-bin.tar.gz
进入/etc/hosts文件,将127.0.0.1改成本机外网IP,最终hostname -i的结果是本机外网IP
若非,jconsole连接的时候会报错Connection timed out
2、配置./apache-activemq-5.11.1/conf/activemq.xml
修改broken字段:
<broker useJmx="true" xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}"> 
修改broken字段内的managementContext节点:
<managementContext>  
            <managementContext createConnector="true" connectorPort="11099"/>  
</managementContext> 
3、配置./apache-activemq-5.11.1/bin/activemq
在脚本最后添加:
ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 "
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false"
4、开启pache-activemq
顺利的话11099端口应该开启(若不开启或程序无法开启请找原因),用jconsole(windows下安装jdk后在java目录下)连接IP:11099(用户名:admin,密码:activemq,这个在jmx.password和jmx.access里 修改),若能够正常连接,则进行下一步
如果不能连接,killall -9 java pkill -9 activemq多次杀死进程后开启activemq后重新连接
5、添加模板
没法上传文件。。。
将该模板导入到zabbix中作为父模板,克隆一个新模板并修改宏
Zabbix JMX监控之ActiveMQ
并修改JMX接口
Zabbix JMX监控之ActiveMQ
此时JMX图标应该变绿,并且新模板的监控项会收集到数据
 
FAQ:
1、activemq启动不了有大概几个原因:内存不够,可通过./activemq startls确认;时间不同步,可service ntpdate start开启时间同步;jmx.access和jmx.password文件当前用户不是400权限,这个未经确认;
2、若jconsole连接jmx时连接正常(报错忘了是什么),可能是zabbix-java-gateway版本过低,升级到zabbix-java-gateway-3.4.1试试。