Last Updated: March 15, 2001


AIX System Management Instrumentation

Programmer's Guide

 

Just as a car dashboard makes status and configuration information available to the driver, AIX interfaces allow information to be made available to the system administrator. A car has sensors that are connected to instruments in the dashboard. In AIX, you can develop your own sensors to make any component you are adding to an AIX system remotely manageable. The process of gathering and making system information available is called instrumentation.

Your application can obtain and make available information about any manageable system resource by using remote instrumentation interfaces. For the purpose of this guide, these interfaces or protocols refer to industry-standard remote management interfaces. Through standardization, your information can be used by other remote management applications in a heterogeneous environment. This information is commonly used for configuration and monitoring from your remote management application, which can be running on an enterprise management console.

This guide describes three major interfaces that developers can use to instrument their resources in AIX. These interfaces are:


This guide covers the following topics:



 

Getting Started

For this guide, it is assumed that you understand basic system management disciplines and general network programming concepts.

Usually the best place to start is by taking the data and characteristics about your component and writing them out. If you start dividing things logically, some common things start to fall out in any situation. There is a managed resource or component, a device or application running on AIX that needs to be managed. There is also the need to manage this component from a remote management workstation or management console. This component would also have information associated with it that is specific to that device or application and information that needs to be configured or monitored. Because management is done over the network, an externally available protocol must be used to allow the management pieces to communicate.

The managed component can be any resource, designed for any task, as long as it has configuration information and is on an AIX system that is connected to the network. Keep in mind that a managed component could be an application running on a system that is itself a managed component. There could be one component or hundreds of components that comprise your system.

Your component will also need a remote management application. This management application will know the context of the information that your component has to configure. For your management application to make a change to your managed component, there must be an application associated with your component that is used for managing the component residing on an AIX system.

The state of the managed component and the configuration parameters are examples of management information. This information is specific to the managed component and includes any configuration parameter or process that you would want to monitor from across the network.

When you are deciding what information might be useful to make available to the administrator, consider the following questions. These questions are not meant to cover all possible areas that you would need to manage, but, are provided as a guideline to help you start thinking about the remote management needs of your component.
 

Configuration

Monitoring


After you collect this set of information for your component, it will be easier to decide which instrumentation interface to use to make this information available. Each of the management interfaces discussed in the guide has its strengths and weaknesses. You might have really good reasons to pick one instrumentation interface over another. It is rare that one interface methods will ideally suit all the information for your component, but you can use the following chart to help you pick the best fit for your situation.
 
 

Characteristics needed  SNMP LDAP CIM
Data changes continuously X    
Data changes hourly X    
Data changes daily or less X X X
Data has many interrelationships   X X
Data associates lists to other lists   X X
Data shared across many systems   X  
Industry standard format X   X
Currently in use Everywhere Some Very Few

 

SNMP (Simple Network Management Protocol)

SNMP is a internet and industry standard defined by the Internet Engineering Task Force (IETF). SNMP is the best choice for data that is real-time or changing frequently. It requires very little overhead and resources on the system, nor does it need an http server or other applications to be configured before it is usable. SNMP also has the ability to send alerts (called traps) to management applications based on preconfigured monitor thresholds. It is, however, difficult to represent multidimensional relationships using SNMP.

The component configuration and monitoring information will need to be formatted into a Management Information Base (MIB) extension. There is only one MIB database per system. Different systems on the network support different areas of the MIB. The term MIBs is used to describe several MIB extensions, or logical areas of a MIB that describe a specific resource or system. For more information on MIB design, see the appendixes of this guide.

After the MIB extension is defined, you can write a special SNMP agent called a sub-agent. The sub-agent will only support queries for data objects represented in the MIB extension that you define. The main SNMP agent in AIX supports dynamic distributed agent APIs.  These APIs allow the system administrator to dynamically add, delete, or replace sets of management objects in the local Management Information Base, without requiring a recompile of the main SNMP agent. The supported APIs are DPI and SMUX. DPI is newer and more robust than SMUX, but SMUX is provided for existing SMUX-based sub-agents. If you will be developing a new sub-agent on AIX, use the DPI interface. For more information on SMUX and DPI, see the RFC links in Appendix A.
 
 

