Tuesday, October 9, 2012

Using OS Watcher Black Box


Using OS Watcher Black Box


OS Watcher Black Box (formerly OS Watcher) is an Oracle provided tool which monitors the host hardware resources and can be presented as charts to identify potential bottle-necks outside of the database. It is relatively easy to set up, but since it is polling the CPU, memory and disk (using vmstat, iostat etc) it is essential that you advise the client if you intend to use it in Production in case it has an impact.


Go to  supporthtml.oracle.com and search for 301137.1 . 

This is the OSWatcher BB main document.

Download the latest oswbbxxx.tar , where xxx is the release number.

Extract to a directory on the Unix host.

There is an OSWbb_README.txt file in the docs directory which has detailed information.

Use the JAVA installation that comes with Oracle, put this in your PATH for V11:

export PATH=$ORACLE_HOME/jdk/jre/bin:$PATH

If you are using V10 of Oracle, then this should work:

export PATH=$ORACLE_HOME/jre/1.4.2/bin:$PATH

Navigate to the directory where you extracted the oswbb files and run the OSW start script.

I usually use

nohup ./startOSWbb.sh &

otherwise it holds the terminal session. It will advise that it is using defaults, then will start to log the data.

You can check to see if it’s running:

ps –ef | grep –i osw
/usr/bin/ksh ./OSWatcher.sh

/usr/bin/ksh ./OSWatcherFM.sh 48


The files are generated every 20 seconds and kept for 48 hours. If you want to keep them longer you need to specify this when you run startOSWbb.sh –

./startOSWbb.sh 60 72

This would start the tool and collect data at 60 second intervals and keep the last 72 hours of data.

To view the output as charts, you will need to have an X-server session on your PC or enable it on the linux host.
To enable it on the linux host, you may need to log in as root and type

xhost +

If you have an X-Server client installed on your PC (I use Xming), then you either need to set the DISPLAY variable to your ip address (with the suffix :0.0):

export DISPLAY=192.168.3.81:0.0

or in putty you can enable x-forwarding which doesn't need the DISPLAY variable to be set:



Remember to save the session settings.

Once done, you can start the OS Watcher session using this:

java –jar oswbba.jar –i

I usually create a shell script to do this, uncomment the line depending on the database version:

# V11

export PATH=$ORACLE_HOME/jdk/jre/bin:$PATH

# V10

#export PATH=$ORACLE_HOME/jre/1.4.2/bin:$PATH

java –jar oswbba.jar –i /home/oracle/mga/akh/oswbb/archive



The program should read the files in the archive folder, scroll through and parse them, then you should see a menu:

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 6 to Generate All CPU Gif Files
Enter 7 to Generate All Memory Gif Files
Enter 8 to Generate All Disk Gif Files

Enter L to Specify Alternate Location of Gif Directory
Enter T to Specify Different Time Scale
Enter D to Return to Default Time scale
Enter R to Remove Currently Displayed Graphs
Enter P to Generate A Profile
Enter A to Analyze Data
Enter Q to Quit Program

Please Select an Option:




These options are fairly self-explanatory.

One thing to note is that if you display the charts, you can’t close them with the “X” – you need to go back into the menu and enter “R”.

To exit, type “Q”.


You can  use the “P” option to generate a profile which creates a folder with the gif files and an OSW_profile.htm file, which presents the charts in a page with some hints.

You can then either zip the files and copy it to a windows PC and open the file in a browser, or use firefox on the host if it is installed:



There is a new feature in this version called “Analyzer”. It can be accessed by entering “A” in the menu and it generates a text file with advice on where bottle-necks may be occurring. It places the file in the analyse directory. Here is an example of the first few lines: 

OSWatcher Black Box Analyzer
Input Archive:  /home/oracle/dba/work/akh/oswbb/archive
Hostname:       LNFSND92
OS Version:     Linux
Snapshot Freq:  30
CPU COUNT:      8

#####################################################################
Section 1: Overall Status
Subsystem       Status
------------------------
CPU             OK
MEMORY          UNKNOWN
I/O             CRITICAL
#####################################################################
Section 2.0: System Slowdown Summary Ordered By Impact
No System Wide Slowdowns Detected
#####################################################################
Section 3: Other General Findings
CRITICAL : Disk high service time observed.
#####################################################################
Section 4: CPU Detailed Findings
CPU RUN QUEUE:
                                       NUMBER  PERCENT
------------------------------------------------------
Snaps captured in archive                  88   100.00
High (>3)                                   0        0
Very High (>6)                              0        0
High spanning multiple snaps                0        0

CPU UTILIZATION: PERCENT BUSY
                                       NUMBER  PERCENT
------------------------------------------------------
Snaps captured in archive                 88   100.00
High (>95%)                                0        0
Very High (100%)                           0        0
High spanning multiple snaps               0        0




You can add this to the index.html file with a bit of manual intervention.

If you want to narrow down the time span of the sample, for example if a user says they noticed a slow-down of the system for a 1 hour period, you can specify this in the menu by selecting “T”:

Enter T to Specify Different Time Scale

      Please Select an Option:T

      Specify Chart Start Time. Valid entry between May 30 09:16:19 2012      and May 30 11:24:22 2012

      Example Format To Enter Time: May 30 09:16:19 2012  :May 30 10:00:00    2012

      Specify Chart End Time. Valid entry between May 30 09:16:19 2012 and    May 30 11:24:22 2012

      Example Format To Enter Time: May 30 11:24:22 2012  :May 30 11:00:00    2012
      Dates accepted. Recalibrating charts...


It will return you to the menu, and any charts or analysis generated will be for the specified time period.


Generate the charts again (6,7,8 from the menu) and create the index.html file the same way as before – the charts will now just show the events through the specified start and end times:




That should get you started with OSW BB.



No comments:

Post a Comment