linux db 监控脚本

#!/bin/bash

########################################################################

#This scripts is checking your host system: the cpu ,i/o,mem,network,

#processes stat.

#  vision 1.0 Bate

#  Write by skate

#If you have some advise about it ,you can mail :810312zxg@163.com

########################################################################

cd /home/ilearn/log

#make the local language is chinese

#export LANG=zh_CN

removedate=`date +%d`

curdate=`date +%H`

logdir=/home/ilearn/log

logcpuuse=$logdir/cpuuse.log

logcpuload=$logdir/cpuload.log

logioload=$logdir/ioload.log

lognetworkload=$logdir/networkload.log

logsysprocess=$logdir/sysprocess.log

logmemuse=$logdir/memuse.log

lognetsession=$logdir/netsession.log

logilearnopmn=$logdir/ilearnopmn.log

oilpid=`opmnctl status -noheaders -fsep '%' -fmt pid%prt | grep oil | awk -F % '{print "lsof -p "  $1 "| wc -l"}' | sh`

################################

#统计cpu的使用率信息

################################

#判断文件是否存在

if [ -f $logcpuuse ]

then

#echo "logfile is exist !"

if [ "$curdate" == "23" ]

then

date +"%D %r" >>$logcpuuse

sar -u 2 1 |grep all |head -1 >> $logcpuuse

else

sar -u 2 1 |grep all |head -1 >> $logcpuuse

fi

else

#touch $logfile

date > $logcpuuse

sar -u 2 2 | grep CPU >> $logcpuuse

fi

###############################

#统计cpu的负载信息

###############################

if [ -f $logcpuload ]

then

#echo "logfile is exist !"

uptime  >> $logcpuload

else

#touch $logfile

date > $logcpuload

uptime >> $logcpuload

fi

##############################

#磁盘io的负载的信息

##############################

if [ -f $logioload ]

then

date +"%D %r" >> $logioload

iostat -xd 1 1 | sed -n '2,$p' >> $logioload

else

date +"%D %r" > $logioload

iostat -xd 1 1 | sed -n '2,$p' >> $logioload

fi

#################################

#统计网络负载的信息

################################

if [ -f $lognetworkload ]

then

date +"%D %r" >> $lognetworkload

sar -n DEV 1 3| grep eth0 >> $lognetworkload

else

date +"%D %r" > $lognetworkload

sar -n DEV 1 3|head -3 |tail -1 >> $lognetworkload

sar -n DEV 1 3| grep eth0 >> $lognetworkload

fi

 

 

###################################

#统计系统进程总数信息

###################################

if [ -f $logsysprocess ]

then

date +"%D %r" >> $logsysprocess

sysnum=`ps aux | wc -l`

oranum=` ps -ef |awk '/ora/&&/dbticket/' |wc -l`

echo "processes of system is: $sysnum" >> $logsysprocess

echo "processes of oracle is: $oranum" >> $logsysprocess

else

date +"%D %r" > $logsysprocess

sysnum=`ps aux | wc -l`

oranum=` ps -ef |awk '/ora/&&/dbticket/' |wc -l`

echo "processes of system is: $sysnum" >> $logsysprocess

echo "processes of oracle is: $oranum" >> $logsysprocess

fi

##############################

#统计内存的信息

##############################

if [ -f $logmemuse ]

then

date +"%D %r" >> $logmemuse

free |grep -1 Mem |head -n 2|tail -1 >> $logmemuse

free | grep Swap >> $logmemuse

else

date +"%D %r" > $logmemuse

free |grep -1 Mem |head -n 2 >> $logmemuse

free | grep Swap >> $logmemuse

fi

###############################

#查看网络连接数,tcp协议

###############################

if [ -f $lognetsession ]

then

date +"%D %r" >> $lognetsession

netstat -an | grep -E "^(tcp)" | cut -c 74- | sort | uniq -c | sort -n >> $lognetsession

else

date +"%D %r" >> $lognetsession

netstat -an | grep -E "^(tcp)" | cut -c 74- | sort | uniq -c | sort -n >> $lognetsession

fi
##############################

#opmn的负载的信息

##############################

if [ -f $logilearnopmn ]

then

date +"%D %r" >> $logilearnopmn
echo "oilopenfilecount $oilpid" >> $logilearnopmn
#opmnctl status  -fsep @ -fmt %clu%ins%cmp%prt%prs%idx%pid%uid%typ%sta%stm%utm%cpu%mem%por >> $logilearnopmn
opmnctl status  -fsep @ -fmt %prt%%cpu%mem%sta >> $logilearnopmn
dmstool -table ohs_module -c 1  | grep 'Name: mod_oc4j.c' -C 15 >> $logilearnopmn
else

date +"%D %r" > $logilearnopmn
echo "oilopenfilecount $oilpid" >> $logilearnopmn
#opmnctl status  -fsep @ -fmt %clu%ins%cmp%prt%prs%idx%pid%uid%typ%sta%stm%utm%cpu%mem%por >> $logilearnopmn
opmnctl status  -fsep @ -fmt %prt%%cpu%mem%sta >> $logilearnopmn
dmstool -table ohs_module -c 1  | grep 'Name: mod_oc4j.c' -C 15 >> $logilearnopmn
fi

 

##############################

#定期清除统计信息

#############################

if [ "$removedate" == "01" ]

then

tail -1000 $logcpuuse > $logcpuuse_bak_$curdate

tail -1000 $logcpuload > $logcpuload_bak$curdate

tail -1000 $logioload > $logioload_bak$curdate

tail -1000 $lognetworkload > $lognetworkload_bak$curdate

tail -1000 $logsysprocess > $logsysprocess_bak$curdate

tail -1000 $logmemuse >  $logmemuse_bak$curdate

tail -1000 $lognetsession > $lognetsession_bak$curdate

tail -1000 $logilearnopmn > $logilearnopmn_bak$curdate


rm -rf $logcpuuse $logcpuload $logioload $lognetworkload $logsysprocess $logmemuse $lognetsession $logilearnopmn

fi

exit 0
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值