INTERNET-DRAFT C. Kalbfleisch Verio, Inc. C. Krupczak Empire Technologies, Inc. R. Presuhn BMC Software, Inc. J. Saperia BGS Systems, Inc. 21 March 1997 Application Management MIB Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet- Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Abstract This memo defines an experimental 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 aspects which could not typically be observed without the cooperation of the software being managed. 1. Introduction This draft furthers the work begun in the systems application mib [11]. See the issues list at the end of this document for issues that remain to be worked out. Applmib Working Group Expires September 1997 [Page 1] Internet Draft Application Management MIB 21 March 1997 The development of [1], [2], [3], [4], [8] and [9] 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. 2. Overview Many important topics were not handled in system application MIB [11]. The following topics are within the scope of the this document: - 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; - 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); - other resources are open to discussion, possibilities include: - various system calls; - heap usage; - stack penetration; - networking resources. - Providing access to dependency information, both in the form of MIB objects to report dependencies on "mission critical" processes, as well as the logging of failures due to dependencies. Applmib Working Group Expires September 1997 [Page 2] Internet Draft Application Management MIB 21 March 1997 - Provide a generic logging (stderr) capability: - Identify common application log entries interest; - Permit use of specialized log entries where appropriate; - Provide generic facility for the management of this log; - Provide generic facility to control notification generation by the application; - Facilities for the control of applications, including: - Starting and stopping applications and their elements; - Suspending and resuming applications and their elements; - Configuration of application parameters; - A "mission critical process" MIB to identify processes that are of particular interest; - Reconfiguration (e.g., SIGHUP) request capability. Note that these issues are addressed at least in part by other standards work, including [12] and [13]. Some topics were identified as being of interest to the applmib working group, but outside the scope of this document. - Providing MIB definitions that allow management to define what is to be considered an error. This includes mechanisms for filtering and selective forwarding of information from notifications or log entries. Topics identified as specifically out of scope include: - Providing MIB definitions to allow dynamic control of the definition of units of work; - Explicit support for the management of applications distributed across multiple systems; (The indexing structure and semantics of the system application MIB [11] are not sufficient for this task.) Applmib Working Group Expires September 1997 [Page 3] Internet Draft Application Management MIB 21 March 1997 - Issues of backup and recovery; - Issues of software request, delivery, installation, activation, patching, version update, reversion, and removal; - Issues of software validation and integrity checks; - Issues of software licensing. 3. Architecture To emulate the object-oriented modeling techniques of subclassing and multiple inheritance, the SNMP information model provides for 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 deduced 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. Relationships to other MIBs This section will outline the relationships of the components of this MIB (usually in the form of common indexing structures) to: - the systems applications MIB [11] - the host resources MIB [1] - the entity MIB [8] - the network services monitoring MIB [2] Relationship to NSM The Network Services Monitoring MIB is defined as the base set of attributes for managing network applications. This MIB extends that Applmib Working Group Expires September 1997 [Page 4] Internet Draft Application Management MIB 21 March 1997 set of attributes to include information normally obtainable only from the managed resource itself, rather than the supporting system. The nsmToSysApplElmtRunTable is defined to provide the relationship between the NSM and system application MIB frameworks. Relationship to the system application MIB The system application MIB defines attributes for management of applications which can be realized without instrumenting an application. 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 running application elements. 4. MIB Structure The open files table The open files table contains one entry for file in use by a manageable running application element. The purpose of this table is to identify the files in use and to record I/O activity on each file attributable to a particular running application element. If multiple running application elements open the same file, there will be an entry for each running application element opening that file. Similarly, if a running application element opens a file multiple times, there will be an entry in this table for the file corresponding to each open. The task of combining the information for file activity from this table (organized by running application element) into per-application statistics can be accomplished by a manager using the System Application MIB's [11] sysApplInstallPkgTable to find the installed application, the sysApplRunTable to find the running instances of that application, and the sysApplElmtRunTable to find the relevant values of sysApplElmtRunIndex. The manager, armed with a set of values for sysApplElmtRunIndex, is now able to retrieve the relevant portions of the applOpenFileTable and other tables in this MIB. Entries in this table are indexed by the application run index and an arbitrary integer, chosen so that taken together the application run index and this integer yield a unique key for each open file. The following information is available in this table: Applmib Working Group Expires September 1997 [Page 5] Internet Draft Application Management MIB 21 March 1997 - file name - number of read requests - number of bytes read - timestamp of last read operation - number of write requests - number of bytes written - timestamp of last write operation - number of seek operations - file size - permissions with which file was opened Special cases to consider: stdin, stdout, stderr, etc. may require some special handling. The open files cross-reference table This table provides a way to efficiently determine which processes are currently holding a file open. It introduces no new attributes of its own, and merely provides an alternative indexing to the open file table. The open connections table This table extends the capabilities provided by the network services monitoring MIB [2]. It includes: - time the connection was opened - identification of the transport protocol in use - near-end address and port - far-end address and port - identification of the application layer protocol in use - number of read requests - number of bytes received Applmib Working Group Expires September 1997 [Page 6] Internet Draft Application Management MIB 21 March 1997 - time of last read request - number of write requests - number of bytes transmitted - time of last write request The transaction statistics tables Entries in the transaction statistics table are indexed by the application element run index and an arbitrary integer, chosen so that taken together the application run index and this integer yield a unique key for each transaction stream associated with the running application element. A transaction stream may be a file or a connection; a column in this table contains the OBJECT IDENTIFIER of the instance of applOpenConnectionOpenTime or applOpenFileOpenTime, in the open files table or open connections table respectively. The information recorded in the entries of this table includes: - Number of requests issued - Bytes of requests issued - Time of last request issued - Number of responses issued - Bytes of responses issued - Time of last response issued - Number of requests received - Bytes of requests received - Time of last request received - Number of responses received - Bytes of responses received - Time of last response received - Cumulative time between transmission of requests and receipt of corresponding responses - Cumulative time between receipt of requests and transmission Applmib Working Group Expires September 1997 [Page 7] Internet Draft Application Management MIB 21 March 1997 of corresponding responses The running application element status table This table provides information for a running application element. Indexed by the sysApplElmtRunIndex, an entry in this table reports useful information on that running element's resource usage. Entries in this table contain: - current heap usage for this running application element - current number of open network connections for this running application element Note that other information, such as the current number of open files for this running application element, is available from the sysapplElmtRunTable in [11]. The running application element control table This table provides rudimentary control over a running application element. Indexed by the sysApplElmtRunIndex, an entry in this table gives a manager with appropriate permissions the ability to suspend and resume processing by this running element, the ability to request reconfiguration, and the ability to terminate the running element. Variables in this table include: - a suspend/resume control - a reconfiguration request control - a termination request control The application component details table This table provides time stamps, current size, ownership, and other information as it extends the sysApplInstallElmt table. 5. Definitions (The SCCS comments immediately following will be stripped from the final version; they are merely an artifact of the editor's work environment.) APPLICATION-MIB DEFINITIONS ::= BEGIN Applmib Working Group Expires September 1997 [Page 8] Internet Draft Application Management MIB 21 March 1997 IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, mib-2, Unsigned32 FROM SNMPv2-SMI DateAndTime, RowPointer, TestAndIncr, TimeStamp, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF LongUtf8String, sysApplElmtRunIndex, Utf8String FROM SYSAPPL-MIB; applicationMib MODULE-IDENTITY LAST-UPDATED "9703202153Z" ORGANIZATION "Application MIB Working Group" CONTACT-INFO "Randy Presuhn BMC Software, Inc. 1190 Saratoga Avenue, Suite 100 San Jose, CA 95129 USA Telephone: +1 800 841-2031 Facsimile: +1 408 556-0735 Email: rpresuhn@bmc.com " DESCRIPTION "This MIB defines objects representing generic aspects of applications that are of interest to management but typically require instrumentation within the managed application element. " ::= { mib-2 3333333333 } --ISSUE: need to get assignment for registration -- -- Registration hierarchy for this MIB -- applicationMibObjects OBJECT IDENTIFIER ::= { applicationMib 1 } applicationMibTraps OBJECT IDENTIFIER ::= { applicationMib 2 } Applmib Working Group Expires September 1997 [Page 9] Internet Draft Application Management MIB 21 March 1997 applicationMibConformance OBJECT IDENTIFIER ::= { applicationMib 3 } -- -- Groups defined in this MIB -- nsmToSysAppl OBJECT IDENTIFIER ::= { applicationMibObjects 1 } applFileGroup OBJECT IDENTIFIER ::= { applicationMibObjects 2 } applConnectionGroup OBJECT IDENTIFIER ::= { applicationMibObjects 3 } applExConnectionGroup OBJECT IDENTIFIER ::= { applicationMibObjects 4 } applTransactionGroup OBJECT IDENTIFIER ::= { applicationMibObjects 5 } applElmtRunControlGroup OBJECT IDENTIFIER ::= { applicationMibObjects 6 } -- -- nsmToSysApplElmtRunTable -- -- The table that defines relationships between NSM's applTable -- and sysApplMIB's sysApplRunElmtTable. -- nsmToSysApplElmtRunTable OBJECT-TYPE SYNTAX SEQUENCE OF NsmToSysApplElmtRunEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table that defines relationships between the applTable of the Network Services Monitoring MIB [2] and the sysApplElmtRunTable of the System Application MIB [11]." ::= { nsmToSysAppl 1 } nsmToSysApplElmtRunEntry OBJECT-TYPE SYNTAX NsmToSysApplElmtRunEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the table that defines relationships Applmib Working Group Expires September 1997 [Page 10] Internet Draft Application Management MIB 21 March 1997 between the applTable of the Network Services Monitoring MIB [2] and the sysApplElmtRunTable of the System Application MIB [11]." INDEX { nsmToSysApplElmtRunIndex } ::= { nsmToSysApplElmtRunTable 1 } NsmToSysApplElmtRunEntry ::= SEQUENCE { nsmToSysApplElmtRunIndex Unsigned32, nsmToSysApplElmtRunApplIndex Unsigned32, nsmToSysApplElmtRunSysApplRunIndex Unsigned32, nsmToSysApplElmtRunSysApplRunElmtIndex Unsigned32 } nsmToSysApplElmtRunIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer used for indexing purposes. Each entry in this table represents a relationship between an entry in applTable of NSM and sysApplRunElmtTable of sysApplMIB." ::= { nsmToSysApplElmtRunEntry 1 } nsmToSysApplElmtRunApplIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The index into the applTable of NSM. This is used to identify an entry in applTable which relates to an entry in sysApplRunElmtTable which is indexed by nsmToSysApplElmtSysApplRunIndex and nsmToSysApplElmtSysApplRunElmtIndex" ::= { nsmToSysApplElmtRunEntry 2 } nsmToSysApplElmtRunSysApplRunIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The application index into the sysApplRunTable of sysApplMIB. This is also one of the primary indices of the sysApplRunElmtTable. This is used in conjunction with the value of nsmToSysApplElmtSysApplRunElmtIndex to identify an entry in the sysApplRunElmtTable that is related to an entry in the applTable." ::= { nsmToSysApplElmtRunEntry 3 } Applmib Working Group Expires September 1997 [Page 11] Internet Draft Application Management MIB 21 March 1997 nsmToSysApplElmtRunSysApplRunElmtIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The element index into the sysApplRunElmntTable of sysApplMIB. This is used in conjunction with the value of nsmToSysApplElmtSysApplRunIndex to identify an entry in the sysApplRunElmtTable that is related to an entry in the applTable." ::= { nsmToSysApplElmtRunEntry 4 } -- ************************************************************* -- -- applOpenFileTable - Table of Open Files -- -- ************************************************************* applOpenFileTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplOpenFileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The applOpenFileTable reports information on open files for running application elements. This table is indexed by sysApplElmtRunIndex [11], effectively grouping all entries for a given running application element together, and by applOpenFileId, uniquely identifying an open file within the context of a particular running application element." ::= { applFileGroup 1 } ApplOpenFileEntry ::= SEQUENCE { applOpenFileId Unsigned32, applOpenFileOpenTime TimeStamp, applOpenFileName LongUtf8String, applOpenFileReadRequests Counter32, applOpenFileBytesRead Counter32, applOpenFileLastReadTime DateAndTime, applOpenFileWriteRequests Counter32, applOpenFileBytesWritten Counter32, applOpenFileLastWriteTime DateAndTime, applOpenFileSeekRequests Counter32, applOpenFileSizeHigh Unsigned32, applOpenFileSizeLow Unsigned32, applOpenFileOpenMode OCTET STRING Applmib Working Group Expires September 1997 [Page 12] Internet Draft Application Management MIB 21 March 1997 } applOpenFileEntry OBJECT-TYPE SYNTAX ApplOpenFileEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applOpenFileEntry indicates that a file has been opened by this running application element and is still open. Note that if a file has been opened multiple times, even by the same process, it may have multiple entries." INDEX { sysApplElmtRunIndex, applOpenFileId } ::= { applOpenFileTable 1 } applOpenFileId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This attribute serves to uniquely identify this open file in the context of the running application element. Where suitable, the native file descriptor number may be used." ::= { applOpenFileEntry 1 } applOpenFileOpenTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute records the value of sysUptime.0 when this file was opened and this entry was added to this table. This attribute serves as a discontinuity indicator for the counter attributes in this entry." ::= { applOpenFileEntry 2 } applOpenFileName OBJECT-TYPE SYNTAX LongUtf8String MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the name of this open file. Wherever practical, a fully qualified path name should be reported." --ISSUE: how to report stdin, stdout, stderr in reasonably --ISSUE: platform-independent way? Applmib Working Group Expires September 1997 [Page 13] Internet Draft Application Management MIB 21 March 1997 ::= { applOpenFileEntry 3 } applOpenFileReadRequests OBJECT-TYPE SYNTAX Counter32 --ISSUE: counter64? UNITS "read requests" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of read requests for this file made by this running application element. All read requests for this file by this running application element, regardless of completion status, are included in this count. Discontinuities in this counter can be detected by monitoring the applOpenFileOpenTime value for this entry." ::= { applOpenFileEntry 4 } applOpenFileBytesRead OBJECT-TYPE SYNTAX Counter32 --ISSUE: counter64? UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of bytes read from this file by this running application element. Only bytes successfully read are included in this count. Discontinuities in this counter can be detected by monitoring the applOpenFileOpenTime value for this entry." ::= { applOpenFileEntry 5 } applOpenFileLastReadTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the time of the most recent read request made by this running application element, regardless of completion status, for this open file. If no read requests have been made by this running Applmib Working Group Expires September 1997 [Page 14] Internet Draft Application Management MIB 21 March 1997 application element, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applOpenFileEntry 6 } applOpenFileWriteRequests OBJECT-TYPE SYNTAX Counter32 --ISSUE: counter64? UNITS "write requests" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of write requests for this file made by this running application element. All write requests for this file by this running application element, regardless of completion status, are included in this count. Discontinuities in this counter can be detected by monitoring the applOpenFileOpenTime value for this entry." ::= { applOpenFileEntry 7 } applOpenFileBytesWritten OBJECT-TYPE SYNTAX Counter32 --ISSUE: counter64? UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of bytes written to this this file by this running application element. Only bytes successfully written (no errors reported by the API in use by the application) are included in this count. Discontinuities in this counter can be detected by monitoring the applOpenFileOpenTime value for this entry." ::= { applOpenFileEntry 8 } applOpenFileLastWriteTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the time of the most recent write request made by this running Applmib Working Group Expires September 1997 [Page 15] Internet Draft Application Management MIB 21 March 1997 application element, regardless of completion status, for this open file. If no write requests have been made by this running application element, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applOpenFileEntry 9 } applOpenFileSeekRequests OBJECT-TYPE SYNTAX Counter32 --ISSUE: counter64? UNITS "seek requests" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of seek requests made on this open file. Discontinuities in this counter can be detected by monitoring the applOpenFileOpenTime value for this entry." ::= { applOpenFileEntry 10 } applOpenFileSizeHigh OBJECT-TYPE SYNTAX Unsigned32 UNITS "2^32 byte blocks" MAX-ACCESS read-only STATUS current DESCRIPTION "This file's current size in 2^32 byte blocks. For example, for a file with a total size of 4,294,967,296 bytes, this attribute would have a value of 1; for a file with a total size of 4,294,967,295 bytes this attribute's value would be 0." ::= { applOpenFileEntry 11 } applOpenFileSizeLow OBJECT-TYPE SYNTAX Unsigned32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This file's current size modulo 2^32 bytes. For example, for a file with a total size of Applmib Working Group Expires September 1997 [Page 16] Internet Draft Application Management MIB 21 March 1997 4,294,967,296 bytes this attribute would have a value of 0; for a file with a total size of 4,294,967,295 bytes this attribute's value would be 4,294,967,295." ::= { applOpenFileEntry 12 } applOpenFileOpenMode OBJECT-TYPE SYNTAX BITS { read(0), truncateWrite(1), append(2), update(3), binary(4) } --ISSUE: the flags of open() may be appropriate, but hard --ISSUE: to explain... --ISSUE: +- read --ISSUE: +- write --ISSUE: +- append --ISSUE: +- create --ISSUE: +- excl --ISSUE: +- o_ndelay --ISSUE: +- n_noctty --ISSUE: +- nonblock --ISSUE: +- trunc MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the mode in which the file was opened. These bits correspond to the Posix/ANSI C library function fopen() 'type' parameter, using the following mappings: r -> read(0) w -> truncateWrite(1) a -> append(2) + -> update(3) b -> binary(4) These bits have the following meanings: read(0) - the file was opened for reading truncateWrite(1) - the file was opened for write, with implicit truncation/creation append(2) - the file was opened for append/creation update(3) - the file was opened for update (selective overwrite)/creation Applmib Working Group Expires September 1997 [Page 17] Internet Draft Application Management MIB 21 March 1997 binary(4) - the file was opened in binary mode. The read(0), truncateWrite(1), and append(2) bits are mutually exclusive." ::= { applOpenFileEntry 13 } -- ************************************************************* -- -- applOpenFileXrefTable - Open File cross-reference table -- -- ************************************************************* applOpenFileXrefTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplOpenFileXrefEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The applOpenFileXrefTable provides an alternative indexing to the information in the applOpenFileTable. Rather than grouping entries by sysApplElmtRunIndex, it groups them by their names (applOpenFileName). Since in many environments multiple processes may concurrently open a file, and a single process may open a file multiple times, entries in this table are also indexed by sysApplElmtRunIndex and applOpenFileXrefId. (The applOpenFileXrefId is really just applOpenFileId, but is needed as a distinct accessible OBJECT-TYPE in order to make it possible to answer queries of this table.)" ::= { applFileGroup 2 } ApplOpenFileXrefEntry ::= SEQUENCE { applOpenFileXrefId Unsigned32 } applOpenFileXrefEntry OBJECT-TYPE SYNTAX ApplOpenFileXrefEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applOpenFileXrefEntry indicates that a file has been opened by a running application element. Note that if a file has been opened multiple times, even by the same process, it may have Applmib Working Group Expires September 1997 [Page 18] Internet Draft Application Management MIB 21 March 1997 multiple entries." INDEX { applOpenFileName, --ISSUE: The potential length of applOpenFileName may be a --ISSUE: problem given the limitations on OBJECT IDENTIFIERS --ISSUE: in SNMP protocol sysApplElmtRunIndex, applOpenFileId } ::= { applOpenFileXrefTable 1 } applOpenFileXrefId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute serves to uniquely identify this open file in the context of the running application element. Where suitable, the native file descriptor number may be used. This attribute is like applOpenFileId, only accessible." ::= { applOpenFileXrefEntry 1 } -- ************************************************************* -- -- applOpenConnectionTable - Open Connection Table -- -- ************************************************************* applOpenConnectionTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplOpenConnectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The applOpenConnectionTable provides information about open connections from the perspective of the running application element. Entries in this table are indexed by sysApplElmtRunIndex and by applOpenConnectionId, which serves to uniquely identify each connection in the context of a running application element." ::= { applConnectionGroup 1 } ApplOpenConnectionEntry ::= SEQUENCE { applOpenConnectionId Unsigned32, applOpenConnectionOpenTime TimeStamp, applOpenConnectionTransport Utf8String, applOpenConnectionNearEnd Utf8String, Applmib Working Group Expires September 1997 [Page 19] Internet Draft Application Management MIB 21 March 1997 applOpenConnectionFarEnd Utf8String, applOpenConnectionApplication Utf8String, applOpenConnectionReadRequests Counter32, applOpenConnectionBytesRead Counter32, applOpenConnectionLastReadTime DateAndTime, applOpenConnectionWriteRequests Counter32, applOpenConnectionBytesWritten Counter32, applOpenConnectionLastWriteTime DateAndTime } applOpenConnectionEntry OBJECT-TYPE SYNTAX ApplOpenConnectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applOpenConnectionEntry indicates that a running application element has an open connection. The entry has information describing that connection." INDEX { sysApplElmtRunIndex, applOpenConnectionId } ::= { applOpenConnectionTable 1 } applOpenConnectionId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This attribute serves to uniquely identify this open connection in the context of the running application element. Where suitable, the application's native descriptor number may be used." ::= { applOpenConnectionEntry 1 } applOpenConnectionOpenTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute records the value of sysUptime.0 when this connection was opened and this entry was added to this table. This attribute serves as a discontinuity indicator for the counter attributes in this entry." ::= { applOpenConnectionEntry 2 } applOpenConnectionTransport OBJECT-TYPE SYNTAX Utf8String Applmib Working Group Expires September 1997 [Page 20] Internet Draft Application Management MIB 21 March 1997 --ISSUE: OBJECT IDENTIFIER and enumeration are alternatives MAX-ACCESS read-only STATUS current DESCRIPTION "The applOpenConnectionTransport attribute identifies the transport protocol in use for this connection." ::= { applOpenConnectionEntry 3 } applOpenConnectionNearEnd OBJECT-TYPE SYNTAX Utf8String --ISSUE: would a simple OCTET STRING be better? MAX-ACCESS read-only STATUS current DESCRIPTION "The applOpenConnectionFarEnd attribute reports the transport address and port information for the near end of this connection." ::= { applOpenConnectionEntry 4 } applOpenConnectionFarEnd OBJECT-TYPE SYNTAX Utf8String --ISSUE: would a simple OCTET STRING be better? MAX-ACCESS read-only STATUS current DESCRIPTION "The applOpenConnectionFarEnd attribute reports the transport address and port information for the far end of this connection. If not known, as in the case of a connectionless transport, the value of this attribute shall be a zero-length string." DEFVAL { "" } ::= { applOpenConnectionEntry 5 } applOpenConnectionApplication OBJECT-TYPE SYNTAX Utf8String --ISSUE: OBJECT IDENTIFIER and enumeration are alternatives MAX-ACCESS read-only STATUS current DESCRIPTION "The applOpenConnectionApplication attribute identifies the application layer protocol in use. If not known, the value of this attribute shall be a zero-length string." DEFVAL { "" } ::= { applOpenConnectionEntry 6 } Applmib Working Group Expires September 1997 [Page 21] Internet Draft Application Management MIB 21 March 1997 applOpenConnectionReadRequests OBJECT-TYPE SYNTAX Counter32 UNITS "read requests" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of read requests for this connection made by this running application element. All read requests for this connection by this running application element, regardless of completion status, are included in this count. Discontinuities in this counter can be detected by monitoring the applOpenConnectionOpenTime attribute for this entry." ::= { applOpenConnectionEntry 7 } applOpenConnectionBytesRead OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of bytes read from this connection by this running application element. Only bytes successfully read are included in this count. Discontinuities in this counter can be detected by monitoring the applOpenConnectionOpenTime attribute for this entry." ::= { applOpenConnectionEntry 8 } applOpenConnectionLastReadTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the time of the most recent read request made by this running application element, regardless of completion status, for this open connection. If no read requests have been made by this running application element for this connection, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applOpenConnectionEntry 9 } Applmib Working Group Expires September 1997 [Page 22] Internet Draft Application Management MIB 21 March 1997 applOpenConnectionWriteRequests OBJECT-TYPE SYNTAX Counter32 UNITS "write requests" MAX-ACCESS read-only STATUS current DESCRIPTION "The applOpenconnectionWriteRequests attribute reports the number of write requests, regardless of completion status, made by this running application element for this open connection. Discontinuities in this counter can be detected by monitoring the applOpenConnectionOpenTime attribute for this entry." ::= { applOpenConnectionEntry 10 } applOpenConnectionBytesWritten OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of bytes written to this this connection by this running application element. Only bytes successfully written (no errors reported by the API in use by the application) are included in this count. Discontinuities in this counter can be detected by monitoring the applOpenConnectionOpenTime attribute for this entry." ::= { applOpenConnectionEntry 11 } applOpenConnectionLastWriteTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The applOpenConnectionLastWriteTime attribute reports the time of the most recent write request made by this running application element, regardless of completion status, for this open connection. If no write requests have been made by this running application element for this connection, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applOpenConnectionEntry 12 } Applmib Working Group Expires September 1997 [Page 23] Internet Draft Application Management MIB 21 March 1997 -- ************************************************************* -- -- applExConnectionGroup - history information for former -- connections. These tables control the collection of -- of connection history information and represent the -- accumlated historical data. -- -- ************************************************************* applExConnectionControlTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplExConnectionControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The applExConnectionControlTable controls the accumulation of history information about connections from the perspective of the running application element. Entries in this table are indexed by sysApplElmtRunIndex, giving control of connection history accumulation at the at the level of each running application element." ::= { applExConnectionGroup 1 } ApplExConnectionControlEntry ::= SEQUENCE { applExConnectionControlCollect INTEGER, applExConnectionControlMaxRows Unsigned32, applExConnectionControlTimeLimit Unsigned32, applExConnectionControlRemItems Counter32 } applExConnectionControlEntry OBJECT-TYPE SYNTAX ApplExConnectionControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applExConnectionControlEntry provides the ability to control the retention of connection history information by a running application." INDEX { sysApplElmtRunIndex } ::= { applExConnectionControlTable 1 } applExConnectionControlCollect OBJECT-TYPE SYNTAX INTEGER { enabled (1), frozen (2), disabled (3) } MAX-ACCESS read-write Applmib Working Group Expires September 1997 [Page 24] Internet Draft Application Management MIB 21 March 1997 STATUS current DESCRIPTION "When the value of applExConnectionControlCollect is 'enabled', each time the corresponding running application element closes an open connection a new entry will be added to the applExConnectionTable. When the value of applExConnectionControlCollect is 'frozen', no new entries are added to the applExConnectionTable for this running application element, and old entries are not aged out. When the value of applExConnectionControlCollect is 'disabled', all entries are removed from applExConnectionTable for this running application, and no new entries are added." ::= { applExConnectionControlEntry 1 } applExConnectionControlMaxRows OBJECT-TYPE SYNTAX Unsigned32 UNITS "connection history entries" MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum number of entries allowed in the applExConnectionTable for this running application element. Once the number of rows for this running application element in the applExConnectionTable reaches this value, the management subsystem will remove the oldest entry to make room for the new entry to be added. Entries will be removed on the basis of oldest applExconnectionCloseTime value first." DEFVAL { 500 } ::= { applExConnectionControlEntry 2 } applExConnectionControlTimeLimit OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum time in seconds which an entry for this running application elementmay exist in the applExconnectionTable before it is removed. Any entry that is older than this value will be removed (aged out) from the table, unless the applExConnectionControlCollect is set to 'frozen'. Applmib Working Group Expires September 1997 [Page 25] Internet Draft Application Management MIB 21 March 1997 Note that an entry may be aged out prior to reaching this time limit if it is the oldest entry in the table and must be removed to make space for a new entry so as to not exceed applExconnectionControlMaxRows, or if the applExConnectionControlCollect is set to 'disabled'." DEFVAL { 7200 } ::= { applExConnectionControlEntry 3 } applExConnectionControlRemItems OBJECT-TYPE SYNTAX Counter32 UNITS "connection history entries" MAX-ACCESS read-write STATUS current DESCRIPTION "The applExConnectionControlRemItems attribute reports the number of applExConnectionControlTable entries for this running application element that were deleted in order to make room for a new history entry. This count does NOT include entries deleted for the following reasons: - the corresponding applExConnectionControlCollect attribute has been set to 'disabled' - the entry has been in the table longer that the time limit indicated by the corresponding applExConnectionControlTimeLimit. " ::= { applExConnectionControlEntry 4 } -- ************************************************************* -- -- applExConnectionTable - Table of former connections -- -- ************************************************************* applExConnectionTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplExConnectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The applExConnectionTable provides history Applmib Working Group Expires September 1997 [Page 26] Internet Draft Application Management MIB 21 March 1997 information about connections from the perspective of the running application element. Entries in this table are indexed by sysApplElmtRunIndex and by applExConnectionId, which serves to uniquely identify each former connection in the context of a running application element. Entries for closed connections for a given running application element can be added to this table only if the running application element's entry in the applExConnectionControlTable has the value 'enabled' for the attribute applExConnectionControlCollect. Entries for closed connections are removed under the following circumstances: - the running application element no longer exists - the corresponding applExConnectionControlCollect attribute has been set to 'disabled' - the entry has been in the table longer that the time limit indicated by the corresponding applExConnectionControlTimeLimit and the value of applExConnectionControlCollect is not 'frozen' - this is the oldest entry for the running application element in question and the addition of a new element would otherwise cause applExConnectionControlMaxRows to be exceeded for this running application element. Removal of an entry under the last condition causes the corresponding applExConnectionControlRemItems to be incremented." ::= { applExConnectionGroup 2 } ApplExConnectionEntry ::= SEQUENCE { applExConnectionId Unsigned32, applExConnectionOpenTime DateAndTime, applExConnectionCloseTime DateAndTime, applExConnectionTransport Utf8String, Applmib Working Group Expires September 1997 [Page 27] Internet Draft Application Management MIB 21 March 1997 applExConnectionNearEnd Utf8String, applExConnectionFarEnd Utf8String, applExConnectionApplication Utf8String, applExConnectionReadRequests Counter32, applExConnectionBytesRead Counter32, applExConnectionLastReadTime DateAndTime, applExConnectionWriteRequests Counter32, applExConnectionBytesWritten Counter32, applExConnectionLastWriteTime DateAndTime } applExConnectionEntry OBJECT-TYPE SYNTAX ApplExConnectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applExConnectionEntry indicates that a running application element once had an open connection, which is now closed. The entry has information describing that connection." INDEX { sysApplElmtRunIndex, applExConnectionId } ::= { applExConnectionTable 1 } applExConnectionId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute serves to uniquely identify this closed connection in the context of the running application element. This attribute has no other semantics." ::= { applExConnectionEntry 1 } applExConnectionOpenTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute records the time when this connection was originally opened." ::= { applExConnectionEntry 2 } applExConnectionCloseTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current Applmib Working Group Expires September 1997 [Page 28] Internet Draft Application Management MIB 21 March 1997 DESCRIPTION "This attribute records the time when this connection was closed." ::= { applExConnectionEntry 3 } applExConnectionTransport OBJECT-TYPE SYNTAX Utf8String --ISSUE: OBJECT IDENTIFIER and enumeration are alternatives MAX-ACCESS read-only STATUS current DESCRIPTION "The applExConnectionTransport attribute identifies the transport protocol that was in use for this former connection." ::= { applExConnectionEntry 4 } applExConnectionNearEnd OBJECT-TYPE SYNTAX Utf8String --ISSUE: ordinary OCTET STRING good enough? MAX-ACCESS read-only STATUS current DESCRIPTION "The applExConnectionFarEnd attribute reports the transport address and port information for the near end of this former connection." ::= { applExConnectionEntry 5 } applExConnectionFarEnd OBJECT-TYPE SYNTAX Utf8String --ISSUE: ordinary OCTET STRING good enough? MAX-ACCESS read-only STATUS current DESCRIPTION "The applExConnectionFarEnd attribute reports the transport address and port information for the far end of this former connection. If not known, as in the case of a connectionless transport, the value of this attribute shall be a zero-length string." DEFVAL { "" } ::= { applExConnectionEntry 6 } applExConnectionApplication OBJECT-TYPE SYNTAX Utf8String --ISSUE: OBJECT IDENTIFIER and enumeration are alternatives MAX-ACCESS read-only STATUS current Applmib Working Group Expires September 1997 [Page 29] Internet Draft Application Management MIB 21 March 1997 DESCRIPTION "The applExConnectionApplication attribute identifies the application layer protocol that was in use. If not known, the value of this attribute shall be a zero-length string." DEFVAL { "" } ::= { applExConnectionEntry 7 } applExConnectionReadRequests OBJECT-TYPE SYNTAX Counter32 UNITS "read requests" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of read requests for this connection made by this running application element. All read requests for this connection by this running application element, regardless of completion status, are included in this count." ::= { applExConnectionEntry 8 } applExConnectionBytesRead OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of bytes read from this connection by this running application element. Only bytes successfully read are included in this count. " ::= { applExConnectionEntry 9 } applExConnectionLastReadTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the time of the most recent read request made by this running application element, regardless of completion status, for this former connection. If no read requests have been made by this running application element for this connection, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applExConnectionEntry 10 } Applmib Working Group Expires September 1997 [Page 30] Internet Draft Application Management MIB 21 March 1997 applExConnectionWriteRequests OBJECT-TYPE SYNTAX Counter32 UNITS "write requests" MAX-ACCESS read-only STATUS current DESCRIPTION "The applExconnectionWriteRequests attribute reports the number of write requests, regardless of completion status, made by this running application element for this former connection." ::= { applExConnectionEntry 11 } applExConnectionBytesWritten OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute reports the number of bytes written to this former connection by this running application element. Only bytes successfully written (no errors reported by the API in use by the application) are included in this count." ::= { applExConnectionEntry 12 } applExConnectionLastWriteTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The applExConnectionLastWriteTime attribute reports the time of the most recent write request made by this running application element, regardless of completion status, for this former connection. If no write requests have been made by this running application element for this connection, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applExConnectionEntry 13 } -- ************************************************************* -- -- applTransactionControlTable - common and control -- information for transaction stream monitoring -- -- ************************************************************* Applmib Working Group Expires September 1997 [Page 31] Internet Draft Application Management MIB 21 March 1997 applTransactionControlTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplTransactionControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The applTransactionControlTable contains common information for the control of transaction statistic accumulation." ::= { applTransactionGroup 1 } ApplTransactionControlEntry ::= SEQUENCE { applTransactionStreamId Unsigned32, applTransactionStreamPointer RowPointer, applTransactionStreamDescr Utf8String, applTransactionStreamUnitOfWork Utf8String } applTransactionControlEntry OBJECT-TYPE SYNTAX ApplTransactionControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applTransactionControlentry contains control information for a single transaction stream. A transaction stream can be a network connection, file, or other source of transactions." INDEX { sysApplElmtRunIndex, applTransactionStreamId } ::= { applTransactionControlTable 1 } applTransactionStreamId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applTransactionStreamId serves to uniquely identify a transaction stream in the context of a given running application element." ::= { applTransactionControlEntry 1 } applTransactionStreamPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamPointer attribute identifies the network connection or file I/O stream over which these transactions are Applmib Working Group Expires September 1997 [Page 32] Internet Draft Application Management MIB 21 March 1997 carried. This will normally point to an entry in the applOpenFilesTable or to an entry in the applOpenConnectionsTable. If this transaction stream is no associated with a specific file or connection, this attribute's value shall be { 0 0 }." ::= { applTransactionControlEntry 2 } applTransactionStreamDescr OBJECT-TYPE SYNTAX Utf8String MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamDescr attribute provides a human-readable description of this transaction stream. If no descriptive information is available, this attribute's value shall be a zero-length string." DEFVAL { "" } ::= { applTransactionControlEntry 3 } applTransactionStreamUnitOfWork OBJECT-TYPE SYNTAX Utf8String MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamUnitOfWork attribute provides a human-readable definition of what the unit of work is for this transaction stream. If no descriptive information is available, this attribute's value shall be a zero-length string." DEFVAL { "" } ::= { applTransactionControlEntry 4 } -- ************************************************************* -- -- applTransactionStreamTable -- -- ************************************************************* applTransactionStreamTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplTransactionStreamEntry MAX-ACCESS not-accessible STATUS current Applmib Working Group Expires September 1997 [Page 33] Internet Draft Application Management MIB 21 March 1997 DESCRIPTION "The applTransactionStreamTable contains entries, organized by running application element, for each open transaction stream. The simple model of a transaction used here looks like this: invoker | Request | performer | - - - - - - > | | | | Response | | < - - - - - - | | | Since in some protocols it is possible for an entity to take on both the invoker and performer roles, information here is accumulated for transmitted and received requests, as well as for transmitted and received responses. Counts are maintained for both transactions and bytes transferred." ::= { applTransactionGroup 2 } ApplTransactionStreamEntry ::= SEQUENCE { applTransactionStreamUpTime TimeStamp, applTransactionStreamTxReqs Counter32, applTransactionStreamTxReqBytes Counter32, applTransactionStreamTxReqTime DateAndTime, applTransactionStreamTxRsps Counter32, applTransactionStreamTxRspBytes Counter32, applTransactionStreamTxRspTime DateAndTime, applTransactionStreamRxReqs Counter32, applTransactionStreamRxReqBytes Counter32, applTransactionStreamRxReqTime DateAndTime, applTransactionStreamRxRsps Counter32, applTransactionStreamRxRspBytes Counter32, applTransactionStreamRxRspTime DateAndTime, applTransactionStreamInvCumTime Counter32, applTransactionStreamPrfCumTime Counter32 } applTransactionStreamEntry OBJECT-TYPE SYNTAX ApplTransactionStreamEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applTransactionStreamEntry reports transaction throughput information for a transaction stream. Applmib Working Group Expires September 1997 [Page 34] Internet Draft Application Management MIB 21 March 1997 Entries in this table are indexed identically to those in the applTransactionControlTable." INDEX { sysApplElmtRunIndex, applTransactionStreamId } ::= { applTransactionStreamTable 1 } applTransactionStreamUpTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamUpTime attribute records the value of sysUpTime.0 when this transaction stream entry was created and serves as a discontinuity indicator for all of the counters in this row." ::= { applTransactionStreamEntry 2 } applTransactionStreamTxReqs OBJECT-TYPE SYNTAX Counter32 UNITS "requests" MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamTxReqs attribute reports the number of requests transmitted by this running application element over this transaction stream. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 4 } applTransactionStreamTxReqBytes OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamTxReqBytes attribute reports the number of bytes transmitted by this running application element in requests over this transaction stream. Discontinuities in this counter can be detected Applmib Working Group Expires September 1997 [Page 35] Internet Draft Application Management MIB 21 March 1997 by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 5 } applTransactionStreamTxReqTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamTxReqTime attribute reports the time of the most recent transmission of a request over this transaction stream. If no requests have been sent by this running application element over this transaction stream, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applTransactionStreamEntry 6 } applTransactionStreamTxRsps OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamTxRsps attribute reports the number of responses sent by this running application element over this transaction stream. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 7 } applTransactionStreamTxRspBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamTxRspBytes attribute reports the number of bytes sent by this running application element in responses over this transaction stream. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 8 } Applmib Working Group Expires September 1997 [Page 36] Internet Draft Application Management MIB 21 March 1997 applTransactionStreamTxRspTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamTxRspTime attribute reports the time the most recent response was transmitted over this transaction stream by this running application element. If no responses have been sent by this running application element over this transaction stream, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applTransactionStreamEntry 9 } applTransactionStreamRxReqs OBJECT-TYPE SYNTAX Counter32 UNITS "requests" MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamRxReqs attribute reports the number requests received by this running application element over this transaction stream. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 10 } applTransactionStreamRxReqBytes OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamRxReqBytes attribute reports the number of bytes received by his running application element in requests on this transaction stream. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 11 } Applmib Working Group Expires September 1997 [Page 37] Internet Draft Application Management MIB 21 March 1997 applTransactionStreamRxReqTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamRxReqTime attribute reports the time of the most recent receipt by this running application element of a request on this transaction stream. If no requests have been received by this running application element over this transaction stream, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applTransactionStreamEntry 12 } applTransactionStreamRxRsps OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamRxRsps attribute reports the number of responses received by this running application element on this transaction stream. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 13 } applTransactionStreamRxRspBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamRxRspBytes attributes reports the number of bytes in responses received by this running application element on this transaction stream. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 14 } applTransactionStreamRxRspTime OBJECT-TYPE SYNTAX DateAndTime Applmib Working Group Expires September 1997 [Page 38] Internet Draft Application Management MIB 21 March 1997 MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamRxRspTime attribute records the time of the receipt by this running application element of the most recent response on this transaction stream. If no responses have been received by this running application element over this transaction stream, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applTransactionStreamEntry 15 } applTransactionStreamInvCumTime OBJECT-TYPE SYNTAX Counter32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamInvCumTime attribute reports the cumulative sum of the times measured between the transmission of requests and the receipt of the corresponding responses. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 16 } applTransactionStreamPrfCumTime OBJECT-TYPE SYNTAX Counter32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The applTransactionStreamPrfCumTime attribute reports the cumulative sum of the times measured between receipt of requests and the transmission of the corresponding responses. Discontinuities in this counter can be detected by monitoring the applTransactionStreamUpTime for this row." ::= { applTransactionStreamEntry 17 } Applmib Working Group Expires September 1997 [Page 39] Internet Draft Application Management MIB 21 March 1997 -- --ISSUE: More detailed statistics from the ARM mib to come... -- -- ************************************************************* -- -- applElmtRunControlGroup - monitor and control running -- application elements -- -- ************************************************************* applElmtRunStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplElmtStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provies information on running application elements, complementing information avilable in the correspondingly indexed sysApplelmtRunTable [11]." ::= { applElmtRunControlGroup 1 } ApplElmtRunStatusEntry ::= SEQUENCE { applElmtRunStatusSuspended TruthValue, applElmtRunStatusHeapUsage Gauge32, applElmtRunStatusOpenConnections Gauge32, applElmtRunStatusLastErrorMsg Utf8String, applElmtRunStatusLastErrorTime DateAndTime } applElmtRunStatusEntry OBJECT-TYPE SYNTAX ApplElmtRunStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applElmtRunStatusEntry contains information to support the control and monitoring of a single running application element." INDEX { sysApplElmtRunIndex } ::= { applElmtRunStatusTable 1 } applElmtRunStatusSuspended OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The applElmtRunStatusSuspended attribute reports whether processing by this running application Applmib Working Group Expires September 1997 [Page 40] Internet Draft Application Management MIB 21 March 1997 element has been suspended, whether by management request or by other means." ::= { applElmtRunStatusEntry 1 } applElmtRunStatusHeapUsage OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The applElmtRunStatusHeapUsage reports the current approximate heap usage by this running application element. " ::= { applElmtRunStatusEntry 2 } applElmtRunStatusOpenConnections OBJECT-TYPE SYNTAX Gauge32 UNITS "connections" MAX-ACCESS read-only STATUS current DESCRIPTION "The applElmtRunStatusOpenConnections reports the current number of open connections in use by this running application element." ::= { applElmtRunStatusEntry 3 } applElmtRunStatusLastErrorMsg OBJECT-TYPE SYNTAX Utf8String MAX-ACCESS read-only STATUS current DESCRIPTION "The applElmtRunStatusLastErrorMessage attribute reports the most recent error message (typically written to stderr or a system error logging facility) from this running application element. If no such message has yet been generated, the value of this attribute shall be a zero-length string." DEFVAL { "" } ::= { applElmtRunStatusEntry 4 } applElmtRunStatusLastErrorTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The applElmtRunStatusLastErrorTime attribute reports the time of the most recent error message Applmib Working Group Expires September 1997 [Page 41] Internet Draft Application Management MIB 21 March 1997 in applElmtRunStatusLastErrorMsg. If no such message has yet been generated, the value of this attribute shall be '0000000000000000'H " DEFVAL { '0000000000000000'H } ::= { applElmtRunStatusEntry 5 } applElmtRunControlTable OBJECT-TYPE SYNTAX SEQUENCE OF ApplElmtRunControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides the ability to control application elements, complementing information avilable in the correspondingly indexed sysApplelmtRunTable [11]." ::= { applElmtRunControlGroup 2 } ApplElmtRunControlEntry ::= SEQUENCE { applElmtRunControlSuspend TruthValue, applElmtRunControlReconfigure TestAndIncr, applElmtRunControlTerminate TruthValue } applElmtRunControlEntry OBJECT-TYPE SYNTAX ApplElmtRunControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An applElmtRunControlEntry contains information to support the control of a single running application element." INDEX { sysApplElmtRunIndex } ::= { applElmtRunControlTable 1 } applElmtRunControlSuspend OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting this variable to 'true' requests the suspension of processing by this running application element. Setting this variable to 'false' requests that processing be resumed. The effect, if any, will be reported by the applElmtRunStatusSuspended attribute." DEFVAL { false } Applmib Working Group Expires September 1997 [Page 42] Internet Draft Application Management MIB 21 March 1997 ::= { applElmtRunControlEntry 1 } applElmtRunControlReconfigure OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "Changing the value of this variable requests that the running application element re-load its configuration (like SIGHUP for many UNIX-based daemons)." ::= { applElmtRunControlEntry 2 } applElmtRunControlTerminate OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting the value of applElmtRunControlTerminate to 'true' requests that the running application element terminate processing and exit in an orderly manner. This is a 'polite' shutdown request." DEFVAL { false } ::= { applElmtRunControlEntry 3 } END 6. Implementation Issues Unlike the system application MIB [11], in many environments support for much of this MIB requires instrumentation built into the managed resource. Some tables may be implemented by a single monitor process; for others, the implementation may be distributed within the managed system with the resources being managed. As a practical matter, this means that the management infrastructure of the managed system must support different subagents taking responsibility for different rows of a single table. This can be supported by Agentx [14] as well as other subagent protocols [15]. The sysApplRunElmtIndex is the key connection between this MIB and the systems application MIB. It is essential that implementations of this two running concurrently on a given platform employ a consistent policy for assigning this value to running application elements. Applmib Working Group Expires September 1997 [Page 43] Internet Draft Application Management MIB 21 March 1997 7. Security Considerations By making potentially sensitive information externally accessible, the capabilities supported by the MIB have the potential of becoming security problems. The tables in this MIB are organized to separate sensitive control capabilities from less sensitive usage information. The MIB is structured to be useful for managers with read-only access rights. The capabilities supported by this MIB include several that may be of value to a security administrator. These include the ability to monitor the level of usage of a given application, to verify licenses, and to check the integrity of application components. 8. Acknowledgements This document was produced by the Application MIB working group. The author gratefully acknowledges the comments and contributions of the following individuals: Carl Kalbfleisch John Saperia Cheryl Krupczak 9. Editors' Addresses Carl Kalbfleisch Verio, Inc. 1950 Stemmons Frwy 2026 INFOMART Dallas, TX 75207 USA Phone: +1 972 238-8303 Fax: +1 214 672-7275 E-Mail: cwk@verio.net Cheryl Krupczak Empire Technologies, Inc. 541 Tenth Street, NW Suite 169 Atlanta, GA 30318 Phone: +1 770 384-0184 Applmib Working Group Expires September 1997 [Page 44] Internet Draft Application Management MIB 21 March 1997 E-Mail: cheryl@empiretech.com Randy Presuhn BMC Software, Inc. PEER Networks Division 1190 Saratoga Avenue San Jose, CA 95129 USA Phone: +1 408 556-0720 Fax: +1 408 556-0735 E-Mail: rpresuhn@bmc.com Jon Saperia BGS Systems, Inc. 128 Technology Center Waltham, MA 02254 USA Phone: +1 617 891-0000 ext 340 E-Mail: saperia@networks.bgs.com 10. References [1] Grillo, P., and S. Waldbusser, "Host Resources MIB", RFC 1514, September 1993. [2] Freed, N., and S. Kille, "Network Services Monitoring MIB", RFC 1565, January 1994. [3] Freed, N., and S. Kille, "Mail Monitoring MIB", RFC 1566, January 1994. [4] Brower, D., Purvy, R., Daniel, A., Sinykin, M., and J. Smith, "Relational Database Management System (RDBMS) Management Information Base (MIB) using SMIv2", RFC 1697, August 1994. [5] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996. [6] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1903, January 1996. Applmib Working Group Expires September 1997 [Page 45] Internet Draft Application Management MIB 21 March 1997 [7] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1904, January 1996. [8] McCloghrie, K. and A. Bierman, "Entity MIB", RFC 2037, October 1996. [9] C. Kalbfleisch, "Applicability of Standards Track MIBs to Management of World Wide Web Servers", RFC 2039, November 1996. [10] Yergeau, F., "UTF-8, a transformation format of Unicode and ISO 10646", RFC 2044, October 1996. [11] Krupczak, C., Saperia, J., and R. Sturm, "Definitions of Managed Objects for Applications", , November 1996. [12] ITU-T Recommendation X.744 | ISO/IEC IS 10164-18:1996, Information Technology - Open Systems Interconnection - Systems Management: Software Management Function, 1996. [13] IEEE P1387.2, POSIX System Administration - Part 2: Software Administration. (Draft) [14] Francisco, D., Daniele, M., and B. Wijnen, "Agent Extensibility (AgentX) Protocol", , November, 1995. [15] Rose, M. "SNMP MUX Protocol and MIB", RFC 1227, May 1991. Applmib Working Group Expires September 1997 [Page 46] Internet Draft Application Management MIB 21 March 1997 11. Issues and List of Things Left To Be Done - Decide which object definitions should be borrowed or reference from the ARM work. - Resolve whether file I/O counters should be Counter32 or Counter64. - Resolve how names for files like stdin, stdout, stderr and redirected streams should be be reported. - For the file mode bits, should the open() model be used or should we go with the fopen() model? - Do we need to report current mode in addition to open mode? For example, fcntl() can change append mode. - The indexing of applOpenFileXrefTable by file name is problematic given the SNMP constraints on OBJECT IDENTIFIER length. - The syntax for the identifiers for transport and application protocol identifiers should be narrowed down a bit. - MIB definitions to support the following capabilities are still needed: - system calls ? - stack penetration ? - other networking resources - dependency information - logging capability - align with stdguide requirements - add conformance clauses Applmib Working Group Expires September 1997 [Page 47]