Previous Next Contents Generated Index Home



Contents

Preface

Audience
Contents in this Manual
Access to Up-to-date Information on the Developer Environment
Using UNIX Commands
Shell Prompts
Typographic Conventions
Sun Documentation on the Web
Related Documentation
Sun Welcomes Your Comments

Part I. Introduction to Developer Environment

1. Sun Management Center and the Developer Environment

Sun Management Center Framework
Sun Management Center Console
Sun Management Center Server
Sun Management Center Agent
Sun Management Center Developer Environment

2. Sun Management Center Developer Environment Installation

Uninstalling Previous Versions of Sun Management Center Software
Sun Management Center Developer Environment Licensing
Installing the Sun Management Center Developer Environment From CD
Code Examples and Client API

3. Introduction to the Reference Manual

The Different Parts of this Manual
Accessing Information in this Manual
Building Modules
Name Module Definition Files
Specify Module Parameters
Create a Data Model
Realize the Data Model
Add Alarm Checks
Install Module Files
Load a Module
Log Data and To Activate Debug Mode
Write a Module from an existing SNMP MIB
Publish an SNMP Interface
Building Consoles
Build Your Own Console
To Access Troubleshooting Information
Using Client API
Use the Client API
Using the Platform Agent
To Start the Platform Agent
How to See Changes that have been made to the Agent's module-d.x File
Conforming to Internationalization and GUI Guidelines
Work With a Java Application
Internationalize a Module
Integrating Applications

4. Introduction to Modules

Modules Definition
How to Load Modules
Basic Module Building Concepts
Types of Modules
Module Naming
Module Names and Subspecs
SNMP & Modules

5. Building a Simple Module

Required Components
File Naming Conventions
Standard Extensions
Parameters Specification
Creating a Parameter File
Mandatory Parameters
Example Parameter File
Internationalizing Modules
Mandatory Parameters for Internationalization in the Parameters File
Properties File
Example Properties File
Referencing Internationalized Text
Data Model Specifications
Creating a Data Model
Identifying Components and Properties of Managed Entity
Solaris Example--Components and Properties
Defining the Data Model Structure
Node Definition and Trees
Structural Primitives
Example Data Model File
Adding Data Types
Available Data Types
Adding Node Descriptions
Node Type Based on Operational Behavior
Simple Data Model Realization
Steps Involved in Data Model Realization
Mandatory Contents of Every Data Model Realization File
Implementing Data Acquisition Mechanisms
UNIX Programs and Shell Scripts
Integrating Data Acquisition
Loading the DAQ Services
Bourne Shell Services
Node Type Based on Operational Behavior
Active Nodes
Mandatory RefreshQualifiers for Active Nodes
refreshService
refreshCommand
refreshInterval
Example of a Simple Module

6. Advanced Data Model Realization Techniques

What are Filters
Standard Extensions for File Name
Examples of Filters
CPU Data Filter
User Data Filter
Load Data Filter
File System Data Filter
Adding Filters to Data Model Realization
Example Data Model File
Example Data Model Realization File Using Tcl Filters
Loading the DAQ Services
Tcl Filters
RefreshQualifier for Filters
refreshFilter
Solaris Example--Loading the Filter File
Advanced Data Acquisition Mechanisms
Tcl/TOE Code
C Code Libraries and Tcl/TOE Command Extensions
Other Node Types based on their Operational Behavior
Passive Nodes
Derived Nodes
refreshQualifiers & Other Qualifiers
timeoutInterval
refreshTrigger
Specifying Node Name
Specifying RefreshTriggers from a Node in Another Module
refreshParams
refreshMode
async
sync
initInterval
initHoldoff
Check Qualifiers
updateFilter
refreshService
SNMP Service
Internal Service
Superior Service
MIB Node Service
Data Model Realization Specifications with Tcl procedures as DAQ
Example Data Model File
Standard Extension for File Name
Loading the DAQ Services
Tcl Procedures
Node Type Based on Operational Behavior
Refresh Qualifiers
Data Model Realization Specifications with C libraries and Tcl/TOE Command Extensions as DAQ
Solaris Example Data Model Realization File
Solaris Example - Tcl Command Extension
Writing a C Library
Writing a Tcl Extension
Package Naming
Init Function
Package Registration
Command Registration
Returning Data into Tcl
Loading the DAQ Services
Tcl Command Extension Packages
Node Type Based on Operational Behavior
Refresh Qualifiers
Another DAQ Service
Tcl Shell Service
Solaris Example--Tcl Shell
Performance Considerations

