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(数据类型选择浮点数)

  

 

 七:展现

  

相关文章
相关标签/搜索