The operation and maintenance support in OTP consists of a generic model for management subsystems in OTP, and some components to be used in these subsystems. This document describes the model.
The main idea in the model is that it is management protocol independent. Thus, it is not tied to any specific management protocol. An API is defined which can be used to write adaptations for specific management protocols.
Each OAM component in OTP is implemented as one sub application, which can be included in a management application for the system. Note that such a complete management application is not in the scope of this generic functionality. Examples illustrating how such an application can be built are included however.
The protocol independent architectural model on the network
level is the well-known
The manager is often referred to as the
The agent is an entity that executes within a
The management information is defined in an
In this section, the generic protocol independent model for use within an OTP based network element is presented. This model is used by all operation and maintenance components, and may be used by the applications. The advantage of the model is that it clearly separates the resources from the management protocol. The resources do not need to be aware of which management protocol is used to manage the system. This makes it possible to manage the same resources with different protocols.
The different entities involved in this model are the
When a manager makes a request to the agent, we have the following picture:
Note that the mapping between instrumentation function and resource is not necessarily 1-1. It is also possible to write one instrumentation function for each resource, and use that function from different protocols.
The agent receives a request and maps this request to calls to one or several instrumentation functions. The instrumentation functions perform operations on the resources to implement the semantics associated with the managed object.
For example, a system that is managed with SNMP and HTTP may be structured in the following way:
The resources may send notifications to the manager as well. Examples of notifications are events and alarms. There is a need for the resource to generate protocol independent notifications. The following picture illustrates how this is achieved:
The main idea is that the resource sends the notfications as
Erlang terms to a dedicated
For all OAM components, SNMP adaptations are provided. Other adaptations may be defined in the future.
The OAM components, and some other OTP applications, define SNMP MIBs. All these MIBs are written in SNMPv2 SMI syntax, as defined in RFC1902. For convenience we also deliver the SNMPv1 SMI equivalent. All MIBs are designed to be v1/v2 compatible, i.e. the v2 MIBs do not use any construct not available in v1.
The top-level OTP MIB is called
Each MIB is contained in one application. The MIB text files
are stored under
sasl-1.3/mibs/OTP-MIB.mib
include/OTP-MIB.hrl
priv/mibs/OTP-MIB.bin
An application that needs to IMPORT this mib into another
MIB, should use the
snmp:c("MY-MIB", [{il, ["sasl/priv/mibs"]}]).
If the application needs to include the generated
-module(my_mib).
-include_lib("sasl/include/OTP-MIB.hrl").
The following MIBs are defined in the OTP system:
This MIB contains the top-level OTP registration objects, used by all other MIBs.
This MIB contains the general Textual Conventions, which can be used by any other MIB.
This MIB contains objects for instrumentation of the Erlang nodes, the Erlang machines and the applications in the system.
This MIB contains objects for instrumentation of disk, memory and cpu usage of the nodes in the system.
This MIB contains objects for instrumentation and control of the extensible snmp agent itself. Note that the agent also implements the standard SNMPv2-MIB (or v1 part of MIB-II, if SNMPv1 is used).
This MIB contains objects for instrumentation and control of the events and alarms in the system.
This MIB contains objects for instrumentation and control of the logs and FTP transfer of logs.
This MIB contains objects for instrumentation and control of the events and alarm logs in the system.
This MIB contains objects for instrumentation and control of the snmp audit trail log in the system.
The different applications use different strategies for
loading the MIBs into the agent. Some MIB implementations are
code-only, while others need a server. One way, used by the
code-only mib implementations, is for the user to call a
function such as