CIM (Common Information Model)

CIM, the newest of the three interfaces, is really only a data model and does not specify a transport protocol. But, when CIM is used in a remote management system, typically what is meant is using the HTTP protocol as the transport to carry XML-encoded CIM objects. This system is referred to as Web Based Enterprise Management (WBEM). For the purpose of this guide, CIM refers to using CIM objects in XML over HTTP.

The Distributed Management Task Force (DMTF) is the standards body that defines the CIM data model. The data model is object-oriented and allows for complex multidimensional relationships between objects. The data model is represented in CIM schema and expressed in a Managed Object File (MOF). You can read more about the schema and its design at the DMTF web site listed in Appendix A or in the book listed in Appendix B.

For AIX, CIM objects are made available through attachment to a CIM Object Manager (CIMOM). To make you component data available as XML objects through the CIMOM, you need to write a provider. A provider is code that supports only the CIM extensions that are meaningful for your component. The provider API is used to attach and register your component objects. More information can be obtained from the books and links listed in the appendixes of this guide.
 
 

LDAP (Lightweight Directory Access Protocol)

LDAP is the Internet and industry standard for directory services over TCP/IP. It is also defined by the Internet Engineering Task Force (IETF). LDAP is used for instrumentation, but instead of keeping the information local to the system, it stores to an LDAP server. The real benefit of using LDAP to store management information is that multiple systems can make use of the same information. The system administrator does not have to enter a long list of information for each system in the network; the information only needs to be entered once. Every directory-enabled system then uses exactly the same information. This has the advantage of needing less maintenance time and reduces the chance of error. Another, often overlooked, use of LDAP is that a list of information can be shared among different applications and components, further reducing the number of lists the administrator needs to manage.

LDAP information is stored in an object-oriented tree structure called a schema. The stored data is not intended to be changed frequently. Access to storage and retrieval of the information objects is done through the LDAP API. More information on this API can be obtained from the books and links in the appendixes of this guide.
 



 

Appendix A: Related Web Links

See the web links listed in this section for further information on the interfaces. These links were all current at the time this guide was written, but they may have changed. Use your favorite search engine to locate the new location.

SNMP

University of  Twente - Information and links
http://snmp.cs.utwente.nl/

Technical University of Braunschweig - Excellent source for SNMPv3 information
http://www.ibr.cs.tu-bs.de/ietf/snmpv3/

Architecture overviews
http://www.rad.com/networks/1995/snmp/snmp.htm
http://www.ddri.com/Doc/SNMP_Overview.html

You can access the following IETF RFCs by substituting the RFC number for the XXXX in the following URL:

http://www.ietf.org/rfc/rfcXXXX.txt

RFC 1155 - Structure and Identification of Management Information for TCP/IP based internets.
RFC 1156 - Management Information Base Network Management of TCP/IP based internets
RFC 1157 - A Simple Network Management Protocol (SNMP)
RFC 1158 - Management Information Base Network Management of TCP/IP based internets: MIB-II
RFC 1187 - Bulk Table Retrieval with the SNMP
RFC 1212 - Concise MIB Definitions
RFC 1213 - Management Information Base for Network Management of TCP/IP-based internets: MIB-II
RFC 1215 - A Convention for Defining Traps for use with the SNMP
RFC 1227 - SNMP MUX Protocol and MIB
RFC 1228 - SNMP-DPI: Simple Network Management Protocol Distributed Program Interface
RFC 1303 - A Convention for Describing SNMP-Based Agents
RFC 1592 - Simple Network Management Protocol Distributed Protocol Interface Version 2.0
RFC 1905 - Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)
RFC 1906 - Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)
RFC 1907 - Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2)
RFC 2570 - Introduction to Version 3 of the Internet-standard Network Management Framework
RFC 2571 - An Architecture for Describing SNMP Management Frameworks
RFC 2572 - Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)
RFC 2573 - SNMP Applications
RFC 2574 - User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)
RFC 2575 - View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)
RFC 2576 - Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework
 

