系统:Centos6.5 64位java
zabbix:3.0.4linux
jdk:jdk1.7.0_80tomcat
java工具备不少,关于jvm监控的工具主要有以下几个:bash
+ jstatjvm
+ jmaptcp
+ jstackide
jmap最主要的危险操做是下面这三种: 工具
1. jmap -dump spa
这个命令执行,JVM会将整个heap的信息dump写入到一个文件,heap若是比较大的话,就会致使这个过程比较耗时,而且执行的过程当中为了保证dump的信息是可靠的,因此会暂停应用。.net
2. jmap -permstat
这个命令执行,JVM会去统计perm区的情况,这整个过程也会比较的耗时,而且一样也会暂停应用。
3. jmap -histo:live
这个命令执行,JVM会先触发gc,而后再统计信息。
上面的这三个操做都将对应用的执行产生影响,因此建议若是不是颇有必要的话,不要去执行。
因此,从上面三点来看,jmap命令对jvm状态影响仍是比较大的,并且执行jmap --heap的时间也比较长,效率较低,予以排除。
jstack:用的最多的是程序死了,jstack pid > file。
若是java程序崩溃生成core文件,jstack工具能够用来得到core文件的Java stack和native stack的信息,从而能够轻松地知道java程序是如何崩溃和在程序何处发生问题。
这块脚本选择了jstat写脚本抓取一些常见的,可能并不全,若是参考着须要什么本身在脚本里面继续完善。
zabbix_agentd.conf的有效配置行以下:
[root@iZuf62db4rp7b8b3cxq82fZ ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v '^#' | grep -v '^$' LogFile=/tmp/zabbix_agentd.log EnableRemoteCommands=1 Server=10.18.3.193 ListenPort=10050 ServerActive=10.18.3.193 Hostname=10.18.1.68 AllowRoot=0 User=ody Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf UnsafeUserParameters=1 UserParameter=tomcat_port,/usr/local/zabbix/share/zabbix/alertscripts/tomcat_port.sh $1 UserParameter=tcp[*],/usr/local/zabbix/share/zabbix/alertscripts/tcp_connection.sh $1 #主要添加下面一行 UserParameter=jvm[*],/usr/local/zabbix/share/zabbix/alertscripts/tomcat_jvm.sh $1 UserParameter=mem_status[*],/usr/local/zabbix/share/zabbix/alertscripts/memory_status.sh $1
将脚本scp或者其余手段到远程agent端脚本目录,这边zabbix安装在/usr/local/zabbix,脚本目录:/usr/local/zabbix/share/zabbix/alertscripts/
重启zabbix agentd服务:
/etc/init.d/zabbix_agentd restart
tomcat_jvm脚本以下:
#!/bin/bash source /etc/profile jps=`which jps` jstat=`which jstat` function yNGCMN { ${jstat} -gccapacity `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $1/1024/1024}' } function yNGCMX { ${jstat} ${jstat} -gccapacity `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $2/1024/1024}' } function yNGC { ${jstat} -gccapacity `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $3/1024/1024}' } function yEC { ${jstat} -gcnew `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $8/1024/1024}' } function yEU { ${jstat} -gcnew `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $9/1024/1024}' } function yEden { ${jstat} -gcnewcapacity `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $8/1024/1024}' } function ooc { ${jstat} -gcold `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $3/1024/1024}' } function oou { ${jstat} -gcold `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $4/1024/1024}' } function oogc { ${jstat} -gccapacity `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $9/1024/1024}' } function ogct { ${jstat} -gcutil `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $10}' } function TT { ${jstat} -gcnew `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $5}' } function MTT { ${jstat} -gcnew `${jps} | grep Bootstrap | awk '{print $1}'`|tail -1|awk '{print $6}' } $1
登陆zabbix添加自定义模板操做:
一、自定义版本:
二、添加应用集:
三、添加监控项:
四、这块主要添加以下几项:
五、添加图形:
六、查看最新数据,是否获取到:
七、查看图形监控:
参考博客:
http://www.linuxidc.com/Linux/2012-05/59532.htm
http://xianglinhu.blog.51cto.com/5787032/1757930
http://blog.csdn.net/truelove12358/article/details/49491335