Oracle-OSW性能监控工具

参考:http://www.savedba.com/?p=591

OSWatcher Black Box, 简称OSW,是oracle提供的一个小但是非常有用的工具,它通过调用OS自己提供的命令来记录OS运行时的一些性能参数,比如CPU/Memory/Swap/Network IO/Disk IO相关的信息。

OSW工具的部署:

建议部署在root或者非oracle用户下

 

安装:

解压运行对应脚本即可使用:

tar -xvf osw.tar

 

卸载:只删除解压后的目录

rm -rf osw

 

启动:

./startOSWbb.sh

脚本会自动创建归档目录,用来存储收集的数据

startOSWbb.sh脚本有四个参数:

ARG1 = snapshot interval in seconds. 数据收集的频率

ARG2 = the number of hours of archive data to store. 归档数据保留的时间。

ARG3 = (optional) the name of a compress utility to compress each file automatically after it is created. 可选,用于在创建每个文件后自动压缩该文件的压缩实用程序的名称

ARG4 = (optional) an alternate (non default) location to store the archive directory.可选存储归档目录的备用(非默认)位置。

 

如果不输入任何参数,默认间隔30秒收集一次数据,并且默认保存48小时的数据。

 

示例1

./startOSWbb.sh 60 10

This would startthe tool and collect data at 60 second intervals and log the last 10 hours ofdata to archive files.

--这个命令每隔60秒收集一次,数据保留10个小时。

 

示例2

./startOSWbb.sh

NOTE: This would use the default values of 30, 48 and collect data at 30 second intervals andlog the last 48 hours of data to archive files.

--没有指定参数,使用默认值

 

nohup ./startOSWbb.sh 60 10 &

--使用nohup让脚本后台执行

 

 

一般在生产环境部署OSWatcher脚本一般使用如下方法

nohup ./startOSWbb.sh 60 48 NONE /oracle10g/oswatcher/archive &

 

 

关闭osw

./stopOSWbb.sh

 

 

在我管理的所有数据库当中,基本上都部署了OSW工具,现在也可称之为OSWbb,全称是OSWatcher Black Box,这也为提升了我的工作效率,定位也非常方便。OSWoracle提供的一个监控工具,支持的平台也非常的广泛(包括AIN,Tru64,Solaris,HP-UX,Linux),原理就是调用OS的一些命令,定时的生成相关性能信息,而且占用的资源也是相当的小,对于后期的性能诊断,可以非常的快速定位问题,而且使用OSW监控有很多优点:安装部署简单,删除方便,体积小,消耗服务器的资源也非常的少,主要是平时不用维护,在服务器发生故障时,可以快速定位是OS层的问题还是DB层的问题。

OSW只会对OS度量,如果需要收集数据库度量,则可以部署LTOMoracle的另一个数据库性能监控工具。这里就只介绍OSW,目前最新版本是2014-02-27号发布的版本,版本号是:oswbb7.1.3,在文章末尾有下载地址。下面简单是来演示一下如何在linux上部署osw,我这里使用是的Linux Suse enterprise sp 11.

OS层的问题还是DB层的问题。

OSW只会手机OS度量,如果需要收集数据库度量,则可以部署LTOMoracle的另一个数据库性能监控工具。这里就只介绍OSW,目前最新版本是2014-02-27号发布的版本,版本号是:oswbb7.1.3,在文章末尾有下载地址。下面简单是来演示一下如何在linux上部署osw,我这里使用是的Linux Suse enterprise sp 11.

1. 如果是rac系统,要在每个节点上安装osw才能监控每个节点服务器的资源,首先上传oswbb713安装包到服务器安装目录

 

1

2

3

4

jerry@linux-fz9d:~> ll

total 1428

drwxr-xr-x 2 jerry users    4096 Jul 12  2013 bin

-rw-r--r-- 1 jerry users 1454080 Mar 26 07:34 oswbb713.tar

2. 解压安装包,会得到一个oswbb的目录

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

jerry@linux-fz9d:~> tar -xvf oswbb713.tar

oswbb/

oswbb/data/

oswbb/docs/

oswbb/docs/The_Analyzer/

oswbb/docs/The_Analyzer/oswbbaUserGuide.pdf

oswbb/docs/The_Analyzer/OSW_Black_Box_Analyzer_Overview.pdf

oswbb/docs/The_Analyzer/oswbba_README.txt

oswbb/docs/OSWatcher_Black_Box/

oswbb/docs/OSWatcher_Black_Box/oswbb_README.txt

oswbb/docs/OSWatcher_Black_Box/OSWatcherUserGuide.pdf

oswbb/Exampleprivate.net

oswbb/nfssub.sh

oswbb/stopOSWbb.sh

oswbb/call_du.sh

oswbb/iosub.sh

oswbb/profile/