CIM

Distributed Management Task Force - Governing body
http://www.dmtf.org

Storage Network Industry Association Java-based CIMOM
http://www.snia.org/English/Resources/Code/CIM_OM.html
 

LDAP

Understanding LDAP - Excellent starting point
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg244986.html?Open

University of Michigan - Historical information and FAQs
http://www.umich.edu/~dirsvcs/ldap/

LDAP Tutorials and links
http://www.kingsmountain.com/ldapRoadmap.shtml

Background information and links
http://people.netscape.com/bjm/whyLDAP.html

Open source LDAP effort
http://www.OpenLDAP.org/

You can access the following IETF RFCs by substituting the RFC number for the XXXX in the following URL:

http://www.ietf.org/rfc/rfcXXXX.txt

RFC 1777 - Lightweight Directory Access Protocol
RFC 1778 - The String Representation of Standard Attribute Syntaxes,
 
 

Appendix B: Related Publications

See the books listed in this section for further information on the interfaces.

SNMP

The Simple Book: An Introduction to Management of TCP/IP-based Internets
Author: Marshall T. Rose
ISBN 0138126119

The Simple Book: An Introduction to Management of TCP/IP-based Internets (Second Edition)
Author: Marshall T. Rose
ISBN 0131772546

A Practical Guide to SNMPv3 and Network Management
Author: Dave Zeltserman
ISBN 0130214531

SNMP, SNMPv2, SNMPv3 and RMON 1 and 2
Author: William Stallings
ISBN 0201485346

SNMP, SNMPv2 and CMIP: The Practical Guide to Network Management Standards
Author: William Stallings
ISBN 0201633310

Network Management: A Practical Perspective
Author: Allan Leinwand & Karen Fang
ISBN 0201527715

Managing Internetworks with SNMP
Author: Mark A. Miller, P.E.
ISBN 1558513043

Total SNMP
Author: Sean Harnedy
ISBN 1878956337

How to Manage Your Network using SNMP
Author: Marshall T. Rose & Keith McCloghrie
ISBN 0131415174

SNMP: A Guide to Network Management
Author: Sidnie Feit
ISBN 0070203598

Understanding SNMP MIBs
Author: David Perkins
ISBN: 0134377087
 

CIM

Common Information Model: Implementing the Object Model for Enterprise Management
Authors: Winston Bumpus, John W. Sweitzer, Patrick Thompson, Andrea R. Westerinen, Raymond C. Williams
ISBN: 0471353426
 

LDAP

Understanding and Deploying LDAP Directory Services
Authors: Tim Howes, Mark C. Smith, Gordon S. Good, Timothy A. Howes
ISBN: 1578700701

Programming Directory-Enabled Applications With Lightweight Directory Access Protocol
Authors: Tim Howes, Mark Smith
ISBN: 1578700000

Big Book of Lightweight Directory Access Protocol (LDAP) RFCs
Authors: Pete Loshin, Bill McCarthy
ISBN: 0124558437

Implementing LDAP
Author: Mark Wilcox
ISBN: 1861002211

Understanding LDAP
Author:  IBM International Technical Support Organization (IBM Redbooks)
ISBN: 0738400149

LDAP Implementation Cookbook
Author: IBM International Technical Support Organization (IBM Redbooks)
ISBN: 0738413313

LDAP Programming: Directory Management and Integration
Author: Clayton Donley
ISBN: 1884777910

LDAP Programming with Java
Author: Rob Weltman, Tony Dahbura
ISBN: 0201657589
 

(c) Copyright International Business Machines Corporation 2001.  All rights reserved.  Note to U.S. Government Users Restricted Rights -- Use, duplication, or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

The following term is a trademark of International Business Machines Corporation in the United States, other countries, or both:  AIX.  Other company, product, or service names may be the trademarks or service marks of others.
 
 

End of Document