監控原理: 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中作為父模板,克隆一個新模板並修改巨集 並修改JMX介面 此時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試試。