oswbb/OSWatcherFM.sh

oswbb/ltop.sh

oswbb/mpsub.sh

oswbb/call_uptime.sh

oswbb/gif/

oswbb/psmemsub.sh

oswbb/tar_up_partial_archive.sh

oswbb/oswnet.sh

oswbb/vmsub.sh

oswbb/call_sar.sh

oswbb/oswib.sh

oswbb/startOSWbb.sh

oswbb/Example_extras.txt

oswbb/oswsub.sh

oswbb/analysis/

oswbb/oswbba.jar

oswbb/OSWatcher.sh

oswbb/topaix.sh

oswbb/tarupfiles.sh

oswbb/xtop.sh

oswbb/src/

oswbb/src/Thumbs.db

oswbb/src/OSW_profile.htm

oswbb/src/tombody.gif

oswbb/src/missing_graphic.gif

oswbb/src/coe_logo.gif

oswbb/src/watch.gif

oswbb/src/oswbba_input.txt

oswbb/oswrds.sh

jerry@linux-fz9d:~> ll

total 1432

drwxr-xr-x 2 jerry users    4096 Jul 12  2013 bin

drwxr-xr-x 8 jerry users    4096 Feb 27 08:21 oswbb

-rw-r--r-- 1 jerry users 1454080 Mar 26 07:34 oswbb713.tar

3. 到这里,安装osw就结束了,在第一次启动OSWBB时,脚本会自动创建归档目录,用来存储收集的数据,默认情况下会在安装oswbboswbb目录下创建该目录,如果想更改位置,在启动脚本之前将linux环境变量OSWWBB_ARCHIVE_DEST设置成期望的位置即可。毫无疑问OSW使用的都是linux系统命令,当然要想成功运行osw,系统上需要安装这些命令,并赋予oswbb执行这些命令,当然默认情况下这些都是安装了的。

4. 启动OSWBB程序,在安装目录下执行startOSWbb.sh脚本,该脚本包含4个参数,其中2个是可选的:

参数一:快照间隔,单位是秒,表示程序已多少秒的间隔收集数据。默认是30

参数二:存储周期,单位是小时,表示程序生产的归档存储的小时数。默认是24小时

参数三:可选,压缩工具的名称(比如gzip),可以自动将生成的文件进程压缩

上面三个参数经常使用。

参数四:可选,保存归档的非默认路径

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

示例 1:这将启动工具并以 30 秒间隔来收集数据,并将前 48 个小时的数据记录到归档文件。

 

./startOSWbb.sh

 

示例 2:这将启动工具并以 60 秒间隔来收集数据,并将前 10 个小时的数据记录到归档文件,并且自动压缩文件。

 

./startOSWbb.sh 60 10 gzip

 

示例 3:这将启动工具并以 60 秒间隔来收集数据,并将前 10 个小时的数据记录到归档文件,自动压缩文件,并且保存到一个非默认路径下。

 

./startOSWbb.sh 60 10 gzip /u02/oswbb/archive

 

示例 4:这将启动工具并以 60 秒间隔来收集数据,并将前 48 个小时的数据记录到归档文件,不自动压缩文件,并且保存到一个非默认路径下。

 

./startOSWbb.sh 60 48 NONE /u02/oswbb/archive

 

示例 5:这将启动该工具,将进程置于后台运行,允许工具在会话被终止后继续运行,以 60 秒间隔收集数据,并将前 10 个小时的数据记录到归档文件。

 

nohup ./startOSWbb.sh 60 10 &

5. 停止OSWBB程序,直接运行安装目录下的stopOSWbb.sh脚本即可

 

1

jerry@linux-fz9d:~/oswbb> ./stopOSWbb.sh

C#

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

-------------后台执行脚本,脚本间隔30秒,保留5个小时的数据

jerry@linux-fz9d:~/oswbb> nohup ./startOSWbb.sh 30 5 &

 

-------------在安装目录下会生成一个archive目录,收集的数据默认放在这个目录

jerry@linux-fz9d:~/oswbb/archive> ll

total 36

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswiostat

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswmeminfo

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswmpstat

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswnetstat

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswprvtnet

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswps

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswslabinfo

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswtop

drwxr-xr-x 2 jerry users 4096 Mar 26 08:05 oswvmstat

 

--------------关于生成的每个文件,这里就不介绍了,熟悉这些命令的管理员,看起来还是没有那么困难的

 

 

 

 

 

 

 

scp  [email protected]:/home/oracle/tianjinding/oswbb811.tar   ./

admin@oracle

 

 

下面是自己整理的部署OSW步骤 让OSW工具在服务器启动的时候自动开启

OSW

Oracle提供oswatcher 工具来监控系统资源使用情况。

 

