#!/bin/bash/
vpn_monitor()
{
timing=`date +%F" "%T`
########## These are for tomcat!
tomcat_pid=`ps aux| grep java |grep tomcat|awk {'print $2'}`
top n2 -p $tomcat_pid|grep tomcat|grep java >/tmp/numeric_tomcat
tomcat_cpu_twice=`awk '{a+=$9}END{print a}'/tmp/numeric_tomcat`
tomcat_mem_twice=`awk '{a+=$10}END{print a}'/tmp/numeric_tomcat`
if [ ! $tomcat_pid ]; then
echo "Tomcat is not in use !"
else
tomcat_cpu=`echo "scale=1;$tomcat_cpu_twice/2"|bc`
tomcat_mem=`echo "scale=1;$tomcat_mem_twice/2"|bc`
fi
########## These are for system!
mpstat -P ALL|grep -v all|grep -v CPU|grep -v ^$ >/tmp/mpstatcpu
sys_cpu_idle=`awk '{a+=$10}END{print a}' /tmp/mpstatcpu`
sys_cpu_number=`wc -l /tmp/mpstatcpu |awk '{print $1}'`
sys_cpu_decimal=`echo"scale=1;$sys_cpu_number*100-$sys_cpu_idle"|bc`
sys_cpu=`echo "scale=1;$sys_cpu_decimal/1"|bc`
free|grep Mem > /tmp/freemem
total_mem=`awk '{print $2}' /tmp/freemem`
used_mem=`awk '{print $3}' /tmp/freemem`
sys_mem=`echo"scale=1;$used_mem*100/$total_mem"|bc`
########## These are for PermGen!
perm_use=`curl -s http://localhost:8080/jmx-gw/java.lang:type=MemoryPool,name=PS%20Perm%20Gen/attributes/Usage`
}
rm -rf /tmp/numeric_tomcat /tmp/mpstatcpu /tmp/freemem
echo ' "DATE", "Tomcat_CPU(%)","Tomcat_MEM(%)","System_CPU(%)","System_MEM(%)" PermGen'
for ((; ;))
do vpn_monitor
echo "$timing, $tomcat_cpu, $tomcat_mem, $sys_cpu, $sys_mem, $perm_use"
sleep 10
done