7. Alarm Management

What are Alarms
Modules and Alarms
Built-In rCompare Rule
Writing Custom Rules
Alarm Management using rCompare Rule
Example Alarm File (solaris-example-d.def)
Managing Alarms using rCompare
Using the rCompare Rule in the Models File
Example--Intermediate Data Model
How to specify Alarms in the Data Model File
Alarm Types
Data and Alarm Type Primitive Examples
Required Content in the Model Realization File
Creating the Alarm File
File Name
Contents
Specifying the Alarm Criteria
Specifying Alarm Checks
Alarm Checks
Specifying Alarm Limits
Alarm Severities
Alarm Window
Specifying Status Actions
Solaris Example--CPU Status Action

8. Rules

Rules Agent Infrastructure
Rules and Derived Objects
Rule Naming
Rule Assignment
Rule Files
Module-Specific Rules
General Rules or Base Rules
Rules Created By Clients
Rule Placement in Hierarchy
A Node Can Require More Than One Rule
Rule Can Have No Natural Node to be Attached to
Node Can Have a Rule but No Data
Rules Attributes
Rule Data Storage
Rule State Transitions
Rule Invocation Procedure (ruleFire)
Rule Event Status
Rule Functions
Third Party Rule Engine Interface Functions
Rule Loading
Rule Assignment
Key TOE Functions
How to Write A Tcl Rule
Tcl Rule Example
Tcl Rules File Format
Tcl Rule Template
Attaching a Rule to the Module Configuration Files
Assigning Initial Values to Rule Parameters
Specifying Rule Text Messages
More Examples Of Rules
Config Reader Rule
Log Rule

9. Additional Specifications for a Module

Additional Parameter Specifications
Example: Solaris m.x File
Additional Parameters
Predefined Additional Qualifiers
To Specify a Managed Property as Writable
Creating Multiple Instances of a Module
Instance Specification
Organizing Module Parameters
Making a Module Not Loadable
Alternate Way of Specifying a Module Location
Enterprise Module Parameter
Referencing Parameters
Improving Performance using Server Override Properties File
Server Override Properties File
Example Server Override Properties File
Additional Data Model Specifications
Specifying Hidden Managed Properties
Data Logging Support
Automatic Data Logging
Logging To Internal Cache
Logging To File
To Log Data to a Typical Flat File
To Log Data to a Circular Log File
Logging Data of a Scalar Node to an Internal Cache
Logging Two Rows of a Table Managed Property
Specifying Module Availability
Specifying the Availability Property in the Agent File
Persistence
Specifying Adhoc Commands
Command Specification
Row-Specific Commands
Probe Commands
To Specify a Probe Command
Row Dependent Probe Queries
Find Files Example
Probe Command Security
To Limit Top Probe Command
Enabling Modules for Metadata
Error Reporting

10. Modules and SNMP

Adding Support for SNMP Table Management
ROWSTATUS Primitive
Instance Node
Required Values
Data Formats
Example--Filesize
Adding Support for Global Table or Row Actions
Adding Node Icons
Adding SNMP Table Management
User-defined Actions
Activate Actions
SNMP Set Actions
Prevalidate Actions
postrow Actions
Postvalidate Actions
setrow Actions
Set Actions
Rollback Actions
Global Actions
Adding SNMP Security
Logical Users, Groups, and Community Names
Security Levels
Default ACLs
Examples--Specifying ACLs
Using SNMP Table Management Commands
To Add a Row
To Remove a Row
To Edit a Row
To Disable a Row
To Enable a Row
To Load a Module Instance
Example: Adhoc SNMP Table Management
Example: Additional Objects to the Solaris Example File
Sending Traps from the Agent
Example: Agent File
Using the mib2x Tool
mib2x Syntax
Examples of mib2x

