监控方式
通过jdk自带的工具jstat进行监控;
jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
取数据脚本
jstat -gc $(ps -ef|grep tomcat|grep -v grep|awk '{print $2}')|awk 'NR == 2 {print $5}'
结果
jstat -gc $(ps -ef|grep tomcat|grep -v grep|awk '{print $2}')|awk 'NR == 2 {print $5}'
取具体数据:第2行第5列的数据
监控配置
通过ssh方式配置相应监控项,这里就不具体描述
注意:zabbix本身不能执行jstat命令,所以需要再脚本前面增加环境变量,与系统中配置的一样就可以。
export JAVA_HOME=/usr/java/jdk1.7.0_25
export JAVA_BIN=/usr/java/jdk1.7.0_25/bin
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin:$TNS_ADMIN:$LD_LIBRARY_PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
jstat -gc $(ps -ef|grep tomcat|grep -v grep|awk '{print $2}')|awk 'NR == 2 {print $8}'
只增加jdk的环境变量就可以,上面的也包括oracle