關於zabbix經過jmx監控tomcat的問題

關於zabbix如何經過jmx監控tomcat等java程序我在前面的博客中已經寫過了,有興趣的能夠戳一下這個連接:我是連接,快戳我java

    最近在新公司部署zabbix監控的時候在壓測環境部署監控沒有問題,而後使用相同的方法部署在線上環境中以後發現模版中有一部分參數沒法被獲取,因而開始各類找問題。最後在tomcat的配置文件中發現線上環境的tomcat配置參數比測試環境的配置參數多了八個參數,線上環境部分配置參數以下:tomcat

1
export  JAVA_OPTS= "-Xms2048m -Xmx4096M -Xmn512m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:+DisableExplicitGC -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12353 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=x.x.x.x"

其中部分參數和壓測環境不同,不同的參數以下:bash

1
-XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:+DisableExplicitGC

因而,一個一個排查參數,最後,發現是-XX:+UseConcMarkSweepGC這個參數影響zabbix經過jmx獲取關於內存回收機制的某些值,致使模版中的某些值沒法獲取。刪除這個參數以後就能夠正常獲取tomcat的各項監控參數了。ide

因而在諮詢了同過後發現該參數是對java的內存回收機制的優化的參數,在線上環境暫時不要刪除,因而某些監控項目沒法實現,可是通過將近一天的排查,終於發現tomcat配置中的這個坑了,但願各位同道們之後在碰到相似的狀況的時候能夠參考借鑑個人此次經歷檢查是不是該參數搞的鬼,哈哈,找到問題了,在這分享給各位同道們參考哈。測試

本文出自 「檸檬」 博客,請務必保留此出處http://xianglinhu.blog.51cto.com/5787032/1710471優化

相關文章
相關標籤/搜索