11. Agent Interactive Mode

Working in the Agent Interactive Mode
To Work Within the Agent Interactive Mode
To Exit the Environment
Tcl/TOE Commands
Object Creation
Object Relationship
Object Interaction
Dictionary Operations
Object/Dictionary I/O
Interactive Object Tree Navigation
Class Definition
Class/Package Loading
Agent Interactive Mode Usage Examples
To Define a Module
To Find the Attribute Value of a Certain Object
To View the Result of an Operation on a Certain Object
To Import and Export a Set of Object Attributes
To Generate SNMP MIB From a Module

12. Developer Environment Tools

snmpset
Name
Synopsis
Description
Options
Exit Status
Examples of snmpset
snmpget
Name
Synopsis
Description
Options
Exit Status
Examples of snmpget
snmpnext
Name
Synopsis
Description
Options
Exit Status
Examples of snmpnext
snmptrap
Name
Synopsis
Options
Exit Status
Trap Type Information
Examples of snmptrap
snmpwalk
Name
Synopsis
Description
Options
Exit Status
Examples of snmpwalk
snmpwalktable
Name
Synopsis
Description
Exit Status
Examples of snmpwalktable

13. Composite Objects

Implementing a Composite Object
To Add a Composite Object
To Remove a Composite Object
Discovery Object Table Definition
dot_composite_type
2 - composite_group
1 - composite_modeled_agent
3 - composite_agent
5 - composite_module
Special Behavior
2 - composite_group
1 - composite_modeled_agent
3 - composite_agent
5 - composite_module
Filtering
2 - composite_group
1 - composite_modeled_agent
3 - composite_agent
5 - composite_module
Adding a Reference to the Discovery Object Table
Object Identification (OID)
Troubleshooting
Finding the Composite Object when Running a Discovery Request
When the es-dt script is executed or if the Discovery Object Table is Modified
Running the Discovery Interface
Examples
Discovery Object Table Module Data Realization File
Discovery Object Table MIB

14. Device Modeling

Sun Management Center Framework
Devices Within SunMC
Modeling a Device
Editing the Configuration File
Configuring the Topology
Server Layer Interface
Modeling Your Devices at the Server Level
The es-device Script
Synopsis
The Configuration File (devcfgfile)
Object Types
Key Descriptions
i18n_key
Example Configuration File
Example Data Node - Host
Example Data for Node - SNMP
Example Data for Node - Module
Example Data for Group - IPBASED
Example Data for Segment - Bus
Agent Layer Interface
Modeling Your Devices at the Agent Level
The deviceinfo Script
Agent Configuration File
Key Value Pairs
Example deviceinfo.conf File

15. Module Builder

The Module Builder Interface
The -m.x, -d.x, and -models-d.x Files
To Build a Module Using the Module Builder
To Launch the Module Builder
Module Builder Menu Choices
File Specific Commands
Load Production Module
Load Development Module
Save Development Module
Publish Module
Export MIB
Import MIB
Building Module Parameter Contents (-m.x)
To Access the Module Parameters Folder
To Update the Module Parameters Tables
Boolean
Instance
List
Password
Building Data Model Contents
(
-d.x)
Commands Used When Building Data Model Contents
Copy Nodes/Copy Table
Paste Nodes
Add Node
Clear Module
Delete Node/Delete Table
Using the Module Root to Define Hierarchy and DAQ
Data Types
Adding Nodes
To Create the Hierarchy of the Module
To Change the Data Model
Defining Data Acquisition
(
models-d.x)
Commands Used When Enabling DAQ
Run Module Confirmation Box
Stop Module Confirmation Box
Activate Node/Activate Table Confirmation Box
Deactivate Node/Deactivate Table Confirmation Box
Clear Confirmation
To Enable Data Acquisition on a Module, Table, or Object

