Solstice Enterprise Manager 4.1 Management Information Server (MIS) Guide | ![]() ![]() ![]() ![]() ![]() |
Adding New Data Definitions
You can add new data definitions to MIS, which allows you to use Solstice Enterprise Manager (Solstice EM) to manage objects described by those definitions. For instance, you may add the MIB for a new device you have included in your network, add schemas from SunNet Manager, define a new object class for an application you have developed, or create a new event type.
The MIS must get the information it needs about all known objects from GDMO files, which you can create from scratch, or create by converting from other formats such as MIB and SNM schema. Solstice EM includes conversion utilities and compilers to help you get the information into GDMO form. After you create or obtain your data definition files, you can use the Load Data Definitions (LDD) tool to convert, compile, load, and link files so that the information is usable by MIS. The LDD tool is accessible from the Solstice EM Administration window.
This chapter describes the following topics:
- Section 8.1 Adding a MIB
- Section 8.2 Adding SunNet Manager Schemas
- Section 8.3 Adding Managed Object Classes
- Section 8.4 Configuring Notifications for Managed Objects That Reside in the Solstice EM MIS
- Section 8.5 Creating GDMO Documents for New Events
- Section 8.6 Logging New Event Types
- Section 8.7 Loading a New Event Type
8.1 Adding a MIB
![]()
To Add a MIB to MIS
1. Locate the MIB file for the network device you want to manage.
- You must also have available any MIB files that are referenced by the MIB file you are adding.
2. Translate and load the MIB into MIS.3. Optionally, view the MIB in Solstice EM to see that it was successfully loaded.
![]()
To Translate and Load a MIB
1. Start the LDD tool in one of the following ways:
- Click the LDD button in the Administration Tools window, or enter the following command at a command line prompt:
- em_loaddefs &
2. Type the name(s) of the MIB files you want to add, or click Browse to select the files.
- Select files having the file extension.mib, making sure to include MIB files referenced by the one you are adding to MIS.
3. Select "Structure the GDMO data in MIS for: Retrieving remote device information only."
- As you are adding MIB information about a specific device, you will not need to create objects from this MIB. Refer to TABLE 8-6 for descriptions of the available options.
4. Click Load to begin converting and loading the MIB.
- The Activity Log shows the output of the programs and compilers working on the files.
- LDD starts the translator em_cmib2gdmo to convert the MIB to a GDMO document. LDD then starts the em_asn1 and em_gdmo compilers to import the data to MIS, and the files are placed in the directories $EM_HOME/etc/gdmo and $EM_HOME/etc/asn1. Files placed in these directories are read by MIS on startup.
- If the MIB references another MIB that you did not include in the list of files to convert, LDD searches for the referenced MIB file in the current working directory and the MDR. If the referenced MIB file is found the tool restarts em_cmib2gdmo, supplying the names of both MIB files. If the referenced MIB is not found, an error message is displayed and processing stops.
- If an error occurs during the translation, LDD displays a message describing the error and stops processing the affected file.
5. If an error occurs, select the affected file in Files with Errors, and click Edit.
- Your default editor starts and opens the selected file.
6. When you finish editing, save the file and exit the editor.
- LDD processes the file again.
7. Click Close in the LDD dialog box when processing is complete.
![]()
To View the New MIB in Solstice EM
- In SNMP Browser, click View \xd4 Show All Documents to see all MIBs and their attributes.
- You can start the SNMP Browser from the Network Tools window.
8.2 Adding SunNet Manager Schemas
![]()
To Add an SNM Schema
1. Locate the schema file.2. Translate and load the schema file into MIS.3. Optionally, view the schema in Solstice EM to see that it was successfully loaded.
![]()
To Translate and Load SNM Schemas
1. Start the Load Management Information tool in one of the following ways:
- Click Load Data Definitions in the Administration Tools window, or enter the following command at a command line prompt:
- em_loaddefs &
2. Type the name(s) of the schema files you want to add, or click Browse to select the files.
- Select files having the file extension .schema.
3. Select "Structure the GDMO data in MIS for: Retrieving remote device information only."
- Since you are adding information about a specific device, you cannot create objects from this schema. Refer to TABLE 8-6 for descriptions of the available options.
4. Click Load to begin converting and loading the schema.
- The Activity Log shows the output of the programs and compilers working on the files.
- LDD starts the translator em_snm2gdmo to convert the schema to a GDMO document. If an error occurs during the translation, LDD displays a message describing the error and allows you to edit the file using your default file editor. When you finish editing and save the file, LDD restarts the translation.
- Translation of an SNM schema requires a unique object identification number. This number will be associated with the agent and/or elements described in the schema, and it must not be the same as any other OID number already in use in the system. LDD determines a unique OID number for the schema.
- After em_snm2gdmo creates a GDMO file, LDD starts the em_asn1 and em_gdmo compilers to import the data to MIS, and the files are placed in the directories $EM_HOME/etc/gdmo and $EM_HOME/etc/asn1
5. Click Close in the Data Definitions Loading dialog when processing is complete.
![]()
To View the New Schema in Solstice EM
- In SNMP Browser, click View \xd4 Show All Attributes.
- You can start the RPC/CMIP Browser from the Network Tools window.
8.3 Adding Managed Object Classes
Note This section explains, from an application development perspective, how a developer can add a new managed object to the Solstice EM MIS. Information regarding the internal representation of the managed object is for clarification only.
A managed object contains a set of services and attributes that describes a type of managed resource. It defines what type of data members exist, and the various methods which will perform various operations.
In the Solstice EM MIS, an instance of a managed object will represent a particular managed resource - data describing the resource is contained in the attributes, and the associated behaviors operate on this data. Therefore, you will first want to create an appropriate managed object class that accurately defines the type of managed resource you wish to model. Next, actual instances of this managed object can be created in the MIS.
To represent the managed object within the Solstice EM MIS, a Managed Object Class (MOC) is created. When an instance of a managed object needs to be created in the MIS to represent a managed resource, the MOC is consulted to determine how to create the instance (so that what kinds of attributes will it have, and what are its behaviors). The representation of an instance of a managed resource within the Solstice EM MIS is known as a Managed Object Instance (MOI).
Both the MOC and MOI described above are implemented in the Solstice EM MIS as C++ classes. An overview of these are shown in the following figure.
FIGURE 8-1 Managed Object Implementation Components![]()
The preceding figure shows the relationship of the components produced by the developer to their position within the Solstice EM MIS.
The GDMO and ASN.1 documents that describe the managed object (A) are represented in the MIS within the MDR. The annotation code that implements the object behaviors (B) are linked to the MIS in the form of compiled code modules. The annotation code is used by objects and is part of MIS.
The ObjMethMOC and ObjMethMOI objects are created dynamically by the MIS, as needed. The ObjMethMOC is created when needed to represent an MOC; an ObjMethMOI is used when an instance of a managed object is created to represent a managed resource.
![]()
To Add a New MOC to MIS
1. Determine what it is that you want to manage, and identify its characteristics.2. Determine the attributes you need.
- The attributes define the data about the managed object that is stored.
3. Determine if there are any existing MOCs that you can reuse with some modification.
- Inspect the GDMO documents available in the $EM_HOME/etc/gdmo directory. $EM_HOME is an environment variable set to the directory the Solstice EM product was installed in, which is /opt/SUNWconn/em by default.
4. Implement MOC by writing or adapting a GDMO document and ASN.1 document (if necessary).5. Load the MOC into MIS using the Load Data Definitions (LDD).8.3.1 Defining the Properties of an MOC
The components of an MOC are specified in a GDMO document and possibly one or more ASN.1 documents. The GDMO document must contain the following:
- MOC definition. This includes the name of the object class, and the attributes which are in this MOC. A unique OID is also specified such that the MOC can be identified in the MIT.
- Attribute definitions. Each attribute within the MOC has its syntax defined, along with a unique OID.
- Name Binding definition. The naming attribute is identified in the name binding, along with the various other pieces of information.
- Notification definitions. These are optional, and define any notifications the MOC should generate. The notifications can be ones from the set of predefined notifications available within the MIS, or you can define your own. Predefined notifications include such things as attribute value changes, object creation or deletion, and various error, alarm, or violation conditions. Predefined notifications are listed in TABLE 8-4.
If the GDMO document refers to any ASN.1 syntax notations, these ASN.1 documents must also exist. In most cases, the GDMO document will refer to syntax defined in existing ASN.1 documents; however if new syntax is needed, the ASN.1 document must be created. The MOC, defined in the GDMO document, and the naming attribute(s) will be referenced according to their unique OID values.
From a Solstice EM internal implementation perspective, the OID of the MOC is specified and the appropriate definition is then loaded into the MIS to help in creating the ObjMethMOC which represents the MOC definition. Remember that the ObjMethMOC is a C++ class that represents an MOC within the MIS. The MIS gains access to the MOC definition (from the GDMO document) by reading the definition from the MDR. The GDMO document must be compiled into the MDR in order for the MIS to find the definition.
8.3.1.1 Sample GDMO File
Developing C++ Applications includes information explaining the structure of a GDMO file. This section shows only an example file.
In this example, the coffee.gdmo file contains the GDMO definition of the coffee managed object class.The following code example is a copy of the coffee.gdmo GDMO definition file for review and reference purposes. It describes the coffee MOC used in this chapter:
8.3.1.2 Sample ASN.1 Definition File
The following code example is a copy of the coffee.asn1 ASN.1 definition file. It is used to describe the syntax and encoding rules for the coffee MOC:
CODE EXAMPLE 8-2 Definition File for coffee.asn1
-- Asn1 Definitions needed by the coffee class Coffee-ASN1 { 1 2 3 4 5 1 } DEFINITIONS ::= BEGIN CoffeeInteger ::= INTEGER CoffeeString ::= GraphicString CoffeeBoolean ::= BOOLEAN END8.3.2 Loading an MOC into MIS
Once you have composed the GDMO and ASN.1 files, the object class is ready to be incorporated into MIS, as described in the following procedure.
![]()
To Load a New Object Class
1. Start the LDD tool in one of the following ways:
- Click Load Data Definitions in the Administration Tools window, or enter the following command at a command line prompt:
- em_loaddefs &
2. Type the names of the GDMO and ASN.1 files you want to add, or click Browse to select the files.3. Select a method for structuring the GDMO data in MIS.
- Refer to TABLE 8-6 for descriptions of the available options.
4. Click Load to begin processing the files for loading into MIS.
- The Activity Log shows the output of the programs and compilers working on the files.
- The em_asn1 and em_gdmo compilers are run. If you specified in the preceding step that you want to be able to create volatile objects, em_compose_oc is run. If you specified that you want to be able to create persistent objects, em_compose_poc is run. In either case, em_load_name_bindings is also run.
- The compiled GDMO files are placed in the $EM_HOME/etc/gdmo directory. The compiled ASN.1 files are placed in the $EM_HOME/etc/asn1 directory. All object classes contained in these directories are loaded into MIS each time it starts.
- If an error occurs during processing, LDD displays a message describing the error, and the affected files are listed in Files with Errors.
5. If errors occur, select a file in Files with Errors, and click Edit to open the file with your default text editor.
- If you do not have a default text editor, vi is started.
6. When you finish editing, save the file, and LDD restarts processing the files.7. Click Close in the Data Definitions Loading dialog when processing is complete.8. Go to the default directory and, as root, run the em_services command to restart MIS as follows:
- cd $EM_HOME/bin
- ./em_services -start
8.4 Configuring Notifications for Managed Objects That Reside in the Solstice EM MIS
The configuration file $EM_RUNTIME/conf/em_notif.cfg contains notification configuration entries for objects that reside in the Solstice EM MIS. Adding notification configuration entries enables you to control the generation of the following types of notifications:
- objectCreation (M-CREATE)
- objectDeletion (M-DELETE)
- attributeValueChange and stateChange (M-Set)
The configuration file $EM_RUNTIME/conf/em-notif.cfg consists of one or more lines, each containing a complete specification for an entry. There are three types of entries.
- CREATE
- DELETE
- SET
Note Invalid lines are ignored and a warning message shown in the Solstice EM MIS log (em_mis.log).
The configuration file is read and entries loaded each time the MIS is restarted. The following subsections describe the format of the configuration file.
8.4.1 Comments
Lines beginning with "//" are considered to be comments and are ignored.
8.4.2 Format of a CREATE Entry
CREATE <object_class_OID> <create_notif_config_value>A CREATE entry defines the notifications that are generated when an instance of the specified object class (<object_class_OID>) is created. The valid values for <create_notif_config_value> are described in the following table.
TABLE 8-1 Valid Values for <create_notif_config_value> NOTIF_NONE No notification NOTIF_NO_ATTRLIST objectCreation notification. Does not contain an attributeList. NOTIF_ATTRLIST objectCreation notification. Contains an attributeList.
Note The default behavior for object classes that do not have a CREATE entry is for an objectCreation notification with no attributeList to be generated.
In the following example, an objectCreation notification is generated when an instance of the object class whose OID is 1.3.6.1.4.1.42.2.2.2.200.3.3. is created. The objectCreation notification contains an attributeList.
CREATE 1.3.6.1.4.1.42.2.2.2.200.3.3 NOTIF_ATTRLIST8.4.3 Format of a DELETE Entry
DELETE 1.3.6.1.4.1.42.2.2.2.200.3.3 NOTIF_ATTRLISTA DELETE entry defines the notifications that are generated when an instance of the specified object class (<object_class_OID>) is deleted. The valid values for <delete_notif_config_value> are described in the following table.
TABLE 8-2 Valid Values for <delete_notif_config_value> NOTIF_NONE No notification NOTIF_NO_ATTRLIST objectDeletion notification Does not contain an attributeList.
Note The default behavior for object classes that do not have a DELETE entry is for an objectDeletion notification with no attributeList to be generated.
In the following example, an objectDeletion notification is generated when an instance of the object class whose OID is 1.3.6.1.4.1.42.2.2.2.200.3.3 is deleted. The objectDeletion notification does not contain an attributList.
8.4.4 Format of a SET Entry
SET <object_class_OID> <attribute_OID> <set_notif_config_value>A SET entry defines the notifications that are generated when the specified object class (<object_class_OID>) are described in the following table.
TABLE 8-3 Valid Values for set_notif_config_value NOTIF_NONE Specified attribute does not appear in any notification. NOTIF_AVC Specified attribute appears in attributeValuChange notifications. NOTIF_STC Specified attribute appears in stateChange notifications.
.If multiple attributes of an object are affected by an M-SET request, the following occurs:
- All modified attributes not configured or configured for NOTIF_AVC are included in the generated attributeValueChange notification.
- All modified attributes configured for NOTIF_STC are included in the generated stateChange notification.
- All modified attributes configured for NOTIF_NONE are excluded from generated notifications. If all attributes of a managed object class are configured for NOTIF_NONE, notifications are not generated.
Note The default behavior for object classes that do not have SET entries is for the attribute to appear in an attributeValueChange notification.
8.4.5 Adding Event Types
Agents located on devices in the network typically are designed to generate reports to managers on their own initiative when certain conditions are detected; these messages are called event notifications.
Notifications are defined for managed objects in accordance with the GDMO standard. The MIS acquires knowledge of event notification types when the pertinent GDMO documents are loaded into MIS at start-up.
![]()
To Add New Event Types to MIS
1. Create documents describing the event notification types in ASN.1 and GDMO format, or adapt existing documents for a similar event type.2. Determine if you want the event notification to be logged.
- If you want the event to be logged, write or adapt a GDMO document to define an event log record.
3. Load the ASN.1 and GDMO documents into MIS.8.5 Creating GDMO Documents for New Events
Solstice EM includes a number of event notifications, listed in the following table. You may use the GDMO files for these event notifications to copy and adapt GDMO templates for events similar to ones you want to add. Refer to the Developing C++ Applications for information about the structure of a GDMO document.
TABLE 8-4 Event Notifications in Solstice EM CMIP objectCreation objectDeletion attributeValueChange relationshipChange stateChange communicationsAlarm environmentalAlarm equipmentAlarm integrityViolation operationalViolation physicalViolation processingErrorAlarm qualityofServiceAlarm securityServiceOrMechanismAlarm timeDomainViolation dmi.gdmo ISO-Internet Management Coexistence (IIMC) internetAlarm iimcManagementDoc1.gdmo SNMP coldStartTrap warmStartTrap linkDownTrap linkUpTrap authenticationFailureTrap egpNeighborLossTrap enterpriseSpecificTrap snmp_traps.gdmo EM snmAlarmEvent snmAlarmTrap
nerveCenterAlarmmpa.gdmo
nc.gdmo
ASN.1 documents are only necessary if the GDMO document uses syntax that is not described in existing ASN.1 documents in $EM_HOME/etc/asn1.
8.6 Logging New Event Types
Each default event notification object class has associated with it an additional object class for a log record. The log record object class allows an event of that type to be logged.
The default mapping of event notification classes to log record classes is shown in the following table.
TABLE 8-5 Default Mapping of Notifications to Event Log Records attributeValueChange attributeValueChangeRecord dmi.gdmo objectCreation objectCreationRecord objectDeletion objectDeletionRecord relationshipChange relationshipChangeRecord stateChange stateChangeRecord integrityViolation securityAlarmReportRecord td> operationalViolation securityAlarmReportRecord td> physicalViolation securityAlarmReportRecord td> securityServiceOrMechanismAlarm securityAlarmReportRecord td> timeDomainViolation securityAlarmReportRecord td> communicationsAlarm emAlarmRecord emalarm.gdmo environmentalAlarm emAlarmRecord equipmentAlarm emAlarmRecord processingErrorAlarm emAlarmRecord qualityofServiceAlarm emAlarmRecord internetAlarm emInternetAlarmRecord nerveCenterAlarm nerveCenterAlarmRecord nc.gdmo
You can use one of the existing log record classes, or provide a custom log record class definition. A single log record class can be used to log a group of event notifications.
If you elect to provide a custom log record, you can copy and adapt GDMO templates for an exiting log record object class. Refer to the Developing C++ Applications for more information about GDMO templates.
8.7 Loading a New Event Type
Once you have composed the GDMO (and ASN.1 files, if necessary) the object class is ready to be incorporated into MIS, as described in the following procedure.
![]()
To Load a New Event Type
1. Start the LDD tool in one of the following ways:
- Click the Load Data Definitions button in the Administration Tools window, or type the following command at a command line prompt:
- em_loaddefs &
2. Type the names of files you want to load into MIS, or click Browse to select the file names.
- Specify the files having extensions .gdmo and .asn1. Refer to TABLE 8 -6 for information about specifying the files to process.
3. Select a method for structuring the GDMO data in MIS.
- Refer to TABLE 8 -6 for descriptions of the available options.
4. Click Load to begin processing the files for loading into MIS.
- The Activity Log shows the output of the programs and compilers working on the files.
- The em_asn1 and em_gdmo compilers are run. If you specified that you want to be able to create volatile objects, em_compose_oc is run. If you specified that you want to be able to create persistent objects, em_compose_poc is run. In either case, em_load_name_bindings is also run.
- The compiled GDMO files are placed in the $EM_HOME/etc/gdmo directory. The compiled ASN.1 files are placed in the $EM_HOME/etc/asn1 directory.
5. If errors occur, select a file in Files with Errors, and click Edit to open the file with your default text editor.
- If you do not have a default text editor, vi is started.
6. When you finish editing, save the file, and LDD restarts processing the files.7. Click Close in the Data Definitions Loading dialog when processing is complete.8.7.1 Loading Data Definitions
The following table describes the options and items that you may use in the LDD Dialog window.
TABLE 8-6 Load Data Definitions Dialog Items Specify MIB, GDMO, SunNet Manager Schema files to load. You can type the name of one or more files that you want to load into MIS, or click Browse to select one or more files to load. If you click Browse, the File Select dialog is displayed, allowing you to navigate in a file system to select the files you want. You can select several files by pressing Control while you click each file name, or select a series of files by pressing Shift while you click the first and last file name in the series. If you select a directory name, all files within the directory will be processed. Acceptable file types include the following: GDMO, having a .gdmo extension ASN.1, having a .asn1 extension SNM schema, having a .schema extension SNMP MIB, having a .mib extension Note that when you load a GDMO document, you must also load its associated ASN.1 document, if there is one. Structure GDMO in MIS for: Select "Retrieving remote device information only" if you will not need to create object instances using this data definition. For example, if you are loading a MIB for a new device, you do not need to create objects based on this definition. Select "Creating Volatile Objects - dismissed when MIS is restarted" if you want to be able to create objects based on this definition, but the objects need not be persistent. For example, if you are creating a new event type, it need not be persistent because events can be logged, and the event notification itself need not be permanent. Select "Creating Persistent Objects - persist when MIS is restarted" if you want objects created based on this definition to remain after MIS is restarted. For example, if you are adding a new user class, you would want objects based on this class to be persistent. Load Click Load when you have specified the files for the data you want to add to MIS, and specified how you want the data structured. Load Data Definitions will take the appropriate actions to import the data into MIS. Depending on the type of files you are working with, and what GDMO structuring option you chose, the Activity Log may display output from any of the following programs: em_asn1 em_gdmo em_compose_oc em_compose_poc em_compose_all em_load_name_bindings em_cmib2gdmo em_snm2gdmo These compilers are described in Chapter B. Activity Log The Activity Log window shows the output from the translators and compilers that LDD runs. Files with Errors Select a file name from the list of files with errors so you can edit it to correct the errors. Edit Click Edit to start your default text editor and open the file you selected in Files with Errors. If you do not have a default editor defined with the EDITOR environment variable, the editor used is vi
Sun Microsystems, Inc. Copyright information. All rights reserved. |
Doc Set | Contents | Previous | Next | Index |