Building an Oracle Management Pack for OpsMgr Cross-Platform Agents, Part 3

Continuing on with the development of a management pack for monitoring Oracle database servers on a UNIX/Linux platform (part 1, part 2), I will describe in this post some of the characteristics and methodology of the class structure and object discoveries. 

Class Structure

To start the class structure, I defined a few arbitrary abstract classes to function as the base classes for Oracle objects:  OracleSCX.OracleSubsystem, OracleSCX.OracleApplication, and OracleSCX.OracleComponent.  Subsequently, I created a set of classes to represent the Oracle objects and components that would be discovered.  This class hierarchy is best illustrated with this image:

As for the object relationships, the discovered objects are organized as follows:

  • Oracle SCX Server
    • Oracle SCX Listeners      
      • Oracle SCX Listener
    • Oracle SCX Instance
      • Oracle SCX TableSpaces
        • Oracle SCX TableSpace
          • Oracle SCX Data File
      • Oracle SCX Processes
        • Oracle SCX Process
      • Oracle SCX Databases
        • Oracle SCX Database
      • Oracle SCX Alert Logs

A diagram view of a discovered Oracle system illustrates these relationships:

Secure References

Read more of this post