Network Working Group C. Kalbfleisch Request for Comments: 2564 Verio, Inc. Category: Standards Track C. Krupczak Empire Technologies, Inc. R. Presuhn BMC Software, Inc. J. Saperia IronBridge Networks May 1999 Application Management MIB Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (1999). All Rights Reserved. Abstract This memo defines a standards track portion of the Management Information Base (MIB) for use with network management protocols in the Internet Community. In particular, it defines objects used for the management of applications. This MIB complements the System Application MIB, providing for the management of applications' common attributes which could not typically be observed without the cooperation of the software being managed. Table of Contents 1. Introduction and Overview ................................... 2 2. The SNMP Management Framework ............................... 4 3. Architecture ................................................ 5 3.1. Relationships to other MIBs ............................... 5 3.1.1. Relationship to the System Application MIB .............. 5 3.1.2. Relationship to the Host Resources MIB .................. 6 3.1.3. Relationship to NSM ..................................... 6 4. MIB Structure ............................................... 6 4.1. The service-level tables .................................. 8 4.1.1. The service name to service instance table .............. 8 4.1.2. The service instance to service name table .............. 9 4.1.3. The service instance to running application element table 9 4.1.4. The running application element to service instance table 9 Kalbfleisch, et al. Standards Track [Page 1] RFC 2564 Application Management MIB May 1999 4.2. The I/O channel group ..................................... 9 4.2.1. The open channels table ................................. 10 4.2.2. The open files table .................................... 10 4.2.3. The open connections table .............................. 11 4.2.4. The transaction stream summary table .................... 12 4.2.5. The transaction flow statistics table ................... 13 4.2.6. The transaction kind statistics table ................... 13 4.3. The former channel group .................................. 13 4.3.1. The former channel control table ........................ 14 4.3.2. The former channel table ................................ 14 4.3.3. The former connection table ............................. 14 4.3.4. The former file table ................................... 14 4.3.5. The transaction history tables .......................... 14 4.4. The running element status and control group .............. 15 4.4.1. The running application element status table ............ 15 4.4.2. The running application element control table ........... 15 5. Definitions ................................................. 16 6. Implementation Issues ....................................... 80 7. Intellectual Property ....................................... 80 8. Acknowledgements ............................................ 81 9. Security Considerations ..................................... 81 10. References ................................................. 82 11. Authors' Addresses ......................................... 84 12. Full Copyright Statement ................................... 86 1. Introduction and Overview This document furthers the work begun in the systems application MIB [31]. The development of the "Host Resources MIB" [10], "Network Services Monitoring MIB" [23], "Mail Monitoring MIB" [24], "Relational Database Management System (RDBMS) Management Information Base (MIB) using SMIv2" [12], "Entity MIB using SMIv2" [20], and "Applicability of Standards Track MIBs to Management of World Wide Web Servers" [21] provides us with a base of experience in making a variety of applications visible to management; this specification abstracts out the common aspects of applications management and provides a generic base usable for the management of almost any application. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [22]. Due to the design decision to not require application instrumentation, many important topics were not handled in system application MIB [31]. The following topics are within the scope of this document: Kalbfleisch, et al. Standards Track [Page 2] RFC 2564 Application Management MIB May 1999 - Support for generic application throughput measurements; - Providing MIB definitions that allow managed entities to report what they considered to be units of work; - Providing support for generic application response time monitoring capabilities; (Note that APIs for this purpose have already been developed, an example of such an API is to be found in the "Application Response Measurement (ARM) API Guide, Version 2" [1].) - Provide explicit support for the management of applications distributed within a single managed system ("local" distribution); - Address generic resource management issues, including: - files in use; - I/O statistics (from the application's perspective, not at the operating system or device driver level); - application-layer networking resource usage - Facilities for the control of applications, including: - Stopping application elements - Suspending and resuming application elements; - Requesting reconfiguration (e.g., SIGHUP). Note that these issues are addressed at least in part by other (non- IETF) standards work, including "ITU-T Recommendation X.744 | ISO/IEC IS 10164-18:1996" [3] and "IEEE P1387.2, POSIX System Administration - Part 2: Software Administration" [2]. Kalbfleisch, et al. Standards Track [Page 3] RFC 2564 Application Management MIB May 1999 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: An overall architecture, described in RFC 2571 [26]. Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [4], STD 16, RFC 1212 [6] and RFC 1215 [7]. The second version, called SMIv2, is described in STD 58, RFC 2578 [15], RFC 2579 [16] and RFC 2580 [17]. Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [5]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [14] and RFC 1906 [19]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [19], RFC 2572 [27] and RFC 2574 [29]. Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [5]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [18]. A set of fundamental applications described in RFC 2573 [28] and the view-based access control mechanism described in RFC 2575 [30]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. Kalbfleisch, et al. Standards Track [Page 4] RFC 2564 Application Management MIB May 1999 3. Architecture Object-oriented modeling techniques like subclassing and multiple inheritance can be emulated in the SNMP information model through the use of tables with common indexes. The challenge for the developer of management applications is to recognize those situations in which various aspects of a single logical resource are represented in several different tables, possibly defined in different MIBs. Most of the management information defined here may pertain to any number of applications in a managed system. The simplest way of supporting this requirement within the SNMP information model is to use tables. This means that the management information for a particular resource may be found in one or more rows of one or more tables; the fact that this information pertains to a single resource may be inferred from the index values used, possibly with the support of mapping tables. This also means that a single table may contain management information relevant to a number of applications. This has significant implementation implications; see the implementation issues section below for more information. 3.1. Relationships to other MIBs This section outlines the relationships of the components of this MIB (usually in the form of common indexing structures) to: - the systems applications MIB [31] - the host resources MIB [10] - the network services monitoring MIB [23] 3.1.1. Relationship to the System Application MIB The system application MIB defines attributes for management of applications which can be realized without instrumenting the application itself. This specification extends that framework to include additional attributes which will typically require instrumentation within the managed resource. The sysApplRunElmtIndex is the key connection between these two MIBs; it is essential that implementations of this MIB and of the system applications MIB running concurrently on a given platform employ a consistent policy for assigning this value to identify running application elements. Kalbfleisch, et al. Standards Track [Page 5] RFC 2564 Application Management MIB May 1999 3.1.2. Relationship to the Host Resources MIB The Host Resources MIB [10] supplies information on the hardware, operating system, installed and running software on a host. The Host Resources MIB has three hardware groups ("hrSystem", "hrStorage" and "hrDevice") and three software groups ("hrSWRun", "hrSWRunPerf" and "hrSWInstalled"). Of these, the software groups are of greatest significance to this MIB. The software groups define management information on the software used in the system. The information provided is grouped into (1) the currently running, (2) the performance and (3) the installed applications. The index "hrSWRunIndex" used in the "hrSWRunTable" and other tables to identify running software by process identifier (or equivalent) relates information in the Host Resources MIB to information in the System Applications MIB and this MIB. It is essential that the values assigned to hrSWRunIndex from the Host Resources MIB be consistent with the values used for sysApplRunElmtIndex. 3.1.3. Relationship to NSM The Network Services Monitoring MIB [23] is defined as the base set of attributes for managing network applications. The Application MIB includes information normally obtainable only from the managed resource itself, rather than the supporting system. Due to differences in index representation, the relationship between the Network Services Monitoring MIB and the Application MIB is not formally defined. 4. MIB Structure This MIB is organized into several groups, which in turn are organized into tables to provide the monitoring and control of information relevant to the management of applications. The groups model: - the service-level view of applications - information on open channels (files, connections, transaction streams) in use by applications - historical information on former channels - process-level status and control information Kalbfleisch, et al. Standards Track [Page 6] RFC 2564 Application Management MIB May 1999 These groups are organized into various tables. Information for a particular running managed application appears in the form of entries in the appropriate tables. The tables are: - the tables providing a service-level view, including: - the service name to service instance table - the service instance to service name table - the service instance to running application element table - the running application element to service instance table - the tables providing information on I/O channels, including: - the table of open channels - the table of open files - the open connections table - the transaction statistics tables - historical information on I/O channels - the running application element status and control group - the running application element status table - the running application element control table In order to support SNMPv1, SNMPv2, and SNMPv3 environments, in cases where counter objects may potentially advance very rapidly, where sixty-four bit counters have been used thirty-two bit counters reporting the low-order thirty-two bits of the value have also been defined. Since rows in most of these tables will come and go with the running application elements whose information is contained in them, sysUpTime.0 is not appropriate as a discontinuity indicator for counters in these tables. By defining separate discontinuity indicators for the rows in these tables, entries can come and go as needed without causing other objects to appear to have discontinuities. As required by [15], the discontinuity indicators for the various information objects in these tables are identified in Kalbfleisch, et al. Standards T