Part II. Programmer's Reference to Console Integration and Client API

16. Console Integration

Extending the Console
Integration Levels
Configuration Files
es-tool: Syntax for console-tools.cfg Entries
es-apps: Syntax for console-host-apps.cfg Entries
Update Utilities
Integrating Sun Management Center Software With Other Management Tools
To Invoke the HostDetailsBean
Field Summary
Constructor Summary
Method Summary
Field Detail
Constructor Detail
Method Detail
Compilation and makefile Guidelines

17. Advanced Console Customization

General Guidelines
Exiting Applications Launched from Static and Dynamic Menus
Launching a Java Program from Multiple Places in Modules
General Integration Guidelines
Static Menus
Customizing Static Popup Menus
To Add Additional Popup Menu Options at the Module or Managed Object Level
To Add Menu Choices At the Table Level
Integration Guidelines and Notes for Static Menus
SMHelpBrowser
To Invoke a Help Class
To Integrate the Online Help Mapping Key
Troubleshooting for Static Menus
Console Message Exceptions
Strange Behavior of Integrated Program if Invoked Multiple Times
New Menu Choices are Not Visible for Static Menus
Example: staticmenu-version01-d.x
Example: SMHello.java
Example: SMContextExample.java
Dynamic Menus
Customizing Dynamic Popup Menus
To Specify New Dynamic Menu choice(s) Over a Table Cell
To Specify New Dynamic Menu Choice(s) Over a Table Column Header
To Test Popup Menus and See the Changes
Rules for Java Implementation for Dynamic Popup Menus
Internationalization for Dynamic Popup Menus
Troubleshooting (Dynamic Popup Menus)
Console Message Exceptions
Strange Behavior of Integrated Program when Invoked Multiple Times
New Menu Choices Are Not Visible for Dynamic Popup Menus
Example: Dynamic Menu
Dynamic Menu Java Code
Cell Editors
To Specify that a Cell is Editable
To Use the Boolean Editor
To Use the Combo Box Editor
To Implement a Customized Cell Editor
To Specify a Custom Cell Editor
Rules for Java Implementation of the Cell Editor
Internationalization of the Cell Editor
To Internationalize Cell Editors
To Test Custom Cell Editors
Example: Cell Editor
Cell Editor Java Code
Configurable Details Window Interface
es-details
Syntax
Adding Tabs Provided by Sun Management Center
Adding User-Defined Tabs
Specifying an Open Default Tab when Launching Details Window
Example inputfile
Example: TabHello.java
Removing Sun Management Center Default Tabs
Re-Running es-details and Undo
Integration Guidelines and Notes

18. Client API

Introduction to Client API Classes
API Usage for System Management
Sun Management Center Architecture
Sun Management Center Three-Tier Architecture
Client API Class Usage
Client API Definition
Java Language Object Class Examples
To Run the Client API Examples:
Login API
Example: SMLoginTest
Request Status API
Example: SMRequestStatus
Raw Data API
Example: SMRawDataRequest
Example: getURLValue Method
Example: setURLValue Method
Example: createURL Method
Example: getUserId Method
Example: SMProbeTest
Example: SMRawDataTest
Example: SMRawDataAsyncTest
Alarm API
Example: SMAlarmObjectRequest Class
Example: SMAlarmAsyncTest
Example: SMAlarmSyncTest
Managed Entity API
Example: SMManagedEntityTest
Module API
Example: SMModuleTest
Log Viewer API
Example: SMLogViewerTest
Resource Access API
Example: SMResourceAccessTest
Topology Agent API
Example: SMTopologyTest
Exception Classes API
How to Run Examples
Running SMAlarmAsyncTest
Running SMAlarmSyncTest
Running SMLogViewerTest
Running SMLoginTest
Running SMManagedEntityTest
Running SMModuleTest
Running SMProbeTest
Running SMRawDataTest
Running SMRawDataAsyncTest
Running SMResourceAccessTest
Running SMTopologyTest

