OSWatcher介绍:
OSWatcher 快速概述:
OSWatcher(oswbb)是一个可下载的实用程序,用于从操作系统中捕获性能指标。
OSWatcher的使用符合Oracle的标准许可条款,不需要额外的许可证。
当您安装并运行 oswbb 作为性能诊断数据收集最佳实践的一部分时,您可以通过支持和开发来帮助更快地解决SR问题。
oswbb由两个独立的组件组成:
1.oswbb:一个收集和存储数据的unix shell脚本数据收集器。
2.oswbba:一个java实用程序,它将自动分析数据,提供建议,并生成图形和html文档。
这两个组件都包含在一个可下载的tar文件中。
OSWatcher(oswbb)是一组UNIX shell脚本,旨在收集和归档操作系统和网络指标,以帮助诊断性能问题。
作为最佳实践,所有客户都应该在每个运行Oracle实例的节点上安装并运行OSWatcher。
在出现性能问题的情况下,Oracle支持人员可以使用这些数据来帮助诊断数据库之外的性能问题。
OSWatcher由一系列shell脚本组成。OSWatcher.sh是主要的控制执行程序,它使用Unix操作系统诊断实用程序生成单个shell进程来收集特定类型的数据。
控制权传递给单独生成的操作系统数据收集器进程,这些进程反过来收集特定数据,为数据输出加时间戳,并将数据附加到预先生成和命名的文件中。
每个数据收集器都有自己的文件,由文件管理器进程创建和命名。
数据收集间隔可由用户配置,但对于OSWatcher工具的单个实例的所有数据收集器进程来说都是统一的。
例如,如果OSWatcher配置为每分钟收集一次数据,则每个生成的数据收集器进程将为其各自的指标生成输出,将数据写入其相应的数据文件,然后休眠一分钟(或其他配置的间隔)并重复。
因为我们每分钟都在收集数据,所以每个生成的进程生成的文件将包含60个条目,前一小时每分钟一个条目。
每个文件最多包含一小时的数据。
在每个小时结束时,文件管理器将唤醒并将现有的当前小时文件复制到存档位置,然后创建一个新的当前时间文件。
文件管理器确保只保留最后N小时的信息,其中N是一个可配置的整数,默认为48。
文件管理器将每小时唤醒一次,删除超过N小时的文件。
在任何时候,整个输出文件集都将包含一个当前小时文件,以及每个数据收集器进程的N个存档文件。
stopOSWbb.sh 将终止与OSWatcher关联的所有进程,是停止工具操作的正常、优雅的机制。
OSWatcher 调用这些不同的操作系统实用程序,每个实用程序都作为一个不同的后台进程,作为数据收集器。
这些实用程序或其等效程序将得到支持,适用于每个受支持的目标平台。
ps
top
ifconfig
mpstat
iostat
netstat
traceroute
vmstat
sar (HP-UX Only)
cpuinfo (Linux Only)
meminfo (Linux Only)
slabinfo (Linux Only)
OSWatcher下载:
standalone:安装独立版本将始终为您提供最新版本,但用户必须手动安装并运行OSWatcher
作为TFA/AHF数据库支持工具包的一部分进行安装:TFA/AHF将自动安装并运行OSWatcher。它还将定期更新OSWatcher。它可能包含也可能不包含最新版本。
独立下载:
License 许可证
OSWatcher的使用符合Oracle的标准许可条款,不需要额外的许可证。
最佳实践
作为最佳实践,支持人员建议所有Oracle用户在运行Oracle的服务器上部署OSWatcher。
OSWatcher应被视为对可能存在的任何其他数据收集的补充或补充。
主要原因是,如果支持人员必须向开发人员提交错误,开发人员很可能会坚持提供OSWatcher数据。
否则,在安装OSWatcher并再次出现问题之前,该错误可能无法继续。
此外,支持分析师熟悉并接受过了解基本操作系统诊断实用程序(如vmstat、iostat、top等)输出的培训。
支持分析师可能不熟悉您现有的其他类型的自定义或特定于操作系统的数据收集。
最后,支持人员能够使用内部工具分析OSWatcher数据,从而避免了手动检查数十个文件的耗时任务。
这将大大缩短您的解决时间。
支持人员建议您运行OSWatcher,默认快照间隔为30秒,默认保留期为48小时。以大于60秒的速率拍摄不太频繁的快照或采样对于诊断性能问题没有帮助。
支持的平台:
OSWatcher经认证可在以下平台上运行:
AIX
Solaris
HP-UX
Linux
安装
以下部分描述了如何在系统上安装和删除OSWatcher。
安装oswbb
OSWatcher可以作为任何用户安装,只要该用户有权执行底层Unix实用程序,如vmstat、top等。
在大多数情况下,您可以作为Oracle用户进行安装。
如果您在RAC环境中运行,则需要在每个节点上安装OSWatcher,每个节点安装一个。
按照以下步骤进行安装:
(1)从MOS下载了oswbb.tar文件。
(2)将tar文件放置在所需的位置,然后解压缩文件。
(3)授权
接下来,确保使用chmod更改这些文件的文件权限以执行。
tar xvf oswbb.tar
chmod 744 *
将创建一个名为oswbb的目录,其中包含OSWatcher的完整安装,包括OSWatcher分析器和所有支持文件。OSWatcher现已安装。
卸载oswbb
要卸载OSWatcher,请在oswbb目录上发出以下命令:
rm -rf oswbb
配置
OSWatcher收集数据并将其存储到归档目录中的文件中。
默认情况下,此目录是在安装oswbb的oswbb目录下创建的。
如果要将此位置更改为指向任何其他目录或设备,有两个选项。
1.在启动工具之前,将UNIX环境变量 OSWBB_ARCHIVE_DEST 设置为所需的位置。
在这个例子中,归档目录将在这个位置(/usr/app/archive)创建,而不是在主oswbb目录下创建。
export OSWBB_ARCHIVE_DEST=/usr/app/archive
2.通过运行位于oswbb安装目录中的startOSWbb.sh脚本启动oswbb,并在命令行上指定第四个参数。
./startOSWbb.sh 30 48 None /usr/app/archive
此脚本接受可选的第四个参数,即您希望oswbb写入其收集的数据的位置。
如果使用可选的第4个参数,则还必须设置可选的第3个参数,该参数指定压缩或zip(gzip、compress等)实用程序的名称。
如果不想压缩文件,可以将NONE指定为第三个参数
OSWbb将存档位置写入/tmp目录中名为osw.hb的心跳文件。
这样做是为了让RAC-DDT和RDA等其他oracle实用程序在运行这些实用程序时可以找到OSWbb数据。
当OSWatcher停止时,此文件将被删除。
一旦安装了oswbb,就提供了启动和停止oswbb实用程序的脚本。
当oswbb首次启动时,它会在oswbb目录下的默认位置或上述指定的备用位置创建存档子目录。
归档目录至少包含7个子目录,每个数据收集器一个子目录。
可以使用traceroute命令监视专用网络。
这在OSWatcher的版本8中是自动完成的。
这也可以由用户手动完成,在oswbb目录中创建一个名为private.net的可执行文件。
此文件的一个示例名为Exampleprivate.net,其中oswbb目录中有每个操作系统的示例:Solaris、LINUX、AIX和HP-UX。
可以编辑此文件并将其重命名为private.net,也可以创建一个名为private.net的新文件。
此文件包含用于运行traceroute命令以验证RAC专用网络的条目。
Exampleprivate.net entry on Solaris:
traceroute -r -F private_nodename
其中节点1和节点2是3节点RAC集群的主机节点之外的2个节点。
如果private.net文件不存在或不可执行,则不会在oswprvtnet目录下收集和存储任何数据。
oswbb需要访问操作系统实用程序:top、vmstat、iostat、mpstat、netstat和traceroute。
在运行oswbb之前,需要在系统上安装这些操作系统实用程序。
这些实用程序的执行权限需要授予oswbb的用户。
RAC注意事项
OSWbb需要安装在集群中的每个节点上。如果在共享文件系统上安装,则将每个节点的OSWbb安装到一个唯一的目录中。
添加自定义数据集合
您可以让OSWbb运行自己的shell脚本,并以与OSWbb收集和管理它收集的数据(如vmstat、iostat等)相同的方式自动存储和管理数据。
此可调用接口是"as is"提供的,不受支持。您必须编写和测试自己的脚本,然后使用此接口将它们链接到oswbb。
提供的示例是调用标准UNIX实用程序的一个非常简单的示例。
步骤1:创建一个可执行的shell脚本并将其放置在oswbb目录中。在该文件中,将以下标题行放在文件顶部:
#!/bin/sh
echo "zzz ***"`date '+%a %b %e %T %Z %Y'` >> $1
步骤2:将脚本或UNIX命令的输出重定向到$1。
$1是OSWbb归档目录,OSWbb在其中写入它收集的所有文件。
在下面的示例中,运行du命令的输出将被重定向到$1(oswbb归档目录)。
du >> $1
请参阅oswbb目录中提供的示例du.sh。
步骤3:在extras.txt文件中为该文件添加一个新条目。条目格式见extras.txt。
在上面的示例中,OSWbb将以与运行所有其他命令相同的间隔运行此脚本中的du命令。
脚本的输出将位于归档目录中。示例脚本du.sh位于oswbb目录中。您可以将其与extras.sh中的示例一起查看,以了解如何调用脚本。
启动/停止oswbb
启动oswbb
要启动oswbb实用程序,请从安装oswbb的目录中执行startOSWbb.sh shell脚本。
此脚本有2个参数,用于控制收集数据的频率和要存档的数据小时数。
ARG1 = 快照间隔(秒)。
ARG2 = 要存储的存档数据的小时数。
ARG3 = (可选)用于在创建每个文件后自动压缩该文件的压缩实用程序的名称。
ARG4 = (可选)存储存档目录的备用(非默认)位置。
如果不输入任何参数,脚本将以默认值30和48运行,这意味着每30秒收集一次数据,并将最后48小时的数据存储在存档文件中。
示例1:这将启动工具,以默认的30秒间隔收集数据,并将最后48小时的数据记录到存档文件中。
./startOSWbb.sh
示例2:这将启动工具,以60秒的间隔收集数据,并记录最后10小时的数据以存档文件并自动压缩文件。
./startOSWbb.sh 60 10 gzip
示例3:这将启动工具,以60秒的间隔收集数据,并将最后10小时的数据记录到存档文件中,压缩文件并将存档目录设置为非默认位置。
./startOSWbb.sh 60 10 gzip /u02/tools/oswbb/archive
示例4:这将启动工具,以60秒的间隔收集数据,并将最后48小时的数据记录到存档文件中,而不是压缩文件,并将存档目录设置为非默认位置。
./startOSWbb.sh 60 /u02/tools/oswbb/archive
示例5:这将启动工具,将进程置于后台,使工具在会话终止后继续运行,以60秒的间隔收集数据,并将最后10小时的数据记录到存档文件中。
nohup ./startOSWbb.sh 60 10 &
停止oswbb
要停止oswbb实用程序,请从安装oswbb的目录中执行stopOSWbb.sh命令。这将终止与该工具关联的所有进程。
例子:
./stopOSWbb.sh
诊断数据输出:
如上所述,当oswbb首次启动时,它会在oswbb安装目录下创建归档子目录。
归档目录至少包含7个子目录,每个数据收集器一个子目录。
这些目录分别命名为oswiostat, oswmpstat, oswnetstat, oswifconfig, oswprvtnet, oswps, oswtop, and oswvmstat。
如果你运行的是Linux,将存在3个额外的目录: oswmeminfo, oswslabinfo and oswcpuinfo。
如果您运行的是HP-UX 1,则将存在其他目录:oswsar。如果你创建了一个private.net文件,或者它是在启动时自动创建的,那么将创建一个名为oswprvtnet的附加目录,该目录存储在private.net中指定的rac专用互连上运行traceroute的结果。
每小时将在每个OSWatcher实用程序子目录中生成一个文件。在oswbb运行期间,每小时的顶部都会创建一个新文件。文件将采用以下格式:
<node_name>_<OS_utility>_YY.MM.DD.HH24.dat
oswiostat
<node_name>_iostat_YY.MM.DD:HH24.dat
这些文件将包含OSWatcher以指定时间间隔获取和存档的“iostat”命令的输出。
只有在操作系统上安装了“iostat”并且oswbb用户有权运行该实用程序的情况下,这些文件才会存在。
请记住,iostat中报告的内容可能因您的平台而异。
您应该参考您的OS iostat手册页,了解这些字段的最新最准确描述
iostat命令用于通过观察物理磁盘相对于其平均传输速率的活动时间来监控系统输入/输出设备负载。
此信息可用于更改系统配置,以更好地平衡物理磁盘和适配器之间的输入/输出负载。
iostat实用程序在UNIX平台上相当标准,但实际上只适用于支持扩展磁盘统计的平台:AIX、Solaris和Linux。
此外,每个平台的iostat实用程序版本略有不同。
您应该查阅操作系统手册页以了解详细信息。
下面提供的示例适用于Solaris。
oswbb以指定的时间间隔运行iostat实用程序,并将数据存储在归档目录下的oswiostat子目录中。
数据存储在每小时一次的归档文件中。文件中的每个条目都包含一个时间戳,前缀为***,嵌入在iostat输出中。
请注意,每个时间戳都有一个条目。
字段描述
iostat输出包含所有设备的摘要信息。
关注哪些内容:
(1)长时间平均服务时间大于20msec。
(2)平均等待时间长。
oswps
<node_name>_ps_YY.MM.DD:HH24.dat
这些文件将包含OSWatcher以指定间隔获取和存档的“ps”命令的输出。
只有在操作系统上安装了“ps”并且oswbb用户有权运行该实用程序的情况下,这些文件才会存在。
请记住,ps中报告的内容可能因您的平台而异。您应该参考您的操作系统ps手册页,了解这些字段的最新最准确描述。
ps(进程状态)命令列出系统上当前运行的所有进程,并提供有关CPU消耗、进程状态、进程优先级等信息。
ps命令有许多选项来控制显示哪些进程以及如何格式化输出。oswbb使用-elf选项运行ps命令。
ps命令在UNIX平台上相当标准。
每个平台的ps实用程序版本略有不同。
您应该查阅操作系统手册页以了解详细信息。
下面提供的示例适用于Solaris。
oswbb以指定的时间间隔运行ps命令,并将数据存储在归档目录下的oswps子目录中。
数据存储在每小时一次的归档文件中。文件中的每个条目都包含一个时间戳,前缀为***,嵌入在ps输出中。
关注哪些内容:
ps命令中的信息将主要用作RAC诊断的支持信息。
例如,系统崩溃前进程的状态对于根本原因分析可能很重要。
进程消耗的内存量是如何使用这些数据的另一个例子。
oswtop
<node_name>_top_YY.MM.DD:HH24.dat
这些文件将包含OSWatcher以指定时间间隔获取和存档的“top”命令的输出。
只有在操作系统上安装了“top”并且oswbb用户有权运行该实用程序的情况下,这些文件才会存在。
Top有三个主要设计目标:
(1)提供系统和进程状态的准确快照,
(2)不包含它本身自己的top进程,
(3)尽可能轻量。
每个操作系统都使用不同版本的UNIX实用程序top。
这将导致顶部输出在UNIX平台上显示不同。
您应该查阅操作系统手册页以了解详细信息。下面提供的示例适用于Solaris。
oswbb以指定的时间间隔运行top实用程序,并将数据存储在归档目录下的oswtop子目录中。
数据存储在每小时一次的归档文件中。
文件中的每个条目都包含一个时间戳,前缀为***,嵌入在顶部输出中
关注什么内容:
(1)大型跑批队列。
运行队列中等待的大量进程可能表明您的系统没有足够的CPU容量。
(2)进程消耗大量CPU。
"hogging"CPU的进程总是可疑的。如果这个进程是一个oracle前台进程,它很可能正在运行一个需要调优的昂贵查询。Oracle后台进程不应长时间占用CPU。
(3)高负载平均值。
不应在运行队列上长时间备份进程。
(4)交换空间不足。
这表示内存不足。
oswvmstat
<node_name>_vmstat_YY.MM.DD:HH24.dat
这些文件将包含“vmstat”命令的输出,该命令由OSWatcher以指定的时间间隔获取和存档。
只有在操作系统上安装了“vmstat”并且oswbb用户有权运行该实用程序时,这些文件才会存在。
vmstat这个名字来源于"report virtual memory statistics"。不过,vmstat实用程序所做的远不止于此。
除了报告虚拟内存外,vmstat还报告有关进程、磁盘、陷阱和CPU活动的某些内核统计信息。
vmstat实用程序在UNIX平台上相当标准。
每个平台的vmstat实用程序版本略有不同。您应该查阅操作系统手册页以了解详细信息。下面提供的示例适用于Solaris。
字段描述
vmstat输出实际上分为六个部分:进程、内存、页面、磁盘、故障和CPU。下表概述了每个部分。
关注什么:
以下信息应作为指导方针,不应被视为硬性规定。
下面记录的信息来自Adrian Cockcroft的书《Sun Performance Tuning》。其他操作系统,如HP和Linux,可能有不同的阈值。
(1)大型跑批队列。
Adrian Cockcroft将运行队列上每个CPU超过4个进程定义为CPU饱和的阈值。如果这种情况持续很长时间,这肯定是一个问题。
(2)CPU利用率。
运行系统代码所花费的时间不应超过30%,特别是在空闲时间接近0%的情况下。
分析输出
OSWatcher与分析器(oswbba)捆绑在一起。此实用程序提供分析和图形功能。请参阅oswbba用户指南(oswbba User Guide)。
已知问题
请注意,如果您尚未在Oracle Linux 7上安装网络工具,则在启动OSWatcher时可能会看到警告,即它找不到netstat和ifconfig。
这似乎是OL 7特有的。您可能会收到/proc/slabinfo不存在的警告。
它确实存在,但权限已更改为0400,文件归root:root所有。
分析器解析不是标准英语时间戳的时间戳时可能会出现问题。
设置参数oswgCompliance=1(默认)应能解决此问题。
据报道,仅凭这一点并不能解决问题。作为解决方法,请尝试在startOSWbb.sh中添加LANG环境。
# set LANG environment
export LANG=en_US.UTF8
# restart OSWatcher
向支持发送文件
提供了两个实用程序来打包OSWatcher数据。
我们希望收集和打包OSWatcher数据,以维护运行该工具创建的现有目录结构。
未能打包OSWatcher数据将阻止数据的自动处理和分析,并通过打开支持SR来延长您收到的响应。
要打包整个OSWatcher数据集合,请使用脚本tar_up_full_archive.sh。
此脚本提示您输入存档目录的完全限定路径名,并创建一个名为osw_archive.tar的tar ball,您可以将其上传到SR。
要打包一个特定的时间窗口,如果您有一个非常大的OSWatcher存档,或者只想发送特定时间窗口的数据子集,请使用脚本tar_up_partial_archive.sh。
此脚本提示你输入归档目录的完全合格路径名,然后提示输入开始和结束日志。
该脚本创建了一个名为osw_archive.tar的 tarball ,您可以将其上传到SR。
./tar_up_full_archive.sh
OSWatcher Analyzer介绍
OSWatcher Analyzer(oswbba)是一个实用程序,允许用户绘制和分析从运行OSWatcher收集的数据。
除了提供图形和报告功能外,分析器还将查找问题并提供解决问题的建议。
自动分析数据避免了手动检查OSWatcher收集的所有文件的耗时任务。
概述
oswbba是OSWatcher附带的图形和分析实用程序。
此实用程序是一个独立的java程序,需要安装java。
因为oswbba是用java编写的,所以在Unix/Linux上收集的OSWatcher文件可以在安装了java的不同Unix/Linux/Windows平台上进行分析。
此外,oswbba需要一个x-windows环境才能使用其所有功能。
oswbba分析OSWatcher归档目录文件(vmstat、iostat、top、ps、netstat、traceroute、pidstat、meminfo和HP-UX sar)、Exawatcher和CHM文件,并自动查找问题,如果可能的话,尝试确定根本原因。
除了提供分析外,oswbba还有一个集成的仪表板,可以查看不同的子系统(cpu、内存、i/o、网络和nfs(仅限Linux))。
问题可以快速识别并显示在仪表板上。分析文本报告与浏览器仪表板集成在一起,因此可以在同一浏览器窗口内访问文本数据和图形。
有关更多信息,请参阅docs目录中的OSW_Analyzer.pdf。
oswbba支持的平台
oswbba经过认证可以在以下平台上运行。
AIX
Solaris
HP-UX
Linux
Windows
MacOS
安装oswbba
oswbba是一个无需安装的Oracle支持工具。它与OSWatcher捆绑在一起,是一个独立的java jar文件。有关系统要求的详细信息,请参阅README.txt。
启动oswbba
这个最新版本需要java 8.0或更高版本。
在启动oswbba实用程序之前,您的系统上必须安装java 8.0或更高版本。
Java可以从以下网址免费下载 https://java.com
此外,如果您运行的是Oracle,则已经安装了java版本。
要验证您的系统上安装了正确版本的java,请发出以下命令。
$ java -version
如果没有安装java,请联系您的系统管理员以安装最新版本的java。
或者,您可以使用Oracle附带的java版本。
下面是一个使用数据库附带的java版本的示例。
(根据数据库的版本,jre可能位于不同的位置)。
//Note: the location of the jre is in $ORACLE_HOME/jre/1.4.2/bin
//now put this location in the Unix path:
$ export PATH=$ORACLE_HOME/jre/1.4.2/bin:$PATH
一旦验证了java的正确版本,您就可以启动oswbba。
请将光盘刻录到oswbba.jar文件所在的oswbb子目录。
oswbba需要一个输入目录才能运行。
要指定输入目录,必须使用-i选项。
输入目录是包含oswbb日志的存档目录位置的完全限定路径名。
归档目录必须包含相应的subdirectories–oswvmstat, oswiostat, oswps, oswtop, oswnetstatt等。
如果您运行的是Linux或HP-UX,则还会创建其他目录。
值得注意的是,该程序需要一个存档目录名,而不是单个日志目录名或单个文件名。
$java -jar oswbba.jar -i /u02/home/osw/archive
启动时出现Java堆错误
oswbba在生成图形或执行分析之前解析内存中的所有存档文件。
如果你有大量的文件要解析,你可能需要为java堆分配更多的内存。
如果您遇到任何关于内存不足的错误消息,如java.lang.OutOfMemoryError,您可能需要增加java堆的大小。
要增加java堆的大小,请使用-Xmx标志。
$java -jar -Xmx512M oswbba.jar -i /u02/home/oswbb/archive
Starting oswbba V7.0
OSWatcher Analyzer Written by Oracle Center of Expertise
Copyright (c) 2012 by Oracle Corporation
Parsing Data. Please Wait...
停止oswbba
要停止oswbba实用程序,请从菜单中选择选项“Q”。
生成仪表板
生成响应式网页仪表板是oswbba的一个有用功能。仪表板允许查看不同的子系统(cpu、内存、i/o、网络和nfs(仅限Linux))。任何问题都可以快速识别并显示在仪表板上。基于分析的文本报告与仪表板集成在一起,因此可以在同一浏览器窗口中访问文本数据和图形。
已知问题
由于oswbba基于Unix操作系统日期函数构建图形,因此时间戳必须采用标准英语LANG格式。
默认情况下,时间戳在OSWatcher.sh文件中自动格式化(设置参数 oswgCompliance=1 )。
测试:
上传工具
[oracle@cjc-db-02 oswatcher]$ pwd
/home/oracle/tools/oswatcher
实际上不需要单独下载oswbba9020.jar,在oswbb840.tar文件里自带 oswbba.tar工具。
[oracle@cjc-db-02 oswatcher]$ ls -lrth
total 5.4M
-rw-r--r-- 1 oracle oinstall 5.1M May 18 16:37 oswbb840.tar
-rw-r--r-- 1 oracle oinstall 313K May 18 16:38 oswbba9020.jar
操作系统
[oracle@cjc-db-02 oswatcher]$ cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.5"
解压
[oracle@cjc-db-02 oswatcher]$ tar -xvf oswbb840.tar
[oracle@cjc-db-02 oswatcher]$ ls -lrth oswbb
total 472K
-rwxr-xr-x 1 oracle oinstall 1.5K Jul 15 2019 xtop.sh
-rwxr-xr-x 1 oracle oinstall 571 Jul 15 2019 xensub.sh
-rwxr-xr-x 1 oracle oinstall 545 Jul 15 2019 vmsub.sh
-rwxr-xr-x 1 oracle oinstall 527 Jul 15 2019 topaix.sh
-rwxr-xr-x 1 oracle oinstall 819 Jul 15 2019 tar_up_full_archive.sh
-rwxr-xr-x 1 oracle oinstall 752 Jul 15 2019 stopOSWbb.sh
-rwxr-xr-x 1 oracle oinstall 2.6K Jul 15 2019 startOSWbb.sh
-rwxr-xr-x 1 oracle oinstall 557 Jul 15 2019 sarsub.sh
-rwxr-xr-x 1 oracle oinstall 1.5K Jul 15 2019 psmemsub.sh
-rwxr-xr-x 1 oracle oinstall 565 Jul 15 2019 pidsub.sh
-rwxr-xr-x 1 oracle oinstall 561 Jul 15 2019 piddsub.sh
-rwxr-xr-x 1 oracle oinstall 524 Jul 15 2019 oswsub.sh
-rwxr-xr-x 1 oracle oinstall 825 Jul 15 2019 oswrds.sh
-rwxr-xr-x 1 oracle oinstall 579 Jul 15 2019 oswnet.sh
-rwxr-xr-x 1 oracle oinstall 414 Jul 15 2019 oswib.sh
-rwxr-xr-x 1 oracle oinstall 745 Jul 15 2019 nfssub.sh
-rwxr-xr-x 1 oracle oinstall 542 Jul 15 2019 mpsub.sh
-rwxr-xr-x 1 oracle oinstall 1.5K Jul 15 2019 ltop.sh
-rwxr-xr-x 1 oracle oinstall 743 Jul 15 2019 iosub.sh
-rwxr-xr-x 1 oracle oinstall 795 Jul 15 2019 ifconfigsub.sh
-rwxr-xr-x 1 oracle oinstall 3.9K Jul 15 2019 genprvnet.sh
-rwxr-xr-x 1 oracle oinstall 1.9K Jul 15 2019 Exampleprivate.net
-rwxr-xr-x 1 oracle oinstall 665 Jul 15 2019 Example_extras.txt
-rwxr-xr-x 1 oracle oinstall 71 Jul 15 2019 call_uptime.sh
-rwxr-xr-x 1 oracle oinstall 68 Jul 15 2019 call_sar.sh
-rwxr-xr-x 1 oracle oinstall 67 Jul 15 2019 call_du.sh
-rwxr-xr-x 1 oracle oinstall 546 Jul 15 2019 arpsub.sh
-rwxr-xr-x 1 oracle oinstall 7.9K Jul 15 2019 OSWatcherFM.sh
-rwxr-xr-x 1 oracle oinstall 8.1K Jul 15 2019 tar_up_partial_archive.sh
-rwxr-xr-x 1 oracle oinstall 414 Nov 14 2019 uncpr.bat
drwxr-xr-x 2 oracle oinstall 6 Nov 20 2019 data
drwxr-xr-x 4 oracle oinstall 76 Nov 20 2019 docs
drwxr-xr-x 2 oracle oinstall 6 Nov 20 2019 gif
drwxr-xr-x 7 oracle oinstall 126 Nov 20 2019 src
drwxr-xr-x 2 oracle oinstall 6 Nov 20 2019 tmp
drwxr-xr-x 2 oracle oinstall 6 Nov 20 2019 locks
-rw-r--r-- 1 oracle oinstall 284K Nov 20 2019 oswbba.jar
drwxr-xr-x 2 oracle oinstall 6 Nov 20 2019 archive
drwxr-xr-x 2 oracle oinstall 6 Nov 20 2019 analysis
-rwxr-xr-x 1 oracle oinstall 55K Nov 20 2019 OSWatcher.sh
启动,收集日志
每10秒收集一次,运行2小时。
[oracle@cjc-db-02 oswbb]$ ./startOSWbb.sh 10 2
前台日志如下:
Setting the archive log directory to/home/oracle/tools/oswatcher/oswbb/archive
Testing for discovery of OS Utilities...
VMSTAT found on your system.
IOSTAT found on your system.
......
Discovery of CPU CORE COUNT
CPU CORE COUNT will be used by oswbba to automatically look for cpu problems
CPU CORE COUNT = 1
VCPUS/THREADS = 1
Discovery completed.
Starting OSWatcher v8.4.0 on Sun May 18 16:42:48 CST 2025
With SnapshotInterval = 10
With ArchiveInterval = 2
OSWatcher - Written by Carl Davis, Center of Expertise,
Oracle Corporation
For questions on install/usage please go to MOS (Note:301137.1)
Data is stored in directory: /home/oracle/tools/oswatcher/oswbb/archive
Starting Data Collection...
oswbb heartbeat:Sun May 18 16:42:53 CST 2025
oswbb heartbeat:Sun May 18 16:43:03 CST 2025
oswbb heartbeat:Sun May 18 16:43:14 CST 2025
......
自动生成的目录
[oracle@cjc-db-02 archive]$ ls
oswarp oswcpuinfo oswifconfig oswiostat oswmeminfo oswmpstat oswnetstat oswnfsiostat oswpidstat oswpidstatd oswprvtnet oswps oswslabinfo oswtop oswvmstat oswxentop
停止收集
[root@cjc-db-02 oswbb]# sh stopOSWbb.sh
查看日志大小
[root@cjc-db-02 archive]# du -sh *
48K oswarp
8.0K oswcpuinfo
816K oswifconfig
436K oswiostat
264K oswmeminfo
232K oswmpstat
3.7M oswnetstat
8.0K oswnfsiostat
1016K oswpidstat
220K oswpidstatd
0 oswprvtnet
7.5M oswps
0 oswslabinfo
876K oswtop
84K oswvmstat
0Oswxentop
分析日志
[oracle@cjc-db-02 oswatcher]$ java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode
[oracle@cjc-db-02 oswbb]$ java -jar oswbba.jar -i /home/oracle/tools/oswatcher/oswbb/archive
Starting OSW Analyzer V8.4.0
OSWatcher Analyzer Written by Oracle Center of Expertise
Copyright (c) 2019 by Oracle Corporation
Parsing Data. Please Wait...
Scanning file headers for version and platform info...
Parsing file cjc-db-02_pidstat_25.05.18.1600.dat ...
Parsing file cjc-db-02_pidstat_25.05.18.1700.dat ...
Parsing file cjc-db-02_iostat_25.05.18.1600.dat ...
Parsing file cjc-db-02_iostat_25.05.18.1700.dat ...
This directory already exists. Rewriting...
Parsing file cjc-db-02_vmstat_25.05.18.1600.dat ...
Parsing file cjc-db-02_vmstat_25.05.18.1700.dat ...
Parsing file cjc-db-02_netstat_25.05.18.1600.dat ...
Parsing file cjc-db-02_netstat_25.05.18.1700.dat ...
Parsing file cjc-db-02_top_25.05.18.1600.dat ...
Parsing file cjc-db-02_top_25.05.18.1700.dat ...
Parsing file cjc-db-02_ps_25.05.18.1600.dat ...
Parsing file cjc-db-02_ps_25.05.18.1700.dat ...
Parsing Completed.
Enter 1 to Display CPU Process Queue Graphs
Enter 2 to Display CPU Utilization Graphs
Enter 3 to Display CPU Other Graphs
Enter 4 to Display Memory Graphs
Enter 5 to Display Disk IO Graphs
Enter 61 to Display Individual OS Process I/O RPS Graphs
Enter 62 to Display Individual OS Process I/O WPS Graphs
Enter 63 to Display Individual OS Process Percent User CPU Graphs
Enter 64 to Display Individual OS Process Percent System CPU Graphs
Enter 65 to Display Individual OS Process Percent Total CPU (User + System) Graphs
Enter 66 to Display Individual OS Process Percent Memory Graphs
Enter GP to Generate Individual Process Profile
Enter GC to Generate All CPU Gif Files
Enter GM to Generate All Memory Gif Files
Enter GD to Generate All Disk Gif Files
Enter GN to Generate All Network Gif Files
Enter L to Specify Alternate Location of Gif Directory
Enter Z to Zoom Graph Time Scale (Does not change analysis dataset)
Enter B to Returns to Baseline Graph Time Scale (Does not change analysis dataset)
Enter R to Remove Currently Displayed Graphs
Enter X to Export Parsed Data to Flat File
Enter S to Analyze Subset of Data(Changes analysis dataset including graph time scale)
Enter A to Analyze Data
Enter D to Generate DashBoard
Enter Q to Quit Program
Please Select an Option:D
如果报如下错误:
Writing to the analysis file failed. Cleck to see that the fileName you entered is valid
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
at java.awt.Window.<init>(Window.java:536)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at k.b(Unknown Source)
at a.a(Unknown Source)
at OSWGraph.OSWGraph.main(Unknown Source)
需要设置DISPLAY环境变量。
echo $DISPLAY
export DISPALY=:12.0
继续分析:
选择 4:
选择D:
[oracle@cjc-db-02 dashboard]$ pwd
/home/oracle/tools/oswatcher/oswbb/analysis/cjc/dashboard
[oracle@cjc-db-02 dashboard]$ ls
css fonts generated_files images index.html js
查看:
[oracle@cjc-db-02 dashboard]$ firefox index.html
CPU
内存
I/O
NET
参考:
Document 301137.1 OSWatcher
NOTE:1531223.1 - OS Watcher User's Guide
NOTE:461053.1 - OSWatcher Analyzer User Guide
NOTE:736752.1 - Introducing Cluster Health Monitor (IPD/OS)
NOTE:1617454.1 - ExaWatcher Utility On Exadata Compute and Storage Nodes
NOTE:1482811.1 - Best Practices: Proactively Avoiding Database and Query Performance Issues
NOTE:2942344.1 - OSWatcher Video Series
NOTE:1477599.1 - Best Practices: Proactive Data Collection for Performance Issues
下载:
Document 301137.1 OSWatcher
关注《IT小Chen》公众号,私信关键字“OSWatcher”,可获取下载链接!
###chenjuchao 20250518###
欢迎关注我的公众号《IT小Chen》