本文共 3115 字,大约阅读时间需要 10 分钟。
OSwatcher作为Oracle官方推荐的OS层面运行状态检测的脚本工具。在Exadata是默认已经安装。
但是Exadata是如何在系统启动后,自动启动OSwatcher呢?我们如何去修改OSwatcher的参数,来调整监控和日志保存的策略呢?
本文正是介绍,从系统启动到OSwatcher运行,中间经历过的脚本调用,以及如何修改OSwatcher参数的。
1. 首先检查rc.local文件,可以发现/etc/rc.d/rc.Oracle.Exadata
1 2 3 4 5 6 7 8 | # vi /etc/rc.d/rc.local ----------------------------------------- ########### BEGIN DO NOT REMOVE Added by Oracle Exadata ########### if [ -x /etc/rc.d/rc.Oracle.Exadata ]; then . /etc/rc.d/rc.Oracle.Exadata <<<<<<<<<<<<<<<<<<<<<<This script will be run automaticlly, when the OS starts fi ########### END DO NOT REMOVE Added by Oracle Exadata ########### ----------------------------------------- |
2. 查看rc.Oracle.Exadata,找到/opt/oracle.cellos/vldrun -all
1 2 3 4 5 | # vi /etc/rc.d/rc.Oracle.Exadata ----------------------------------------- # Perform validations step /opt/oracle.cellos/vldrun -all <<<<<<<<<<<<<<<<<<<<<<This script will be run automaticlly, when the OS starts ----------------------------------------- |
3. 检查当前OSwatcher的设定,每15秒收集一次,生成的日志保存168小时(7天),bzip2的压缩模式,最大日志尺寸是3G
1 2 3 4 | # ps -ef | grep OSW root 15962 1 0 04 : 00 pts/ 1 00 : 00 : 00 /bin/ksh ./OSWatcher.sh 15 168 bzip2 3 root 15994 15962 0 04 : 00 pts/ 1 00 : 00 : 00 /bin/ksh ./OSWatcherFM.sh 168 3 root 16272 9529 0 04 : 00 pts/ 1 00 : 00 : 00 grep OSW |
4. 脚本/opt/oracle.cellos/vldrun会调用oswatcher脚本来启动oswatcher
1 2 3 4 5 | # ls -al /opt/oracle.cellos/validations/init.d/oswatcher -r-xr-x--- 1 root root 5128 Aug 19 03 : 39 oswatcher # chmod 750 oswatcher <<<<<<<<<<<<<<<<<<<<<<<<Change the right, then we can edit it as per our expected. # ls -al oswatcher -rwxr-x--- 1 root root 5128 Aug 19 03 : 39 oswatcher |
5. 检查当前oswatcher脚本中的设定,并修改(本次修改将原有的最大保存3G的日志,修改为最大日志尺寸为4G)
1 2 3 4 5 6 7 8 | # vi oswatcher ---------------------------------------- fi (umask 0037 ; nohup ./startOSW.sh 15 168 bzip2 4 >/ var /log/cellos/start_oswatcher.log 2 >& 1 &)& <<<<<<<<<<<<change this part of the script, will let the script run as per our expected. # Dont direct logs to startosw.log. It grows too large and fast # (nohup ./startOSW.sh 15 168 bzip2 3 >/dev/ null 2 >& 1 &)& popd >/dev/ null ---------------------------------------- |
6. 停止oswatcher
1 2 3 4 5 6 7 8 9 10 | #/opt/oracle.oswatcher/osw/stopOSW.sh # ps -ef | grep OSW root 10528 9529 0 03 : 59 pts/ 1 00 : 00 : 00 grep OSW 7 . 手动启动oswatcher # /opt/oracle.cellos/vldrun -script oswatcher Logging started to / var /log/cellos/validations.log Command line is ./validations/bin/vldrun.pl -quiet -script oswatcher Run validation oswatcher - PASSED The each boot completed with SUCCESS |
8.再次检查OSwatcher的设定,最大日志尺寸已经改为4G
1 2 3 4 | # ps -ef|grep OSW root 109041 1 0 03 : 37 pts/ 1 00 : 00 : 00 /bin/ksh ./OSWatcher.sh 15 168 bzip2 4 root 109073 109041 0 03 : 37 pts/ 1 00 : 00 : 00 /bin/ksh ./OSWatcherFM.sh 168 4 root 109348 59019 0 03 : 37 pts/ 1 00 : 00 : 00 grep OSW |
更对oswatcher细节,可以参考以下官方文档(注:目前文档1585389.1中已经记录如何永久修改exadata上osw的设定, 但是本人测试的时候,该文档并没有相关记录)
OSWatcher does not Retain Data for the Full Retention Period Specified ()
OSWatcher Black Box (Includes: [Video]) (Doc ID 301137.1)