监控原理:
ActiveMQ做为依赖java环境的中间件,一样能够像tomcat同样用JMX(java扩展程序)监控。而且与tomcat不一样的是,ActiveMQ自带了JMX,只需在配置文件中开启便可,在配置好JMX以后,能够经过Jconsole(监控java环境的工具)监控ActiveMQ
环境:centos 6.8 、java 1.7.0_21
部署:
一、下载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
二、配置./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>
三、配置./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"
四、开启pache-activemq
顺利的话11099端口应该开启(若不开启或程序没法开启请找缘由),用jconsole(windows下安装jdk后在java目录下)链接IP:11099(用户名:admin,密码:activemq,这个在jmx.password和jmx.access里 修改),若可以正常链接,则进行下一步
若是不能链接,killall -9 java pkill -9 activemq屡次杀死进程后开启activemq后从新链接
五、添加模板
无法上传文件。。。
将该模板导入到zabbix中做为父模板,克隆一个新模板并修改宏
并修改JMX接口
此时JMX图标应该变绿,而且新模板的监控项会收集到数据
FAQ:
一、activemq启动不了有大概几个缘由:内存不够,可经过./activemq startls确认;时间不一样步,可service ntpdate start开启时间同步;jmx.access和jmx.password文件当前用户不是400权限,这个未经确认;
二、若jconsole链接jmx时链接正常(报错忘了是什么),多是zabbix-java-gateway版本太低,升级到zabbix-java-gateway-3.4.1试试。