Part III. Additional Material

19. Internationalization Guidelines

Internationalization
Terminology
Constraints
Assumptions and Dependencies
Software Guidelines
Properties Files
ResourceBundle Class Instances
Obtaining Resource Bundles/Properties Files
Independent Client/Bean Usage
UcInternationalizer Class
Direct ResourceBundle Management
Formatted Messages
Handling Non-ASCII Input
Data Only Stored in Agents
Data Stored in and Manipulated By Agents
Agent Internationalization
Objects/Classes/Properties
Modules
Attribute Editing
Dynamic Tables (RFC1903)
Rules
Installation/Setup Script Internationalization

20. Graphical User Interface Guidelines

Consistency
Information Sources
Main Console
Server Object Representation and Object Management
Guidelines for Modifying Topology Views
Layout View
Object Layouts
Status line
Status Messages
User Input
Mouse Actions
Selection Highlighting
Selecting Objects
De-selecting Objects
Keyboard Navigation Shortcuts
Table Appearance and Behavior
Table Contents
Color
Table Position
Cell, Row, and Column Selection
Colors
Fonts
Graphing
Property Setting Dialog
Optional Buttons
Time Setting
Alarms
Alarm System
Details Window

21. Sun Management Center Developer Environment Packaging

Packaging Helloworld_01
Makefile
Prototype Entries
Sun Management Center Software Packaging Practices
Package Naming
Package Versioning
Component Naming
Package Dependencies
Prototype File
Sun Management Center Module Name Practices

22. Integrating Addon Products with Sun Management Center

Sun Management Center Directory Organization
Layout of Addon Products
Example Layout
Packaging of Addon
Using the installation.info File
Format of the installation.info
The installation.properties File
Packaging Sun Management Center 2.x Addon Products
ES_ADDON_PLATFORM
ES_ADDON_FAMILY
Locale Information
Addon Setup Interface
es-inst -R Option
Packaging for Windows

23. Troubleshooting

Module
Console Messages
Agent Log File Messages
Interactive Agent Mode Messages
Console

A. Modules Appendix

