oswbba
THE OSWATCHER ANALYZER USER'S GUIDE Carl Davis
To see how to use this tool and it's different features you can view a series of short "how to do" videos in document 301137.1
The OSWatcher Analyzer (oswbba) is a utility that allows the user to graph and analyze data collected from running OSWatcher. In addition to providing graphing and reporting capabilities, the analyzer will look for problems and provide recommendations on how to resolve them. Analyzing data automatically avoids the time consuming task of manually inspecting all the files that OSWatcher collects. NOTE: oswbba now analyzes ExaWatcher and CHM data. Analyzing these collections requires the use of a special flag -EXA for ExaWatcher and -CHM for CHM JSON files. Best PracticesPro-Active Problem Avoidance and Diagnostic CollectionAlthough some problems may be unforeseen, in many cases problems may be avoidable if signs are detected early enough. Additionally, if an issue does occur, it is no use collecting information about that issue after the event. oswbb is one of the tools that support recommends for collecting such diagnostics. For information on suggested uses, other proactive preparations and diagnostics see: Document 1482811.1 Best Practices: Proactively Avoiding Database and Query Performance Issues
Document 1477599.1 Best Practices Around Data Collection For Performance Issues
oswbba is a graphing and analysis utility which comes bundled with OSWatcher. This utility is a stand-alone java program which requires java to be installed. Because oswbba is written in java, the OSWatcher files that have been collected on Unix/Linux, can be analyzed on different Unix/Linux/Windows platforms that have java installed. Additionally, oswbba requires an x-windows environment in order to use all of its features. oswbba analyzes OSWatcher archive directroy files (vmstat, iostat, top, ps, netstat, traceroute, pidstat, meminfo and HP-UX sar) , Exawatcher and CHM files and automatically looks for problems and tries to determine root cause if possible. In addition to providing analysis, oswbba has an integrated dashboard which allows visibility into the different subsystems (cpu, memory, i/o, network and also nfs (Linux only). Problems can be quickly identified and displayed on the dashboard. The analysis text report is integrated with the browser dashboard so both textual data and graphics can be accessed inside the same browser window. See the OSW_Analyzer.pdf in the docs directory for more information.
oswbba use is under Oracle's standard licensing terms and does not require additional licenses for use.
oswbba is certified to run on the following platforms. It now runs on MacOS:
oswbba is a Oracle support tool which requires no installation. It comes bundled with OSWatcher and is a standalone java jar file. Consult the README.txt for details about system requirements.
This newest version requires java 8.0 or higher. Before starting the oswbba utility you must have java 8.0 or higher installed on your system. Java can be downloaded for free from https://java.com. Also if you are running Oracle you already have a version of java installed. To verify you have the correct version of java installed on your system issue the following command...
If java is not installed, contact your system administrator to get the current version of java installed. Alternatively, you can use the version of java that comes shipped with Oracle. Here is an example of using the version of java that comes shipped with the database...(depending upon the version of the database, the jre may be in a different location)
Once the correct version of java has been verified, you can start oswbba. Please CD to the oswbb subdirectory where the oswbba.jar file is located. oswbba requires an input directory to run. To specify the input directory you must use the -i option. The input directory is the fully qualified path name of an archive directory location containing the oswbb logs. The archive directory must contain the respective subdirectories--oswvmstat, oswiostat, oswps, oswtop, oswnetstat, etc. If you are running Linux or HP-UX, then additional directories are also created. It is important to note the program requires an archive directory name not an individual log directory name or individual filename.
oswbba parses all the archive files in memory prior to generating graphs or performing an analysis. If you have a large amount of files to parse you may need to allocate more memory to the java heap. If you experience any error messages regarding out of memory such as java.lang.OutOfMemoryError, you may have to increase the size of the java heap. To increase the size of the java heap use the -Xmx flag.
To stop the oswbba utility select option "Q" from the menu.
oswbba has multiple user interface options. If oswbba is started as above, the user will be able to choose from a list of options on a menu. In all cases oswbba must be supplied the archive directory location with the -i flag. If the underlying data from the OSWatcher archive is not available, such as the case where the data collector is missing or cannot run due to permission issues, then the option to analyze that data will be missing from the menu of options.
oswbba can be run with a menu driven user interface. This option gives the user the most flexibility and allows graphs to be displayed real-time. To start oswbba with the menu option issue the following on the command line...
After starting oswbba, a set of options will display. Enter an option value and hit return.
Using oswbba: Command Line Option All graphing, dashboard generation and analysis options are available to be passed into oswbba from the command line. Only the -i option is required. Use the table below to add additional options.
Understanding the (-D) and (-A) options The (-D) and (-A) options specify a unique directory name under the oswbba/analysis directory where the analysis files get generated. Note this is a directory name and not a filename. This is a change from previous releases. If no directory name is specified then a default directory name will be generated. In this case make sure to place the (-D) or (-A) options at the end of the list of options. Note that the (-D) and (-A) options are mutually exclusive. Selecting the (-D) option will automatically trigger an analysis (-A) option. Therefore, it is not necessary to put a (-A) option alongside a (-D) option. Selecting the (-A) option however, will not trigger a (-D) dashboard. In both cases, the user specified directory name must be unique or the program will terminate with a warning.
oswbba can analyze ExaWatcher files in addition to OSWatcher files. The input is the ExaWatcher archive directory and the outputs are the same if you were analyzing OSWatcher. This provides for a consistent user experience across different data collectors. It is very important to make sure all the Exawatcher files are uncompressed and all the uncompressed files are removed before analyzing the archive. You must also use the -EXA flag for ExaWatcher so the analyzer knows the input is not the default OSWatcher files but Exawatcher files instead. More examples are in the OSW_Analyzer.pdf in the docs directory
Specifying the Begin/End Time of an Analysis (Recommended Method) Starting with release 7.0, the begin and end times could be specified to limit the analysis to a particular time of interest. This behavior changed in release 7.2. Begin and end times can be controlled by using the command line options -b and -e. These options are available if you run from the command line or can be chosen from the menu with the -s option. To use this option you must specify the begin time and the end time. If you specify either parameter without specifying the other parameter, or one or both of these times are not valid, the program will default to the following values. A warning will also be written to inform you that you have not specified valid inputs and default parameters will be used instead. Note: This is new behavior that differs from previous versions. If -b is specified and no -e is specified then program warns the input is invalid and uses the last end date available in the archive. If -e is specified and no -b is specified then program warns the input is invalid and uses the first begin date available in the archive. If -b is specified and is before the first available date in the archive then the program uses the first available date in the archive. If -e is specified and is after the last available date in the archive then the program uses the last available date in the archive. Example. In this example your archive contains 17 hours worth of data in the oswvmstat directory. You want to only analyze the time beginning Jan 9 13:15:00 2013 and ending Jan 19 13:30:00 2013
Limiting the Analysis to a Subset of Files in Your Archive (No longer supported as of version 9.0) Previously if a user wanted to analyze only a specific time window all of the files in the archive would have to be parsed first. Starting in release 6.0, the analysis can be limited to a subset of files. This can be controlled by using the command line options -START and -STOP. These options are available if you run from the command line or if you want to use the menu. In either case, you must use the -START and -STOP option along with the -s option (to tell the analyzer you want to analyze only a subset of available files. To use this option you must specify the starting filename in the oswvmstat directory. oswbba only analyzes files in chronological order. To specify the starting filename locate a filename in the oswvmstat directory and specify it using the -START option. The -STOP option specifies the last file in the oswvmstat directory that you want to analyze. If these filenames are misspelled or cannot be found the analyzer will ignore the -START and -STOP options and analyze the entire contents of the archive. If you specify either parameter without specifying the other parameter the following default values will be assumed: If -START is specified and no -STOP is specified then the analysis continues through the last file in the oswvmstat directory. If -STOP is specified and no -START is specified then the analysis starts at the oldest file in the oswvmstat directory and continues through the file specified in the -STOP option. You must also specify the -s option to tell the analyzer you want to analyze only a subset of available files. If the -s flag is NOT specified the analyzer will analyze the entire contents of the archive. oswbba uses the times associated with these oswvmstat files for the other directories so that all iostat, top and netstat files will be analyzed during this time frame. Example. In this example your archive contains 17 hours worth of data in the oswvmstat directory. You want to only analyze files starting at 13.01.09.1300 through 13.01.09.2000
Ignoring Specific Directories From Analysis Because the archive directory can contain gigabytes worth of data, the analyzer can take some time to analyze extremely large files. The analyzer parses these files and stores the data into memory structures that grow in size as more files are parsed. This parsing will consume more and more memory potentially causing the analysis to take a longer time and may cause the maximum size specified by the jvm to be reached. In this case you will need to restart using a larger value for jvm (see the section named "Java Heap Errors on Startup" located in this document. This is normally only a problem if you have many days worth of data or you have thousands of processes on the machine making for large ps files. If you find this to be the case you can eliminate certain directories from being analyzed. You cannot however, eliminate vmstat data because this data is critical to any analysis performed by oswbba. There also may be times when resources on the machine may not be available to allow this kind of heavier processing. By eliminating the oswps directory, this more intensive data parsing and analysis can be eliminated or postponed until a later time. To eliminate specific directories from the analysis you must specify the appropriate flag when running oswbba. Flags are as follows:
An example of ignoring netstat and iostat data from analysis:
You can control the amount of analysis done on the ps data with respect to process memory. The default now is to show only the top 10 processes which are increasing in memory consumption. In the case you want to see all memory allocations over time you can do this by including the -MEM_ALL parameter when analyzing the data from the command line option. This would be useful for example in the case you were experiencing a memory leak. Enabling this parameter however, will result in long analysis times as the ps files are normally large and all the data related to all processes is parsed, stored and analyzed. There may be times when resources on the machine may not be available to allow this kind of heavier processing. By limiting the memory analysis, this more intensive data parsing and analysis can be eliminated or postponed until a later time. An example of analyzing all process information contained in the ps directory :
Analyzing pidstat data is very cpu intensive. For that reason, by default, pidstat analysis is limited to a maximum of 4 hours of data with the number of active processes being below 500. Unless both of these conditions are met the pidstat data will not be analyzed. To bypass this behavior, you can use the -YES_PIDSTAT flag. Using this flag will analyze all the pidstat files regardless of how many files or how many active processes are on the system. An example of forcing all pidstat files to be analyzed :
Generating a responsive web page dashboard is a useful feature of oswbba. The dashboard allows for a view into the different subsystems (cpu, memory, i/o, network and also nfs (Linux only). Any problems can be quickly identified and displayed on the dashboard. The analysis based text report is integrated with the dashboard so both textual data and graphics can be accessed inside the same browser window.
An Example Dashboard
https://mosemp.us.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=206049425975944&parent=DOCUMENT&sourceId=301137.1&id=461053.1&_afrWindowMode=0&_adf.ctrl-state=baoj3tz0s_167 Because oswbba builds graphs based on the Unix operating system date function, the time stamp must be in Standard English LANG format. The time stamp is formatted automatically by default (setting the parameter oswgCompliance = 1) in the OSWatcher.sh file.
REFERENCESNOTE:461054.1 - OSW System Profile - SampleNOTE:301137.1 - OSWatcher (Includes: [Video]) NOTE:352363.1 - LTOM - The On-Board Monitor User Guide NOTE:1477599.1 - Best Practices: Proactive Data Collection for Performance Issues NOTE:461052.1 - This document has been replaced with more recent information on this topic. Please refer to more recent documentation. NOTE:1482811.1 - Best Practices: Proactively Avoiding Database and Query Performance Issues |
|
|
|
|