OSWatcher Oracle的一个操作系统资源和网络监控工具,它通过调用OS的一些命令,比如:top, vmstat, iostat, ps ,netstat 等来收集CPU、内存、I/O、进程以及网络等情况。

 

请在下面的文档中下载这个工具:

Note:1526578.1 OSWatcher Black Box 用户指南

 

oswbb811

下面是启动并配置OSWatcher的例子:

 

1). 将下载后的压缩文件上传到主机并解压。

 

2). 设置私网间通讯检查:

a) 拷贝(cpExampleprivate.net private.net 到同一个目录下.

cp Exampleprivate.net private.net

b).private.net 中找到您对应的系统平台,替换下面的private_nodename1 private_nodename2 为具体的私网IP或者主机名 一般写主机名

traceroute -r -F private_nodename1

traceroute -r -F private_nodename2

或者:

ping sqgc -c 5sqgc是监控服务器)(不行都试试,总会可以的,这是两种方法)

c). private.net 中其它的平台部分删除。

d). 千万不要删除下面的内容:

rm locks/lock.file

 

vi private.net

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

# This file contains examples of how to monitor private networks. To

# monitor your private networks create an executable file in this same

# directory named private.net. Use the example for your host os below.

# Make sure not to remove the last line in this file. Your file

# private.net MUST contain the rm lock.file line.

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

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

#Linux Example

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

echo "zzz ***"`date`

traceroute -r -F zjhz-sq-eomsdb03

traceroute -r -F zjhz-sq-eomsdb04

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

rm locks/lock.file

 

 

 

 

3).启动OSWather:

nohup ./startOSWbb.sh 60 120 &

==>会每隔15秒搜集一次数据,将结果保留120 小时(5 )。请根据您的需求,调整这两个参数。

==>生成的结果会存储在一个叫archive的目录中。

==>请确保您的磁盘空间足够容纳这些数据。

==>如果您想自动压缩生成的文件,请使用下面的命令来启动OSWatcher

nohup ./startOSWbb.sh 15 120 gzip &

./startOSWbb.sh 60 120 gzip /opt/oracle/oswbb/archive &只要是用来创建目录的

 

10 3 * * * su - oracle -c  /archive/xspaasd/clear_arch.sh >>/archive/xspaasd/deldte_arch.log &

 

查询:

ps -ef | grep osw

 

* * * * * sh /opt/cmcc/osw/oswbb/auto_start_osw.sh >>/opt/cmcc/osw/oswbb/auto_start_osw.log &

 

自动启动osw脚本:在服务器上面部署的脚本,让OSW自启动

模板:

[root@sqpaasa1 ~]# cat /opt/cmcc/osw/oswbb/auto_start_osw.sh

PROC_CNT=`ps -ef |grep OSW |grep archive |grep -v grep |wc -l`

if [ $PROC_CNT  -ge 2 ]; then

        echo $0 already running!

        exit

fi

cd   /opt/oracle/osw/oswbb目录为实际安装的目录,注意修改

./stopOSWbb.sh

./startOSWbb.sh 30 196 gzip /opt/oracle/osw/oswbb/archive &(目录为实际归档的目录)

echo `date`"    start osw sucessful !"

exit

 

 

修改

vi auto_start_osw.sh

 

 

PROC_CNT=`ps -ef |grep OSW |grep archive |grep -v grep |wc -l`

if [ $PROC_CNT  -ge 2 ]; then

        echo $0 already running!

        exit

fi

cd   /opt/oracle/grid/tfa/repository/suptools/zjhz-xs-smgwmdsp01/oswbb/grid/oswbb

./stopOSWbb.sh

./startOSWbb.sh 60 120 gzip /opt/oracle/oswbb/archive &

echo `date`"    start osw sucessful !"

exit

 

部署定时任务让OSW自启动

crontab -e

#auto_start_osw

* * * * * sh /opt/oracle/osw/oswbb/auto_start_osw.sh >>/opt/oracle/osw/oswbb/auto_start_osw.log &

 

 

 

特殊:

PROC_CNT=`ps -ef |grep OSW |grep archive |grep -v grep |wc -l`

if [ $PROC_CNT  -ge 2 ]; then

        echo $0 already running!

        exit

fi

cd   /opt/oracle/osw/oswbb/

./stopOSWbb.sh

./startOSWbb.sh 60 48 gzip /opt/oracle/osw/oswbb/archive &

echo `date`"    start osw sucessful !"

exit

 

 

#auto_start_osw

* * * * * sh /opt/oracle/osw/oswbb/auto_start_osw.sh >>/opt/oracle/osw/oswbb/auto_start_osw.log &

 

15,30,35,40,5

* * * * *  /opt/oracle/osw/oswbb/auto_start_osw.sh  >>/opt/oracle/osw/oswbb/auto_start_osw.log

你可能感兴趣的:(Oracle,日常管理)