`
shixiaomu
  • 浏览: 382833 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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
 

分享到:
评论

相关推荐

    Linux/Unix shell 脚本监控磁盘可用空间

    Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少。下面是给出的一个监控磁盘空间空间shell脚本的样本,供大家参考。  1、监控磁盘的空闲空间shell脚本 robin@SZDB:~/dba_scripts/...

    DB2性能测试监控UnixShell脚本

    直接放到UNIX操作系统上,修脚本名称以sh为后缀,修改数据库连接配置,直接按shell脚本执行,例如:sh xxx.sh 5 10,表示每5秒监控一次,一共监控10次。

    Linux系统监控shell程序包-含内存cpu硬盘监控进程监控进程守护删除过期日志url监控webservice监控

    PublicSysMoniror.sh:公用系统监控脚本,用于远程监控,调用公用监控脚本入口 sysCpuMemDiskMonitor.sh:系统CPU内存和硬盘使用率监控 cleanLogFile.sh:清理日志文件脚本 ProbeUrlMonitor.sh:探测URL监控...

    Linux Or AIX中的DB2 最新监控脚本 适用于V10.1版本

    原厂提供的监控DB2资源资源的脚本,生产环境适用,好用。

    Linux Or AIX中的DB2 最新监控脚本 适用于版本V11.5

    原厂提供的监控DB2资源资源的脚本,生产环境适用,好用。

    Linux Or AIX中的DB2 最新监控脚本 适用于版本V11.1

    原厂提供的监控DB2资源资源的脚本,生产环境适用,好用。

    Linux Or AIX中的DB2 最新监控脚本 适用于版本V10.5

    原厂提供的监控DB2资源资源的脚本,生产环境适用,好用。

    Linux Or AIX中的DB2 最新监控脚本 适用于版本V9.7

    原厂提供的监控DB2资源资源的脚本,生产环境适用,好用。

    Linux DB29.5 开机自启动

    DB2数据库系统在Linux上通常通过`db2start`命令手动启动,但为了实现开机自启动,我们需要将其集成到系统的启动脚本中。这通常涉及到以下步骤: 1. **创建系统服务**:在Linux系统中(例如使用System V init或...

    Linux系统重启db2数据库命令实例详解.docx

    11. **监控SQL性能**:例如使用`db2top`命令可以实时监控数据库的性能,`db2pd`命令则提供更深入的诊断信息,如`db2pd -d CMSDB -dyn -application`用于查看应用处理详情。 在日常管理中,熟悉这些命令能有效地帮助...

    DB2 linux 64位客户端

    - 系统集成:在Linux服务器上运行的应用程序,如Web服务或批处理脚本,需要访问DB2数据库时,可利用该客户端。 - 远程管理:对于远程DB2服务器的管理,DB2客户端提供了图形化工具和命令行工具,方便远程管理数据库...

    Linux 和 Windows 上的DB2安装和管理入门

    例如,对于Linux系统来说,通常通过运行包管理器或者直接解压安装文件并执行安装脚本来进行安装;对于Windows系统,则是通过双击安装程序并遵循向导步骤进行安装。 安装过程中,您可能需要选择安装的组件,如DB2...

    DB2监控python模块环境配置教程及安装包

    在使用DB2进行监控时,Python作为一种强大的脚本语言,常被用来编写监控脚本和工具。本教程将详细介绍如何配置适用于DB2监控的Python环境,以及如何安装必要的Python模块。 首先,确保你的系统已经安装了Python。...

    linux和windows上的DB2安装和管理入门

    - **性能监控**:利用 DB2 的内置工具,如 DB2 Monitor 和 DB2 Explain 等,来监控数据库性能。 - **安全配置**:通过设置用户权限、角色分配等方式加强数据库的安全性。 #### 七、常见问题解决 - **无法连接到...

    LINUX系统DB2安装方法

    - 可以通过`db2pd`命令监控DB2的运行状态。 9. **配置数据库** - 使用`db2create`命令创建数据库,如`db2create mydb`。 - 设置数据库安全策略,例如启用SSL连接,使用`db2secsslsetup`命令。 10. **测试连接**...

    DB2性能监控和调优最佳实践

    在Unix/Linux环境下,可以利用shell脚本、sed、awk等工具配合Cron实现定时任务的调度;而在Windows平台上,则可以通过At/schtasks等工具达到类似的效果。 ### 数据库快照分析 数据库快照是性能监控中的一个重要...

    在linux系统中安装DB2数据库

    使用命令行解压下载的安装包,然后通过执行安装脚本来启动安装过程。根据提示,接受许可协议,选择安装类型(如开发、服务器或客户端),并指定安装路径。 5. **配置DB2实例**: 安装完成后,需要创建一个DB2实例...

    Linux平台DB2安装部署手册

    在Linux平台上安装和部署IBM DB2数据库系统是一个涉及多个步骤和技术知识的过程。DB2是一款功能强大的关系型数据库管理系统,广泛应用于企业级应用中。本文将详细介绍Linux环境下DB2的安装和部署过程,以及相关的...

    生产环境,线上使用)shell python运维web脚本db 安全脚本.7z

    例如,db目录可能包含用于数据库管理的Shell脚本,如自动备份、数据迁移或性能优化的脚本。这些脚本可以定时运行,确保数据库服务的稳定和数据的安全。 接着,"安全"目录中的脚本可能涉及到系统安全检查和防护措施...

    gaussDB5.0 企业版安装包 Linux版本

    gaussDB 5.0 企业版是一款基于Linux平台的高性能、高可用性的分布式数据库系统。这款产品由华为公司开发,旨在为大型企业和组织提供强大的数据存储和处理能力,尤其适合处理大规模的数据并发操作。在本安装包中,...

Global site tag (gtag.js) - Google Analytics