As per Relevance of the word monitoring, we have this rfc below:
Network Working Group N.
Request for Comments: 2789
Obsoletes: 2249, 1566 S.
Category: Standards Track MessagingDirect Ltd
March 2000
Mail Monitoring
Status of this
This document specifies an Internet standards track protocol for
Internet community, and requests discussion and suggestions
improvements. Please refer to the current edition of the "
Official Protocol Standards" (STD 1) for the standardization
and status of this protocol. Distribution of this memo is unlimited
Copyright
Copyright (C) The Internet Society (2000). All Rights Reserved
This memo defines a portion of the Management Information Base (MIB
for use with network management protocols in the Internet community
Specifically, this memo extends the basic Network Services
MIB defined in RFC 2788 [16] to allow monitoring of Message
Agents (MTAs). It may also be used to monitor MTA components
gateways
Table of
1 The SNMP Network Management Framework ....................... 2
2 Message Flow Model .......................................... 3
3 MTA Objects ................................................. 3
4 Definitions ................................................. 4
5 Changes made since RFC 2249 ................................. 29
6 Acknowledgements ............................................ 30
7 References .................................................. 30
8 Security Considerations ..................................... 31
9 Author and Chair Addresses .................................. 32
10 Full Copyright Statement .................................... 33
Freed & Kille Standards Track [Page 1]
RFC 2789 Mail Monitoring MIB March 2000
1. The SNMP Network Management
The SNMP Management Framework presently consists of five
components
o An overall architecture, described in RFC 2571 [1].
o Mechanisms for describing and naming objects and events for
purpose of management. The first version of this Structure
Management Information (SMI) is called SMIv1 and described in
16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4].
second version, called SMIv2, is described in STD 58, RFC 2578
[5], STD 58, RFC 2579 [6] and STD 58, RFC 2580 [7].
o Message protocols for transferring management information.
first version of the SNMP message protocol is called SNMPv1
described in STD 15, RFC 1157 [8]. A second version of the
message protocol, which is not an Internet standards
protocol, is called SNMPv2c and described in RFC 1901 [9] and
1906 [10]. The third version of the message protocol is
SNMPv3 and described in RFC 1906 [10], RFC 2572 [11] and RFC 2574
[12].
o Protocol operations for accessing management information.
first set of protocol operations and associated PDU formats
described in STD 15, RFC 1157 [8]. A second set of
operations and associated PDU formats is described in RFC 1905
[13].
o A set of fundamental applications described in RFC 2573 [14]
the view-based access control mechanism described in RFC 2575
[15].
Managed objects are accessed via a virtual information store,
the Management Information Base or MIB. Objects in the MIB
defined using the mechanisms defined in the SMI
This memo specifies a MIB module that is compliant to the SMIv2.
MIB conforming to the SMIv1 can be produced through the
translations. The resulting translated MIB must be
equivalent, except where objects or events are omitted because
translation is possible (use of Counter64). Some machine
information in SMIv2 will be converted into textual descriptions
SMIv1 during the translation process. However, this loss of
readable information is not considered to change the semantics of
MIB
Freed & Kille Standards Track [Page 2]
RFC 2789 Mail Monitoring MIB March 2000
2. Message Flow
A general model of message flow inside an MTA has to be
before a MIB can be described. Generally speaking, message flow
modelled as occurring in four steps
(1) Messages are received by the MTA from User Agents,
Stores, other MTAs, and gateways
(2) The "next hop" for the each message is determined. This is
the destination the message is to be transmitted to; it may
may not be the final destination of the message. Multiple "
hops" may exist for a single message (as a result of
having multiple recipients or distribution list expansion);
may make it necessary to duplicate messages
(3) If necessary messages are converted into the format that'
appropriate for the next hop. Conversion operations may
successful or unsuccessful
(4) Messages are transmitted to the appropriate destination,
may be a User Agent, Message Store, another MTA, or gateway
Storage of messages in the MTA occurs at some point during
process. However, it is important to note that storage may occur
different and possibly even multiple points during this process.
example, some MTAs expand messages into multiple copies as they
received. In this case (1), (2), and (3) may all occur prior
storage. Other MTAs store messages precisely as they are received
perform all expansions and conversions during
processing. So here only (1) occurs prior to storage. This leads
situations where, in general, a measurement of messages received
not equal a measurement of messages in store, or a measurement
messages stored may not equal a measurement of
retransmitted, or both
3. MTA
If there are one or more MTAs on the host, the following MIB may
used to monitor them. Any number of the MTAs on a single host
group of hosts may be monitored. Each MTA is dealt with as a
network service and has its own applTable entry in the
Services Monitoring MIB
The MIB described in this document covers only the portion which
specific to the monitoring of MTAs. The network service related
of the MIB is covered in RFC 2788 [16].
Freed & Kille Standards Track [Page 3]
RFC 2789 Mail Monitoring MIB March 2000
This MIB defines four tables. The first of these contains per-
information that isn't specific to any particular part of MTA.
second breaks each MTA down into a collection of separate
called groups. Groups are described in detail in the
embedded in the MIB below. The third table provides a means
correlating associations tracked by the network services MIB
specific groups within different MTAs. Finally, the fourth
provides a means of tracking any errors encountered during
operation of the MTA. The first two tables must be implemented
conform with this MIB; the last two are optional
4.
MTA-MIB DEFINITIONS ::=
OBJECT-TYPE, Counter32, Gauge32, MODULE-IDENTITY, mib-2
FROM SNMPv2-
FROM SNMPv2-
MODULE-COMPLIANCE, OBJECT-
FROM SNMPv2-
FROM SNMP-FRAMEWORK-
applIndex,
FROM NETWORK-SERVICES-MIB
mta MODULE-
LAST-UPDATED "200003030000Z
ORGANIZATION "IETF Mail and Directory Management Working Group
CONTACT-
" Ned
Postal: Innosoft International, Inc
1050 Lakes
West Covina, CA 91790
Tel: +1 626 919 3600
Fax: +1 626 919 3614
E-Mail: ned.freed@innosoft.com
"The MIB module describing Message Transfer Agents (MTAs)"
REVISION "200003030000Z
"This revision, published in RFC 2789, changes a number
DisplayStrings to SnmpAdminStrings. Note that this
Freed & Kille Standards Track [Page 4]
RFC 2789 Mail Monitoring MIB March 2000
is not strictly supported by SMIv2. However, the
of deprecating the old objects and defining new
would have a more adverse impact on backward
and interoperability, given the particular semantics
these objects. The defining reference for
names has also been updated from RFC 1779 to RFC 2253."
REVISION "199905120000Z
"This revision fixes a number of technical problems found
previous versions: The conformance groups for
versions of this MIB have been corrected, the
that an empty string be returned if the last operation
successful has been removed
mtaGroupInboundRejectionReason
mtaGroupOutboundConnectFailureReason as it
with the stated purpose of these variables, and
required mtaStatusCode entry has been added
MtaGroupErrorEntry. It should be noted that this
change in no way affects the bits on the wire."
REVISION "199708170000Z
"This revision, published in RFC 2249, adds
mtaGroupDescription and mtaGroupURL fields,
operation counters, a group hierarchy description mechanism
counters for specific errors, oldest message IDs, per-
and per-group loop counters, and a new table for
any errors an MTA encounters."
REVISION "199311280000Z
"The original version of this MIB was published in RFC 1566"
::= {mib-2 28}
mtaTable OBJECT-
SYNTAX SEQUENCE OF
MAX-ACCESS not-
STATUS
"The table holding information specific to an MTA."
::= {mta 1}
mtaEntry OBJECT-
SYNTAX
MAX-ACCESS not-
STATUS
"The entry associated with each MTA."
INDEX {applIndex
::= {mtaTable 1}
Freed & Kille Standards Track [Page 5]
RFC 2789 Mail Monitoring MIB March 2000
MtaEntry ::= SEQUENCE {
Counter32,
Gauge32,
Counter32,
Counter32,
Gauge32,
Counter32,
Counter32,
Gauge32,
Counter32,
Counter32,
Counter32,
Counter32
}
mtaReceivedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages received since MTA initialization
This includes messages transmitted to this MTA from
MTAs as well as messages that have been submitted to
MTA directly by end-users or applications."
::= {mtaEntry 1}
mtaStoredMessages OBJECT-
SYNTAX Gauge32
MAX-ACCESS read-
STATUS
"The total number of messages currently stored in the MTA
This includes messages that are awaiting transmission
some other MTA or are waiting for delivery to an end-
or application."
::= {mtaEntry 2}
Freed & Kille Standards Track [Page 6]
RFC 2789 Mail Monitoring MIB March 2000
mtaTransmittedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages transmitted since MTA initialization
This includes messages that were transmitted to some
MTA or are waiting for delivery to an end-user
application."
::= {mtaEntry 3}
mtaReceivedVolume OBJECT-
SYNTAX Counter32
UNITS "K-octets
MAX-ACCESS read-
STATUS
"The total volume of messages received since
initialization, measured in kilo-octets. This volume
include all transferred data that is logically above the
transport protocol level. For example, an SMTP-based
should use the number of kilo-octets in the message
and body, while an X.400-based MTA should use the number
kilo-octets of P2 data. This includes messages
to this MTA from other MTAs as well as messages that
been submitted to the MTA directly by end-users
applications."
::= {mtaEntry 4}
mtaStoredVolume OBJECT-
SYNTAX Gauge32
UNITS "K-octets
MAX-ACCESS read-
STATUS
"The total volume of messages currently stored in the MTA
measured in kilo-octets. This volume should include
stored data that is logically above the mail
protocol level. For example, an SMTP-based MTA
use the number of kilo-octets in the message header
body, while an X.400-based MTA would use the number
kilo-octets of P2 data. This includes messages that
awaiting transmission to some other MTA or are
for delivery to an end-user or application."
::= {mtaEntry 5}
mtaTransmittedVolume OBJECT-
SYNTAX Counter32
Freed & Kille Standards Track [Page 7]
RFC 2789 Mail Monitoring MIB March 2000
UNITS "K-octets
MAX-ACCESS read-
STATUS
"The total volume of messages transmitted since
initialization, measured in kilo-octets. This volume
include all transferred data that is logically above the
transport protocol level. For example, an SMTP-based
should use the number of kilo-octets in the message
and body, while an X.400-based MTA should use the number
kilo-octets of P2 data. This includes messages that
transmitted to some other MTA or are waiting for
to an end-user or application."
::= {mtaEntry 6}
mtaReceivedRecipients OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The total number of recipients specified in all
received since MTA initialization. Recipients this
has no responsibility for, i.e. inactive
recipients or ones referred to in message headers
should not be counted even if information about
recipients is available. This includes
transmitted to this MTA from other MTAs as well
messages that have been submitted to the MTA
by end-users or applications."
::= {mtaEntry 7}
mtaStoredRecipients OBJECT-
SYNTAX Gauge32
MAX-ACCESS read-
STATUS
"The total number of recipients specified in all
currently stored in the MTA. Recipients this MTA has
responsibility for, i.e. inactive envelope recipients
ones referred to in message headers, should not
counted. This includes messages that are
transmission to some other MTA or are waiting
delivery to an end-user or application."
::= {mtaEntry 8}
mtaTransmittedRecipients OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
Freed & Kille Standards Track [Page 8]
RFC 2789 Mail Monitoring MIB March 2000
STATUS
"The total number of recipients specified in all
transmitted since MTA initialization. Recipients
MTA had no responsibility for, i.e. inactive
recipients or ones referred to in message headers
should not be counted. This includes messages that
transmitted to some other MTA or are waiting
delivery to an end-user or application."
::= {mtaEntry 9}
mtaSuccessfulConvertedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages that have been
converted from one form to another since
initialization."
::= {mtaEntry 10}
mtaFailedConvertedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages for which an
attempt was made to convert them from one form
another since MTA initialization."
::= {mtaEntry 11}
mtaLoopsDetected OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"A message loop is defined as a situation where the
decides that a given message will never be delivered
one or more recipients and instead will continue
loop endlessly through one or more MTAs. This
counts the number of times the MTA has detected such
situation since MTA initialization. Note that
mechanism MTAs use to detect loops (e.g., trace
counting, count of references to this MTA in a
field, examination of DNS or other directory information
etc.), the level at which loops are detected (e.g.,
message, per recipient, per directory entry, etc.),
the handling of a loop once it is detected (e.g.,
Freed & Kille Standards Track [Page 9]
RFC 2789 Mail Monitoring MIB March 2000
messages are held, looping messages are bounced or
to the postmaster, messages that the MTA knows will
won't be accepted, etc.) vary widely from one MTA to
next and cannot be inferred from this variable."
::= {mtaEntry 12}
-- MTAs typically group inbound reception, queue storage,
-- outbound transmission in some way, rather than accounting
-- such operations only across the MTA as a whole. In the
-- extreme case separate information will be maintained for
-- different entity that receives messages and for each
-- the MTA stores messages for and delivers messages to.
-- MTAs may elect to treat all reception equally, all
-- storage equally, all deliveries equally, or some
-- of this. Overlapped groupings are also possible, where an
-- decomposes its traffic in different ways for
-- purposes
-- In any case, a grouping abstraction is an extremely useful
-- breaking down the activities of an MTA. For purposes
-- labelling this will be called a "group" in this MIB
-- Each group contains all the variables needed to monitor
-- aspects of an MTA's operation. However, the fact that
-- groups contain all possible variables does not imply that
-- groups must use all possible variables. For example, a
-- group might be used to monitor only one kind of event (
-- processing, outbound processing, or storage). In this sort
-- configuration any counters that are unused as a result of
-- given MTA's use of the group construct must be inaccessible
-- e.g., returning either a noSuchName error (for an SNMPv1 get),
-- or a noSuchInstance exception (for an SNMPv2 get).
-- Groups can be created at any time after MTA initialization.
-- a group is created it should not be deleted or its
-- changed unless the MTA is reinitialized
-- Groups are not necessarily mutually exclusive. A given event
-- be recorded by more than one group, a message may be seen
-- stored by more than one group, and so on. Groups should be
-- inclusive, however: if groups are implemented all aspects of
-- MTA's operation should be registered in at least one group
-- This freedom lets implementors use different sets of groups
-- provide different "views" of an MTA
-- The possibility of overlap between groups means that
-- variables across groups may not produce values equal to those
-- the mtaTable. mtaTable should always provide accurate
Freed & Kille Standards Track [Page 10]
RFC 2789 Mail Monitoring MIB March 2000
-- about the MTA as a whole
-- The term "channel" is often used in MTA implementations;
-- are usually, but not always, equivalent to a group. However
-- this MIB does not use the term "channel" because there is
-- requirement that an MTA supporting this MIB has to map
-- "channel" abstraction one-to-one onto the MIB's group abstraction
-- An MTA may create a group or group of groups at any time.
-- created, however, an MTA cannot delete an entry for a group
-- the group table. Deletion is only allowed when the MTA
-- reinitialized, and is not required even then. This
-- is imposed so that monitoring agents can rely on
-- assignments being consistent across multiple query operations
-- Groups may be laid out so as to form a hierarchical arrangement
-- with some groups acting as subgroups for other groups
-- Alternately, disjoint groups of groups may be used to
-- different sorts of "snapshots" of MTA operation.
-- mtaGroupHierarchy variable provides an indication of how
-- group fits into the overall arrangement being used
-- Note that SNMP also defines and uses term "group". MTA groups
-- NOT the same as SNMP groups
mtaGroupTable OBJECT-
SYNTAX SEQUENCE OF
MAX-ACCESS not-
STATUS
"The table holding information specific to each MTA group."
::= {mta 2}
mtaGroupEntry OBJECT-
SYNTAX
MAX-ACCESS not-
STATUS
"The entry associated with each MTA group."
INDEX {applIndex, mtaGroupIndex
::= {mtaGroupTable 1}
MtaGroupEntry ::= SEQUENCE {
INTEGER
Counter32,
Freed & Kille Standards Track [Page 11]
RFC 2789 Mail Monitoring MIB March 2000
Counter32,
Gauge32,
Counter32,
Counter32,
Gauge32,
Counter32,
Counter32,
Gauge32,
Counter32,
TimeInterval
Gauge32,
Gauge32,
Counter32,
Counter32,
TimeInterval
TimeInterval
TimeInterval
Counter32,
Counter32,
SnmpAdminString
SnmpAdminString
TimeInterval
OBJECT IDENTIFIER
SnmpAdminString
Freed & Kille Standards Track [Page 12]
RFC 2789 Mail Monitoring MIB March 2000
Counter32,
Counter32,
SnmpAdminString
URLString
TimeInterval
INTEGER
SnmpAdminString
Counter32
}
mtaGroupIndex OBJECT-
SYNTAX INTEGER (1..2147483647)
MAX-ACCESS not-
STATUS
"The index associated with a group for a given MTA."
::= {mtaGroupEntry 1}
mtaGroupReceivedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages received to this group
group creation."
::= {mtaGroupEntry 2}
mtaGroupRejectedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages rejected by this group
group creation."
::= {mtaGroupEntry 3}
mtaGroupStoredMessages OBJECT-
SYNTAX Gauge32
MAX-ACCESS read-
STATUS
Freed & Kille Standards Track [Page 13]
RFC 2789 Mail Monitoring MIB March 2000
"The total number of messages currently stored in
group's queue."
::= {mtaGroupEntry 4}
mtaGroupTransmittedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages transmitted by this group
group creation."
::= {mtaGroupEntry 5}
mtaGroupReceivedVolume OBJECT-
SYNTAX Counter32
UNITS "K-octets
MAX-ACCESS read-
STATUS
"The total volume of messages received to this group
group creation, measured in kilo-octets. This
should include all transferred data that is logically
the mail transport protocol level. For example,
SMTP-based MTA should use the number of kilo-octets in
message header and body, while an X.400-based MTA should
the number of kilo-octets of P2 data."
::= {mtaGroupEntry 6}
mtaGroupStoredVolume OBJECT-
SYNTAX Gauge32
UNITS "K-octets
MAX-ACCESS read-
STATUS
"The total volume of messages currently stored in
group's queue, measured in kilo-octets. This volume
include all stored data that is logically above the
transport protocol level. For example, an SMTP-
MTA should use the number of kilo-octets in the
header and body, while an X.400-based MTA would use
number of kilo-octets of P2 data."
::= {mtaGroupEntry 7}
mtaGroupTransmittedVolume OBJECT-
SYNTAX Counter32
UNITS "K-octets
MAX-ACCESS read-
STATUS
Freed & Kille Standards Track [Page 14]
RFC 2789 Mail Monitoring MIB March 2000
"The total volume of messages transmitted by this
since group creation, measured in kilo-octets.
volume should include all transferred data that is
above the mail transport protocol level. For example,
SMTP-based MTA should use the number of kilo-octets in
message header and body, while an X.400-based MTA should
the number of kilo-octets of P2 data."
::= {mtaGroupEntry 8}
mtaGroupReceivedRecipients OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The total number of recipients specified in all
received to this group since group creation
Recipients this MTA has no responsibility for should
be counted."
::= {mtaGroupEntry 9}
mtaGroupStoredRecipients OBJECT-
SYNTAX Gauge32
MAX-ACCESS read-
STATUS
"The total number of recipients specified in all
currently stored in this group's queue. Recipients
MTA has no responsibility for should not be counted."
::= {mtaGroupEntry 10}
mtaGroupTransmittedRecipients OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The total number of recipients specified in all
transmitted by this group since group creation
Recipients this MTA had no responsibility for should
be counted."
::= {mtaGroupEntry 11}
mtaGroupOldestMessageStored OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"Time since the oldest message in this group's queue
Freed & Kille Standards Track [Page 15]
RFC 2789 Mail Monitoring MIB March 2000
placed in the queue."
::= {mtaGroupEntry 12}
mtaGroupInboundAssociations OBJECT-
SYNTAX Gauge32
MAX-ACCESS read-
STATUS
"The number of current associations to the group, where
group is the responder."
::= {mtaGroupEntry 13}
mtaGroupOutboundAssociations OBJECT-
SYNTAX Gauge32
MAX-ACCESS read-
STATUS
"The number of current associations to the group, where
group is the initiator."
::= {mtaGroupEntry 14}
mtaGroupAccumulatedInboundAssociations OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The total number of associations to the group
group creation, where the MTA was the responder."
::= {mtaGroupEntry 15}
mtaGroupAccumulatedOutboundAssociations OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The total number of associations from the group
group creation, where the MTA was the initiator."
::= {mtaGroupEntry 16}
mtaGroupLastInboundActivity OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"Time since the last time that this group had an
inbound association for purposes of message reception."
::= {mtaGroupEntry 17}
Freed & Kille Standards Track [Page 16]
RFC 2789 Mail Monitoring MIB March 2000
mtaGroupLastOutboundActivity OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"Time since the last time that this group had
successful outbound association for purposes
message delivery."
::= {mtaGroupEntry 18}
mtaGroupLastOutboundAssociationAttempt OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"Time since the last time that this group
to make an outbound association for purposes
message delivery."
::= {mtaGroupEntry 34}
mtaGroupRejectedInboundAssociations OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The total number of inbound associations the group
rejected, since group creation. Rejected
are not counted in the accumulated association totals."
::= {mtaGroupEntry 19}
mtaGroupFailedOutboundAssociations OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The total number associations where the group was
initiator and association establishment has failed
since group creation. Failed associations
not counted in the accumulated association totals."
::= {mtaGroupEntry 20}
mtaGroupInboundRejectionReason OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"The failure reason, if any, for the last association
group refused to respond to. If no association
Freed & Kille Standards Track [Page 17]
RFC 2789 Mail Monitoring MIB March 2000
has been made since the MTA was initialized the
should be 'never'."
::= {mtaGroupEntry 21}
mtaGroupOutboundConnectFailureReason OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"The failure reason, if any, for the last association
this group initiated. If no association attempt has
made since the MTA was initialized the value should
'never'."
::= {mtaGroupEntry 22}
mtaGroupScheduledRetry OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"The amount of time until this group is next scheduled
attempt to make an association."
::= {mtaGroupEntry 23}
mtaGroupMailProtocol OBJECT-
SYNTAX OBJECT
MAX-ACCESS read-
STATUS
"An identification of the protocol being used by this group
For an group employing OSI protocols, this will be
Application Context. For Internet applications,
values of the form {applTCPProtoID port} or {
port} are used for TCP-based and UDP-based protocols
respectively. In either case 'port' corresponds to
primary port number being used by the protocol.
usual IANA procedures may be used to register ports
new protocols. applTCPProtoID and applUDPProtoID
defined in the NETWORK-SERVICES-MIB, RFC 2788."
::= {mtaGroupEntry 24}
mtaGroupName OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"A descriptive name for the group. If this group connects
a single remote MTA this should be the name of that MTA.
Freed & Kille Standards Track [Page 18]
RFC 2789 Mail Monitoring MIB March 2000
this in turn is an Internet MTA this should be the
name. For an OSI MTA it should be the string
distinguished name of the managed object using the
defined in RFC 2253. For X.400(1984) MTAs which do
have a Distinguished Name, the RFC 2156
'mta in globalid' used in X400-Received: fields can
used."
::= {mtaGroupEntry 25}
mtaGroupSuccessfulConvertedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages that have been
converted from one form to another in this
since group creation."
::= {mtaGroupEntry 26}
mtaGroupFailedConvertedMessages OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"The number of messages for which an
attempt was made to convert them from one form
another in this group since group creation."
::= {mtaGroupEntry 27}
mtaGroupDescription OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"A description of the group's purpose. This information
intended to identify the group in a status display."
::= {mtaGroupEntry 28}
mtaGroupURL OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"A URL pointing to a description of the group.
information is intended to identify and briefly
the group in a status display."
::= {mtaGroupEntry 29}
Freed & Kille Standards Track [Page 19]
RFC 2789 Mail Monitoring MIB March 2000
mtaGroupCreationTime OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"Time since this group was first created."
::= {mtaGroupEntry 30}
mtaGroupHierarchy OBJECT-
SYNTAX INTEGER (-2147483648..2147483647)
MAX-ACCESS read-
STATUS
"Describes how this group fits into the hierarchy.
positive value is interpreted as an
value for some other group whose variables
those of this group (and usually others). A
value is interpreted as a group collection code:
with common negative hierarchy values comprise
particular breakdown of MTA activity as a whole.
zero value means that this MIB implementation doesn'
implement hierarchy indicators and thus the
group hierarchy cannot be determined."
::= {mtaGroupEntry 31}
mtaGroupOldestMessageId OBJECT-
SYNTAX
MAX-ACCESS read-
STATUS
"Message ID of the oldest message in the group's queue
Whenever possible this should be in the form of
RFC 822 msg-id; X.400 may convert X.400
identifiers to this form by following the rules
out in RFC2156."
::= {mtaGroupEntry 32}
mtaGroupLoopsDetected OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"A message loop is defined as a situation where the
decides that a given message will never be delivered
one or more recipients and instead will continue
loop endlessly through one or more MTAs. This
counts the number of times the MTA has detected such
situation in conjunction with something associated
Freed & Kille Standards Track [Page 20]
RFC 2789 Mail Monitoring MIB March 2000
this group since group creation. Note that
mechanism MTAs use to detect loops (e.g., trace
counting, count of references to this MTA in a
field, examination of DNS or other directory information
etc.), the level at which loops are detected (e.g.,
message, per recipient, per directory entry, etc.),
the handling of a loop once it is detected (e.g.,
messages are held, looping messages are bounced or
to the postmaster, messages that the MTA knows will
won't be accepted, etc.) vary widely from one MTA to
next and cannot be inferred from this variable."
::= {mtaGroupEntry 33}
-- The mtaGroupAssociationTable provides a means of
-- entries in the network services association table with
-- MTA group responsible for the association
mtaGroupAssociationTable OBJECT-
SYNTAX SEQUENCE OF
MAX-ACCESS not-
STATUS
"The table holding information regarding the
for each MTA group."
::= {mta 3}
mtaGroupAssociationEntry OBJECT-
SYNTAX
MAX-ACCESS not-
STATUS
"The entry holding information regarding the
for each MTA group."
INDEX {applIndex, mtaGroupIndex, mtaGroupAssociationIndex
::= {mtaGroupAssociationTable 1}
MtaGroupAssociationEntry ::= SEQUENCE {
}
mtaGroupAssociationIndex OBJECT-
SYNTAX INTEGER (1..2147483647)
MAX-ACCESS read-
STATUS
"Reference into association table to allow correlation
this group's active associations with the association table."
Freed & Kille Standards Track [Page 21]
RFC 2789 Mail Monitoring MIB March 2000
::= {mtaGroupAssociationEntry 1}
-- The mtaGroupErrorTable gives each group a way of
-- the specific errors it has encountered. The
-- defined here uses RFC 1893 status codes to
-- various specific errors. There are also classes for
-- errors of various sorts, and the entire mechanism is
-- extensible, in that new error codes can be defined at
-- time
mtaGroupErrorTable OBJECT-
SYNTAX SEQUENCE OF
MAX-ACCESS not-
STATUS
"The table holding information regarding accumulated
for each MTA group."
::= {mta 5}
mtaGroupErrorEntry OBJECT-
SYNTAX
MAX-ACCESS not-
STATUS
"The entry holding information regarding
errors for each MTA group."
INDEX {applIndex, mtaGroupIndex, mtaStatusCode
::= {mtaGroupErrorTable 1}
MtaGroupErrorEntry ::= SEQUENCE {
INTEGER (4000000..5999999),
Counter32,
Counter32,
Counter32
}
mtaGroupInboundErrorCount OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"Count of the number of errors of a given type that
been accumulated in association with a particular
while processing incoming messages. In the case of
Freed & Kille Standards Track [Page 22]
RFC 2789 Mail Monitoring MIB March 2000
these will typically be errors reporting by an
server to the remote client; in the case of X.400
these will typically be errors encountered
processing an incoming message."
::= {mtaGroupErrorEntry 1}
mtaGroupInternalErrorCount OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"Count of the number of errors of a given type that
been accumulated in association with a particular
during internal MTA processing."
::= {mtaGroupErrorEntry 2}
mtaGroupOutboundErrorCount OBJECT-
SYNTAX Counter32
MAX-ACCESS read-
STATUS
"Count of the number of errors of a given type that
been accumulated in association with a particular group'
outbound connection activities. In the case of an
client these will typically be errors reported
attempting to contact or while communicating with
remote SMTP server. In the case of X.400 these
typically be errors encountered while
or attempting to deliver an outgoing message."
::= {mtaGroupErrorEntry 3}
mtaStatusCode OBJECT-
SYNTAX INTEGER (4000000..5999999)
MAX-ACCESS not-
STATUS
"An index capable of representing an Enhanced Mail
Status Code. Enhanced Mail System Status Codes
defined in RFC 1893. These codes have the
class.subject.
Here 'class' is either 2, 4, or 5 and both 'subject'
'detail' are integers in the range 0..999. Given a
code the corresponding index value is defined to
((class * 1000) + subject) * 1000 + detail. Both
error response codes and X.400 reason and diagnostic
can be mapped into these codes, resulting in a
Freed & Kille Standards Track [Page 23]
RFC 2789 Mail Monitoring MIB March 2000
capable of describing most error conditions a mail
encounters in a generic yet detailed way."
::= {mtaGroupErrorEntry 4}
-- Conformance
mtaConformance OBJECT IDENTIFIER ::= {mta 4}
mtaGroups OBJECT IDENTIFIER ::= {mtaConformance 1}
mtaCompliances OBJECT IDENTIFIER ::= {mtaConformance 2}
-- Compliance
mtaCompliance MODULE-
STATUS
"The compliance statement for RFC 1566
which support the Mail Monitoring MIB for
monitoring of MTAs."
MODULE -- this
MANDATORY-GROUPS {mtaRFC1566Group
::= {mtaCompliances 1}
mtaAssocCompliance MODULE-
STATUS
"The compliance statement for RFC 1566
which support the Mail Monitoring MIB for
of MTAs and their associations."
MODULE -- this
MANDATORY-GROUPS {mtaRFC1566Group, mtaRFC1566AssocGroup
::= {mtaCompliances 2}
mtaRFC2249Compliance MODULE-
STATUS
"The compliance statement for RFC 2249
which support the Mail Monitoring MIB for
monitoring of MTAs."
MODULE -- this
MANDATORY-GROUPS {mtaRFC2249Group
::= {mtaCompliances 5}
mtaRFC2249AssocCompliance MODULE-
STATUS
"The compliance statement for RFC 2249
Freed & Kille Standards Track [Page 24]
RFC 2789 Mail Monitoring MIB March 2000
which support the Mail Monitoring MIB for monitoring
MTAs and their associations."
MODULE -- this
MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249AssocGroup
::= {mtaCompliances 6}
mtaRFC2249ErrorCompliance MODULE-
STATUS
"The compliance statement for RFC 2249
which support the Mail Monitoring MIB for monitoring
MTAs and detailed errors."
MODULE -- this
MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249ErrorGroup
::= {mtaCompliances 7}
mtaRFC2249FullCompliance MODULE-
STATUS
"The compliance statement for RFC 2249
which support the full Mail Monitoring MIB
monitoring of MTAs, associations, and detailed errors."
MODULE -- this
MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249AssocGroup
mtaRFC2249ErrorGroup
::= {mtaCompliances 8}
mtaRFC2789Compliance MODULE-
STATUS
"The compliance statement for RFC 2789
which support the Mail Monitoring MIB for
monitoring of MTAs."
MODULE -- this
MANDATORY-GROUPS {mtaRFC2789Group
::= {mtaCompliances 9}
mtaRFC2789AssocCompliance MODULE-
STATUS
"The compliance statement for RFC 2789
which support the Mail Monitoring MIB for monitoring
MTAs and their associations."
MODULE -- this
MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789AssocGroup
::= {mtaCompliances 10}
mtaRFC2789ErrorCompliance MODULE-
Freed & Kille Standards Track [Page 25]
RFC 2789 Mail Monitoring MIB March 2000
STATUS
"The compliance statement for RFC 2789
which support the Mail Monitoring MIB for monitoring
MTAs and detailed errors."
MODULE -- this
MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789ErrorGroup
::= {mtaCompliances 11}
mtaRFC2789FullCompliance MODULE-
STATUS
"The compliance statement for RFC 2789
which support the full Mail Monitoring MIB
monitoring of MTAs, associations, and detailed errors."
MODULE -- this
MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789AssocGroup
mtaRFC2789ErrorGroup
::= {mtaCompliances 12}
-- Units of
mtaRFC1566Group OBJECT-
OBJECTS {
mtaReceivedMessages, mtaStoredMessages
mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume
mtaTransmittedVolume, mtaReceivedRecipients
mtaStoredRecipients, mtaTransmittedRecipients
mtaGroupReceivedMessages, mtaGroupRejectedMessages
mtaGroupStoredMessages, mtaGroupTransmittedMessages
mtaGroupReceivedVolume, mtaGroupStoredVolume
mtaGroupTransmittedVolume, mtaGroupReceivedRecipients
mtaGroupStoredRecipients, mtaGroupTransmittedRecipients
mtaGroupOldestMessageStored, mtaGroupInboundAssociations
mtaGroupOutboundAssociations
mtaGroupAccumulatedInboundAssociations
mtaGroupAccumulatedOutboundAssociations
mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity
mtaGroupRejectedInboundAssociations
mtaGroupFailedOutboundAssociations
mtaGroupInboundRejectionReason
mtaGroupOutboundConnectFailureReason
mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName
STATUS
"A collection of objects providing basic monitoring of MTAs
This is the original set of such objects defined in
1566."
Freed & Kille Standards Track [Page 26]
RFC 2789 Mail Monitoring MIB March 2000
::= {mtaGroups 10}
mtaRFC1566AssocGroup OBJECT-
OBJECTS {
mtaGroupAssociationIndex
STATUS
"A collection of objects providing monitoring of
associations. This is the original set of such
defined in RFC 1566."
::= {mtaGroups 11}
mtaRFC2249Group OBJECT-
OBJECTS {
mtaReceivedMessages, mtaStoredMessages
mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume
mtaTransmittedVolume, mtaReceivedRecipients
mtaStoredRecipients, mtaTransmittedRecipients
mtaSuccessfulConvertedMessages, mtaFailedConvertedMessages
mtaGroupReceivedMessages, mtaGroupRejectedMessages
mtaGroupStoredMessages, mtaGroupTransmittedMessages
mtaGroupReceivedVolume, mtaGroupStoredVolume
mtaGroupTransmittedVolume, mtaGroupReceivedRecipients
mtaGroupStoredRecipients, mtaGroupTransmittedRecipients
mtaGroupOldestMessageStored, mtaGroupInboundAssociations
mtaGroupOutboundAssociations, mtaLoopsDetected
mtaGroupAccumulatedInboundAssociations
mtaGroupAccumulatedOutboundAssociations
mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity
mtaGroupLastOutboundAssociationAttempt
mtaGroupRejectedInboundAssociations
mtaGroupFailedOutboundAssociations
mtaGroupInboundRejectionReason
mtaGroupOutboundConnectFailureReason
mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName
mtaGroupSuccessfulConvertedMessages
mtaGroupFailedConvertedMessages, mtaGroupDescription
mtaGroupURL, mtaGroupCreationTime, mtaGroupHierarchy
mtaGroupOldestMessageId, mtaGroupLoopsDetected
STATUS
"A collection of objects providing basic monitoring of MTAs
This group was originally defined in RFC 2249."
::= {mtaGroups 4}
mtaRFC2249AssocGroup OBJECT-
OBJECTS {
mtaGroupAssociationIndex
Freed & Kille Standards Track [Page 27]
RFC 2789 Mail Monitoring MIB March 2000
STATUS
"A collection of objects providing monitoring of
associations. This group was originally defined in
2249."
::= {mtaGroups 5}
mtaRFC2249ErrorGroup OBJECT-
OBJECTS {
mtaGroupInboundErrorCount, mtaGroupInternalErrorCount
mtaGroupOutboundErrorCount
STATUS
"A collection of objects providing monitoring
detailed MTA errors. This group was originally
in RFC 2249."
::= {mtaGroups 6}
mtaRFC2789Group OBJECT-
OBJECTS {
mtaReceivedMessages, mtaStoredMessages
mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume
mtaTransmittedVolume, mtaReceivedRecipients
mtaStoredRecipients, mtaTransmittedRecipients
mtaSuccessfulConvertedMessages, mtaFailedConvertedMessages
mtaGroupReceivedMessages, mtaGroupRejectedMessages
mtaGroupStoredMessages, mtaGroupTransmittedMessages
mtaGroupReceivedVolume, mtaGroupStoredVolume
mtaGroupTransmittedVolume, mtaGroupReceivedRecipients
mtaGroupStoredRecipients, mtaGroupTransmittedRecipients
mtaGroupOldestMessageStored, mtaGroupInboundAssociations
mtaGroupOutboundAssociations, mtaLoopsDetected
mtaGroupAccumulatedInboundAssociations
mtaGroupAccumulatedOutboundAssociations
mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity
mtaGroupLastOutboundAssociationAttempt
mtaGroupRejectedInboundAssociations
mtaGroupFailedOutboundAssociations
mtaGroupInboundRejectionReason
mtaGroupOutboundConnectFailureReason
mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName
mtaGroupSuccessfulConvertedMessages
mtaGroupFailedConvertedMessages, mtaGroupDescription
mtaGroupURL, mtaGroupCreationTime, mtaGroupHierarchy
mtaGroupOldestMessageId, mtaGroupLoopsDetected
STATUS
"A collection of objects providing basic monitoring of MTAs
Freed & Kille Standards Track [Page 28]
RFC 2789 Mail Monitoring MIB March 2000
This is the appropriate group for RFC 2789."
::= {mtaGroups 7}
mtaRFC2789AssocGroup OBJECT-
OBJECTS {
mtaGroupAssociationIndex
STATUS
"A collection of objects providing monitoring of
associations. This is the appropriate group for
2789 association monitoring."
::= {mtaGroups 8}
mtaRFC2789ErrorGroup OBJECT-
OBJECTS {
mtaGroupInboundErrorCount, mtaGroupInternalErrorCount
mtaGroupOutboundErrorCount
STATUS
"A collection of objects providing monitoring
detailed MTA errors. This is the appropriate
for RFC 2789 error monitoring."
::= {mtaGroups 9}
5. Changes made since RFC 2249
This revision corrects a number of minor technical errors in
construction of the mail monitoring MIB in RFC 2249 [18]:
(1) All DisplayStrings have been changed to SnmpAdminStrings
(2) the conformance groups for different versions of this MIB
been corrected
(3) the required mtaStatusCode entry has been added
MtaGroupErrorEntry (which does not affect the bits on the wire
any way),
(4) the recommendation that an empty string be returned if the
operation was successful has been removed
mtaGroupInboundRejectionReason
mtaGroupOutboundConnectFailureReason as it conflicts with
stated purpose of these variables
Freed & Kille Standards Track [Page 29]
RFC 2789 Mail Monitoring MIB March 2000
6.
This document is a work product of the Mail and Directory
(MADMAN) Working Group of the IETF. It is based on an earlier
designed by S. Kille, T. Lenggenhager, D. Partain, and W. Yeong.
Electronic Mail Association's TSC committee was instrumental
providing feedback on and suggesting enhancements to RFC 1566 [19]
that have led to the present document
7.
[1] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture
Describing SNMP Management Frameworks", RFC 2571, April 1999.
[2] Rose, M. and K. McCloghrie, "Structure and Identification
Management Information for TCP/IP-based Internets", STD 16,
1155, May 1990.
[3] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16,
RFC 1212, March 1991.
[4] Rose, M., "A Convention for Defining Traps for use with
SNMP", RFC 1215, March 1991.
[5] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure
Management Information Version 2 (SMIv2)", STD 58, RFC 2578,
April 1999.
[6] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "
Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[7] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "
Statements for SMIv2", STD 58, RFC 2580, April 1999.
[8] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "
Network Management Protocol", STD 15, RFC 1157, May 1990.
[9] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser
"Introduction to Community-based SNMPv2", RFC 1901,
1996.
[10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "
Mappings for Version 2 of the Simple Network Management
(SNMPv2)", RFC 1906, January 1996.
[11] Case, J., Harrington D., Presuhn R. and B. Wijnen, "
Processing and Dispatching for the Simple Network
Protocol (SNMP)", RFC 2572, April 1999.
Freed & Kille Standards Track [Page 30]
RFC 2789 Mail Monitoring MIB March 2000
[12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM
for version 3 of the Simple Network Management
(SNMPv3)", RFC 2574, April 1999.
[13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "
Operations for Version 2 of the Simple Network
Protocol (SNMPv2)", RFC 1905, January 1996.
[14] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications",
2573, April 1999.
[15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based
Control Model (VACM) for the Simple Network Management
(SNMP)", RFC 2575, April 1999.
[16] Freed, N. and S. Kille, "Network Services Monitoring MIB",
2788, March 2000.
[17] Wahl, M., Kille, S. and T. Howes, "Lightweight Directory
Protocol (v3): UTF-8 String Representation of
Names", RFC 2253, December 1997.
[18] Freed, N. and S. Kille, "Mail Monitoring MIB", RFC 2249,
1998.
[19] Freed, N. and S. Kille, "Mail Monitoring MIB", RFC 1566,
1994.
[20] Kille, S., "Mapping between X.400(1988) and RFC 822/MIME",
2156, January 1998.
[21] Crocker, D., "Standard for the Format of ARPA Internet
Message", STD 11, RFC 822, August 1982.
[22] Vaudreuil, G., "Enhanced Mail System Status Codes", RFC 1893,
January 1996.
8. Security
There are no management objects defined in this MIB that have a MAX
ACCESS clause of read-write and/or read-create. So, if this MIB
implemented correctly, then there is no risk that an intruder
alter or create any management objects of this MIB via direct
SET operations
Freed & Kille Standards Track [Page 31]
RFC 2789 Mail Monitoring MIB March 2000
However, this MIB does provide passive information about
existence, type, and configuration of applications on a given
that could potentially indicate some sort of vulnerability. Finally
the information MIB provides about network usage could be used
analyze network traffic patterns
SNMPv1 by itself is not a secure environment. Even if the
itself is secure (for example by using IPSec), even then, there is
control as to who on the secure network is allowed to access
GET/SET (read/change/create/delete) the objects in this MIB
It is recommended that the implementers consider the
features as provided by the SNMPv3 framework. Specifically, the
of the User-based Security Model RFC 2574 [12] and the View-
Access Control Model RFC 2575 [15] is recommended
It is then a customer/user responsibility to ensure that the
entity giving access to an instance of this MIB, is
configured to give access to the objects only to those
(users) that have legitimate rights to indeed GET or
(change/create/delete) them
9. Author and Chair
Ned
Innosoft International, Inc
1050 Lakes
West Covina, CA 91790
Phone: +1 626 919 3600
Fax: +1 626 919 3614
EMail: ned.freed@innosoft.
Steve Kille, MADMAN WG
MessagingDirect Ltd
The Dome, The
Richmond TW9 1
Phone: +44 20 8332 9091
EMail: Steve.Kille@MessagingDirect.
Freed & Kille Standards Track [Page 32]
RFC 2789 Mail Monitoring MIB March 2000
10. Full Copyright
Copyright (C) The Internet Society (2000). All Rights Reserved
This document and translations of it may be copied and furnished
others, and derivative works that comment on or otherwise explain
or assist in its implementation may be prepared, copied,
and distributed, in whole or in part, without restriction of
kind, provided that the above copyright notice and this paragraph
included on all such copies and derivative works. However,
document itself may not be modified in any way, such as by
the copyright notice or references to the Internet Society or
Internet organizations, except as needed for the purpose
developing Internet standards in which case the procedures
copyrights defined in the Internet Standards process must
followed, or as required to translate it into languages other
English
The limited permissions granted above are perpetual and will not
revoked by the Internet Society or its successors or assigns
This document and the information contained herein is provided on
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
Funding for the RFC Editor function is currently provided by
Internet Society
Freed & Kille Standards Track [Page 33]
if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.
RFC documents can be found at I.E.T.F.
Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX