zabbix監控大數據應用的JVM進程的GC信息

一,需求:大數據的機器,不少jvm進程,須要監控特定的幾個的進程的FGC,FGCT,YGC,YGCT,GCT。java

  • YGC:從應用程序啓動到採樣時年輕代中gc次數 
  • YGCT:從應用程序啓動到採樣時年輕代中gc所用時間(s) 
  • FGC:從應用程序啓動到採樣時old代(全gc)gc次數 
  • FGCT:從應用程序啓動到採樣時old代(全gc)gc所用時間(s) 
  • GCT:從應用程序啓動到採樣時gc用的總時間(s)

二,在服務器上能夠經過命令查看python

  jps命令能夠獲取到進程的ID,jstat -gc ID ,獲取gc的信息shell

  

 

三,編寫自定義腳本(不會shell,用Python加命令湊的,尷尬)服務器

cat jps1.py
#
!/usr/bin/env python import os,sys jps_info = os.popen("/usr/bin/sudo /usr/local/java/bin/jps | grep %s | awk '{print $1}'"% sys.argv[1]) jps_info = jps_info.read() jps_id = jps_info.strip() jstat = {'YGC':'$13','YGCT':'$14','FGC':'$15','FGCT':'$16','GCT':'$17'} info = jstat[sys.argv[2]] command = "/usr/bin/sudo /usr/local/java/bin/jstat -gc "+jps_id+" | awk '{print "+info+"}'| /usr/bin/tail -n 1" os.system(command)

 

四,編輯zabbix agent配置文件jvm

  添加:UserParameter=jstat[*], /usr/bin/python /etc/zabbix/scripts/jps1.py $1 $2測試

五,其它地方的調整大數據

  在本機測試腳本是正常的,可是在zabbix server上測試有幾個問題須要修改ui

  編輯 /etc/sudoers文件,添加一行:spa

  zabbix    ALL=(ALL)       NOPASSWD:ALL3d

  這一行須要註釋掉:#Defaults    requiretty  

六,建立item(數據類型選擇浮點數)

  

 

 七:展現

  

相關文章
相關標籤/搜索