Module Building Environment
Agent Development
Tcl Environment
TOE Environment
TOE Objects
Object Relationships
Combining Ancestral and Structural Relationships
Object Property Dictionaries
Dictionary Keys
Importing and Exporting Dictionaries (Module Configuration Files)
Dictionary Entry (Property) Representation
Multi-object Dictionary Representation
Action Specifications
TOE Object Classes
Agent Framework
Shell Service
Shell Service Result Handling
Shell Protocol
Ping Service
Master Event Loop (MEL) Service
Default I/O Service
Data Logging Registry Service
File Scanning Service
Subscribing for Patterns
Unsubscribing Patterns
Module Management
MIB Subtrees
Default SNMP Context
Non-default SNMP Contexts
Private Enterprises
Module Subtrees
Module Loading
Module Parameters
base-modules-d.dat
Loading & Unloading a Module in the Platform Agent
To Stop the Platform Agent
To Load a Module in the Platform Agent
To Unload a Module in the Platform Agent
MIB Manager
URL/OID Finder
To Convert an OID URL to an Actual OID
To Access the fulldes Shadow Attribute of the Same MIB Property
To Convert the Shadow OID URL to a Valid OID
To Access a Table Property in a Module
To Convert the OID URL to an OID
Module Loader
Module Checker
Browser Root
Module Registry
Module Tables
Additional Base MIB Branches
System and Agent Information
System Information
Agent Information
Module Information
Trap Information
Trap Forward
Control Functions
Action Object
Cache Object
Useful Tcl Commands and Filters
valueOf <node name
getValue <index
getValues
getRowData [ <rowname
getTableDepth
getFilter
setValue <index> <value
locate <node name
toe_send <toeid> <command
transposeFilter
rateFilter<node name
rateFilter64 <node name
tableRateFilter<node name
tableRateFilter64 <node name
pctFilter<node1><node2
linearFit<value
digitalFilter<value
Alarm Status Strings
Solaris Example of Status Strings--CPU Managed Object
Module Testing Tips
File Naming Conventions
Standard Extensions
Solaris Example Module Filenames
Mandatory and Optional Module Files
Location of Module Files
Data Management
Information Model
General Concepts
Managed Entity Modeling
Management Model Primitives
Alarm Representation
Operational Model
Operation Sequence
Data Acquisition Scenarios
Cascade Scenarios
Active Scalar
Active Vector
Compound Scalar
Compound Vector
Complex Vector
Nested Heterogeneous
Derived Nodes
Alarm Rule Checks
Alarm Actions
Management Information Base (MIB)
Modules
Shadow MIB
Ad-hoc SNMP Operations
Ad-hoc Probe Operations
Probe Server
Data Logging
Registry of Current Data Logging Requests
Internal History Buffer
Logging Data to a File
Configuration
Data Log Format in Sun Management Center 2.1.x
Format Differences Between 2.1.1 and 3.0 Versions
Data Log Format in Sun Management Center 3.0
Data Logging Destinations
Logged Data Retrieval
Data Logging Registry

B. Time Expression Specifications

Notation
Time Expression Specification
Absolute Time Expression Specification
Cyclic Time Specification
Comparison Time Specification
Cron Time Specification
Variable Substitution Specification

C. Module Building Tutorial

Module Example
Steps to Create a Module
filesize Module Version 1--Simple Prototype
Naming the Module
Creating a Data Model
Realizing the Model
Specifying Alarm Management Information
filesize Module Version 2--Improving DAQ Mechanism
filesize Module Version 3--Adding Parameters to File Name Specification
filesize Module Version 4--Adding SNMP Table Management Capabilities
Module Name
Modifying the Model
Realize the Modified Model
Alarm Management

D. SNMP Proxy Monitoring Modules

Proxy Monitoring
Module Parameter File
Module Models File
Legacy MIB OIDs Mapping File
Module Realization File
Loading the Legacy MIB OIDs Mapping File
Data Acquisition
SNMP Sets
SNMP Set Example
Module Trap Action Definition File
Naming Conventions
Sample Specification
Valid Parameters
Example: Trap Action File for HP JetDirect
Example: Qualifiers for Loading the HP JetDirect Module Trap Actions File
Example: Qualifiers for Loading Both the OIDs and Trap Actions Files for the HP JetDirect Module

E. URL Specifications

Uniform Resource Locator (URL)
SNMP URLs
SNMP URL Format
SNMP URL Types
Numeric
Symbolic
Module
Shadow Operations
SNMP URL Examples
Managed Property Value (scalar)
Managed Property Value (vector)
Managed Property Qualifier (Scalar Property, Scalar Qualifier)
Managed Property Qualifier (Vector Property, Scalar Qualifier)
Managed Property Qualifier (Vector Property, Vector Qualifier)
Managed Object Qualifier (Scalar Qualifier)
Managed Object Qualifier (Vector Qualifier)

F. Status Propagation

Example Topology Hierarchy
Event 1: Node in Module E on Host C Goes into Error (Red)
Event 2: Node in Module G on Host D Goes into Warning (Amber)
Event 3: Node in Module F on Host C Goes into Warning (Amber)
Event 4: Another Node in Module E on Host C Goes into Warning (Amber)
Missed SNMP Traps

G. SNMP Trap Subscription

Sun Management Center Agent Components and Trap Subscription
Subscribing for Traps
Trap Subscription Examples
SNMP SET Command
Adding Jobs
Removing Jobs
Sun Management Center Enterprise Specific Traps
SNMP Trap Subscription Support

Glossary

Index




Previous Next Contents Generated Index Home

Copyright © 2000 Sun Microsystems, Inc. All Rights Reserved.