Internet DRAFT - draft-hardcastle-app-monitormib
draft-hardcastle-app-monitormib
HTTP/1.1 200 OK
Date: Tue, 09 Apr 2002 00:17:19 GMT
Server: Apache/1.3.20 (Unix)
Last-Modified: Wed, 09 Dec 1992 04:33:00 GMT
ETag: "3ddd8a-63ad-2b2576fc"
Accept-Ranges: bytes
Content-Length: 25517
Connection: close
Content-Type: text/plain
Network Working S.E. Hardcastle-Kille
Group ISODE Consortium
INTERNET-DRAFT T.Lenggenhager
SWITCH
D. Partain
University of Linkoping
W. Yeong
Performance
October 17, 1992
Expires: April 1993
Application Monitoring 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.
Internet Drafts may be updated, replaced, or obsoleted by other
documents at any time. It is not appropriate to use Internet Drafts
as reference material or to cite them other than as a "working draft"
or "work in progress."
Please check the I-D abstract listing contained in each Internet Draft
directory to learn the current status of this or any other Internet
Draft.
Abstract
This document defines a MIB for monitoring applications running on a
system. It defines specific attributes for MTAs and DSAs, and this
approach could be easily extended to other applications.
This document is an agreed ISODE Consortium specification (IC 4
(Version 3.12)).
INTERNET--DRAFT Application MIB October 17, 1992
1 Why?
There is a substantial need to monitor applications, particularly
distributed system components such as MTAs and DSAs, in order to
determine heavy load, broken connectivity, system failure or
congestion. Specific requirements are:
o General monitoring of a large number of components (typical for a
large organisation).
o Integration with general network management.
SNMP is the clear choice for this function. The main goal is very
simple read-only access. Essentially to determine up/down status and
indicate operational problems (typically heavy load).
1.1 Restricted Scope
There is a lot more that could be done. For example:
o General MTA reconfiguration
o Examination and modification of mail queues
o Probing to find location of messages which have left the local MTA
but have not been delivered
Whilst this is cute, to be effective, it requires security. It will
also be a lot more contentious and have awkward choices between
generic and implementation-specific aspects. There are also other
reasonable approaches to this sort of problem. This document will
religiously keep simple and focus on the basic monitoring aspect.
2 Relationship to Directory
Use of (X.500) directory already is tied up with application
management. There are clearly many things which could be dealt with
by directory or management protocols. We take the line here that
static configuration is dealt with in the directory, and dynamic by
Hardcastle-Kille et at Expires: April 1993 Page 1
INTERNET--DRAFT Application MIB October 17, 1992
management protocols.
By placing the static information in the directory, the richness and
linkage of the directory information framework does not need to be
repeated in the MIB. Static information is information which has a
mean time to change of the order of days or longer.
A linkage will be established, so that:
o The managed object contains its own directory name. This allows
all directory information to be obtained by reference. This will
allow a Directory capable SNMP monitor to present this information
to the manager. It is intended that this will be the normal case.
o The directory will reference the location of the SNMP agent, so
that an SNMP capable DUA could probe dynamic characteristics of
the object.
o This approach could be extended further, so that the SNMP
attributes are modelled as directory attributes. This would allow
an SNMP capable DSA to present this information to a standard DUA.
3 Application Objects
This MIB starts with a set of general purpose attributes which would
be appropriate for a range of network applications, both OSI and
non-OSI. Subsequent sections give attributes specific to applications.
A table is defined which will have one row for each application
running on the system. The only static information held on the
application is its distinguished name. All other static information
can be determined from the directory. The Directory Name is an
external key, which allows an SNMP MIB entry to be cleanly related to
the X.500 Directory. In SNMP terms, the applications are grouped in a
table (applicationTable), which is indexed by an integer key
(applicationIndex).
The type of the application will be determined by one or both of:
o Additional MIB variables specific to the applications
o An association to the application of a specific protocol
applicationTable OBJECT-TYPE
Hardcastle-Kille et at Expires: April 1993 Page 2
INTERNET--DRAFT Application MIB October 17, 1992
SYNTAX SEQUENCE OF ApplicationEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The table holding objects which apply to all different kinds
of applications. At present, it holds information for DSA's
and MTA's"
::= {application-mib 1}
applicationEntry OBJECT-TYPE
SYNTAX ApplicationEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Entry associated with application"
INDEX { applicationIndex }
::= {applicationTable 1}
ApplicationEntry ::= SEQUENCE {
applicationIndex
INTEGER,
distinguishedName
DisplayString,
applicationStatus
INTEGER,
applicationUptime
TimeTicks,
inboundAssociations
INTEGER,
outboundAssociations
INTEGER,
accumulatedInboundAssociations
Counter,
accumulatedOutboundAssociations
Counter,
lastInboundActivity
TimeTicks,
lastOutboundActivity
TimeTicks,
failedOutboundAssociations
Counter
}
Hardcastle-Kille et at Expires: April 1993 Page 3
INTERNET--DRAFT Application MIB October 17, 1992
applicationIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Index to uniquely identify the application"
::= {applicationEntry 1}
distinguishedName OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The string encoded distinguished name of the managed object
using the format of OSI-DS 23"
::= {applicationEntry 2}
applicationStatus OBJECT-TYPE
SYNTAX INTEGER {
down(1),
running(2),
halted(3),
congested(4),
restarting(5)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Indicates the operational status of the application entity"
::= {applicationEntry 3}
applicationUptime OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The time since the application was initialised"
::= {applicationEntry 4}
inboundAssociations OBJECT-TYPE
SYNTAX INTEGER
Hardcastle-Kille et at Expires: April 1993 Page 4
INTERNET--DRAFT Application MIB October 17, 1992
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of current associations to the application entity, where
it is the responder. For dynamic single threaded processes,
this will be the number of application instances"
::= {applicationEntry 5}
outboundAssociations OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of current associations to the application entity, where
it is the initiator. For dynamic single threaded processes,
this will be the number of application instances"
::= {applicationEntry 6}
accumulatedInboundAssociations OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of associations to the application entity since
application initialisation, where it is the responder. For
dynamic single threaded processes, this will be the number
of application instances"
::= {applicationEntry 7}
accumulatedOutboundAssociations OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of associations to the application entity since
application initialisation, where it is the initiator. For
dynamic single threaded processes, this will be the number
of application instances"
::= {applicationEntry 8}
Hardcastle-Kille et at Expires: April 1993 Page 5
INTERNET--DRAFT Application MIB October 17, 1992
lastInboundActivity OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The time since this application has had an inbound association."
::= {applicationEntry 9}
lastOutboundActivity OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The time since this application has had an outbound association."
::= {applicationEntry 10}
failedOutboundAssociations OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number associations where the application entity is
initiator and association establishment has failed, since
application initialisation"
::= {applicationEntry 11}
The basic applicationTable contains a list of the application
entities. A second table is maintained, which holds the list of
associations. This is treated as a separate group to the basic
application table. Where simplified appplication monitoring is
needed, this group may be omitted. This table is indexed by
applicationIndex and associationIndex, with the application index
coming first.
associationTable OBJECT-TYPE
SYNTAX SEQUENCE OF AssociationEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The table holding a set of all active application associations"
::= {application-mib 4}
Hardcastle-Kille et at Expires: April 1993 Page 6
INTERNET--DRAFT Application MIB October 17, 1992
-- the table is indexed through a combination of the index into the
-- application table and an index unique to this table. for instance,
-- if you were to "get remoteApplication.0.0", it would be the instance
-- associated with the first entry in the applicationTable and the first
-- entry in this table for that application.
associationEntry OBJECT-TYPE
SYNTAX AssociationEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Entry associated with association"
INDEX { associationApplicationIndex, associationIndex }
::= {associationTable 1}
AssociationEntry ::= SEQUENCE {
associationApplicationIndex
INTEGER,
associationIndex
INTEGER,
remoteApplication
DisplayString,
applicationProtocol
OBJECT IDENTIFIER,
applicationType
INTEGER,
associationDuration
TimeTicks
}
associationApplicationIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Index into the application table to identify the (local)
application associated with the association and also an
index on this table"
::= {associationEntry 1}
associationIndex OBJECT-TYPE
Hardcastle-Kille et at Expires: April 1993 Page 7
INTERNET--DRAFT Application MIB October 17, 1992
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Index to uniquely identify the association"
::= {associationEntry 2}
remoteApplication OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The name of the remote application. For an internet application
this should be a domain name. For an OSI application it should be
the string encoded distinguished name of the managed object
using the format of OSI-DS 23.
For X.400(84) MTAs which do not have a Distinguished Name, the
RFC 1327 syntax 'mta in globalid' should be used"
::= {associationEntry 3}
applicationProtocol OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An identification of the protocol being used for the
application. For an OSI Application, this will be the
Application Context. For Internet applications, it should be an
Object Identifier derived from the port ** see below ***"
::= {associationEntry 4}
applicationType OBJECT-TYPE
SYNTAX INTEGER {
ua-initiator(1),
ua-responder(2),
peer-initiator(3),
peer-responder(4) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Shows whether the remote application is a User Agent, or a peer
Hardcastle-Kille et at Expires: April 1993 Page 8
INTERNET--DRAFT Application MIB October 17, 1992
server, and whether the remote end is initiator or responder"
::= {associationEntry 5}
associationDuration OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The time that the association has been open"
::= {associationEntry 6}
Editor's Note: It has been suggested that a table be kept of failed
associations, in order to help detect remote applications which
are unavailable. Comments are solicited for future versions of
this document.
A count of failed associations is used here. This does not have
the potential growth problems of a table. If this count is
excessive, the logs may be examined.
4 MTA Objects
If there is an MTA on the host, the following mta group may be used to
monitor it. Only one MTA may be monitored on a host. This
restriction is made in order to simplify the MIB. In the rare case of
running multiple MTAs on one host, they may both be monitored by
monitoring one from a different host which has no MTA.
The first parameters are per-MTA parameters.
mta OBJECT IDENTIFIER ::= {application-mib 2}
mtaApplicationIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Reference into application table to allow correlation with
general application parameters"
::= {mta 1}
Hardcastle-Kille et at Expires: April 1993 Page 9
INTERNET--DRAFT Application MIB October 17, 1992
numberMessages OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total number of messages in all the MTA queues"
::= {mta 2}
volumeMessages OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The total volume of messages in all the MTA queues, measured
in kbytes"
::= {mta 3}
submittedMessages OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of messages submitted since application
initialisation"
::= {mta 4}
deliveredMessages OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of messages delivered since application
initialisation"
::= {mta 5}
lastInboundMtaActivity OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Time since the last time that this MTA had an active
inbound association from a remote MTA"
Hardcastle-Kille et at Expires: April 1993 Page 10
INTERNET--DRAFT Application MIB October 17, 1992
::= {mta 6}
lastOutboundMtaActivity OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Time since the last time that this MTA had an
outbound association to a remote MTA"
::= {mta 7}
In addition to representing the MTA, and per-MTA information, there is
a table which holds information on every remote MTA for which the
monitored MTA has messages queued.
queuedMtaTable OBJECT-TYPE
SYNTAX SEQUENCE OF QueuedMtaEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The table holding information specific to each queue for a
given remote MTA"
::= {application-mib 5}
queuedMtaEntry OBJECT-TYPE
SYNTAX QueuedMtaEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Entry associated with each remote MTA"
INDEX { mtaIndex }
::= {queuedMtaTable 1}
QueuedMtaEntry ::= SEQUENCE {
mtaIndex
INTEGER,
queuedMtaAssociationIndex
INTEGER,
numberMessagesForMTA
INTEGER,
volumeMessagesForMTA
Hardcastle-Kille et at Expires: April 1993 Page 11
INTERNET--DRAFT Application MIB October 17, 1992
INTEGER,
oldestMessageQueued
TimeTicks,
connectFailureReason
DisplayString,
lastInboundRemoteMtaActivity
TimeTicks,
lastOutboundRemoteMtaActivity
TimeTicks,
scheduledRetry
TimeTicks,
remoteMTA
DisplayString,
mailProtocol
OBJECT IDENTIFIER
}
mtaIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Index of queued MTAs"
::= {queuedMtaEntry 1}
queuedMtaAssociationIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Reference into association table to allow correlation with
active association(s) on queue. If there is no active
association for this MTA, it should be -1"
::= {queuedMtaEntry 2}
numberMessagesForMTA OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of messages queued for the remote MTA"
::= {queuedMtaEntry 3}
Hardcastle-Kille et at Expires: April 1993 Page 12
INTERNET--DRAFT Application MIB October 17, 1992
volumeMessagesForMTA OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The volume of messages queued for the remote MTA, measured in kbytes"
::= {queuedMtaEntry 4}
oldestMessageQueued OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The age of the oldest message queued for this MTA, relative
to the time of query"
::= {queuedMtaEntry 5}
connectFailureReason OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The failure reason, if any, for the last connect attempt to
the MTA. An empty string implies that the last connection
attempt was successful. If there was
no connection since the application started it should
contain 'never'"
::= {queuedMtaEntry 6}
lastInboundRemoteMtaActivity OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Time since the last time this remote MTA had an inbound
association to the local MTA"
::= {queuedMtaEntry 7}
Hardcastle-Kille et at Expires: April 1993 Page 13
INTERNET--DRAFT Application MIB October 17, 1992
lastOutboundRemoteMtaActivity OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Time since the last time this remote MTA had an outbound
association to the local MTA"
::= {queuedMtaEntry 8}
scheduledRetry OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The scheduled time at which the next connection will be
attempted. This time is relative to the query time"
::= {queuedMtaEntry 9}
remoteMTA OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The name of the remote MTA. For an internet application
this should be a domain name. For an OSI application it should be
the string encoded distinguished name of the managed object
using the format of OSI-DS 23.
For X.400(84) MTAs which do not have a Distinguished Name, the
RFC 1327 syntax 'mta in globalid' should be used"
::= {queuedMtaEntry 10}
mailProtocol OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
Hardcastle-Kille et at Expires: April 1993 Page 14
INTERNET--DRAFT Application MIB October 17, 1992
DESCRIPTION
"An identification of the protocol that will be used for the
connection. For an OSI Application, this will be the
Application Context. For Internet applications, it should be an
Object Identifier derived from the port ** see below ***"
::= {queuedMtaEntry 11}
5 DSA Objects
If it is desired to monitor DSAs (Directory System Agents) in more
detail, a group of objects is provided for this. The set of DSAs is
represented as a table, keyed by dsaApplicationIndex, in order to
allow multiple DSAs to be run and monitored on a single host. This
situation is sufficiently common to justify this increase in
complexity. This key is the same as the applicationIndex, so that
generic information may be correlated to DSA information.
dsaTable OBJECT-TYPE
SYNTAX SEQUENCE OF DSAEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The table holding information specific to a DSA"
::= {application-mib 3}
dsaEntry OBJECT-TYPE
SYNTAX DSAEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Entry associated with each DSA"
INDEX { dsaApplicationIndex }
::= {dsaTable 1}
DSAEntry ::= SEQUENCE {
dsaApplicationIndex
INTEGER,
masterEntries
INTEGER,
Hardcastle-Kille et at Expires: April 1993 Page 15
INTERNET--DRAFT Application MIB October 17, 1992
copyEntries
INTEGER,
cacheEntries
INTEGER,
readOperations
Counter,
searchOperations
Counter,
modifyOperations
Counter
}
dsaApplicationIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Reference into application table to allow correlation with
general application parameters"
::= {dsaEntry 1}
masterEntries OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Number of Entries mastered in the DSA"
::= {dsaEntry 2}
copyEntries OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Number of Entries with systematic (slave) copies maintained
in the DSA"
::= {dsaEntry 3}
cacheEntries OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
Hardcastle-Kille et at Expires: April 1993 Page 16
INTERNET--DRAFT Application MIB October 17, 1992
DESCRIPTION
"Number of Entries cached (non-systematic copies) in the DSA"
::= {dsaEntry 4}
readOperations OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of read port (read, compare, abandon) operations
since application initialisation"
::= {dsaEntry 5}
searchOperations OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of search port (search, list) operations since
application initialisation"
::= {dsaEntry 6}
modifyOperations OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of modify port (add, delete, modify, modifydn)
operations since application initialisation"
::= {dsaEntry 7}
Hardcastle-Kille et at Expires: April 1993 Page 17
INTERNET--DRAFT Application MIB October 17, 1992
A Object Identifier Assignment
ApplicationMib {iso(1) org(3) dod(6) internet(1) private(4)
enterprises(1) isode-consortium (453) definitions (1)
application-mib(1)}
DEFINITIONS ::= BEGIN
IMPORTS
enterprises, OBJECT-TYPE, Counter, DisplayString, TimeTicks
FROM RFC1151-SMI;
isode-consortium OBJECT IDENTIFIER ::= {enterprises 453}
application-mib OBJECT IDENTIFIER ::= {isode-consortium 2}
-- *** REPEAT EARLIER DEFINITIONS HERE ***
END
A means will be defined to allocate an object identifier to each TCP
application. This will be done in consultation with the IANA.
Hardcastle-Kille et at Expires: April 1993 Page 18