Event MIB

                             26 March 1997

                  draft-ietf-disman-event-mib-00.txt

                  draft-ietf-disman-event-mib-01.txt

                              Bob Stewart
                          Cisco Systems, Inc.
                           bstewart@cisco.com

                          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 ds.internic.net (US East Coast), nic.nordu.net (Europe),
ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).

1.  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 describes managed objects used for
managing monitoring of MIB objects and taking action through events.

2.  The SNMP Network Management Framework

They are: The SNMP Network Management Framework presently consists of
three major components.  They are:

  the SMI, described in RFC 1902 [1] - the mechanisms used for
  describing and naming objects for the purpose of management.

  the MIB-II, STD 17, RFC 1213 [2] - the core set of managed objects for
  the Internet suite of protocols.

  the protocol, RFC 1157 [3] and/or RFC 1905 [4], - the protocol for
  accessing managed objects.

The Framework permits new objects to be defined for the purpose of
experimentation and evaluation.

2.1.  Object Definitions

Managed objects are accessed via a virtual information store, termed the
Management Information Base or MIB.  Objects in the MIB are defined
using the subset of Abstract Syntax Notation One (ASN.1) defined in the
SMI.  In particular, each object type is named by an OBJECT IDENTIFIER,
an administratively assigned name.  The object type together with an
object instance serves to uniquely identify a specific instantiation of
the object.  For human convenience, we often use a textual string,
termed the descriptor, to refer to the object type.

3.  Overview

This MIB is based heavily on the RMON and Manager-to-Manager MIBs. It
depends on the services of the Target, Notification, and Expression
MIBs.

All of this must suit either a relatively powerful manager or mid-level
manager, as well as a somewhat more limited self-managing system.

4.  Definitions

EVENT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    experimental, Integer32, Unsigned32
    NOTIFICATION-TYPE           FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus,
    TimeStamp, DisplayString,
    AutonomousType, DateAndTime FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP     FROM SNMPv2-CONF
    EntryIndex, EntryName,
    EntryIndexOrZero                    FROM MANAGEMENT-TARGET-MIB
    FailureReason                       FROM NOTIFICATION-MIB

eventMIB MODULE-IDENTITY
    LAST-UPDATED "9703241700Z"
    ORGANIZATION "IETF Distributed Management Working Group"
    CONTACT-INFO "Bob Stewart
                  Cisco Systems, Inc.
                  170 West Tasman Drive,
                  San Jose CA 95134-1706.
                  Phone: +1 408 526 4527
                  Email: bstewart@cisco.com"
    DESCRIPTION
        "The MIB module for defining event triggers and actions
        for network management purposes."
    ::= { experimental xx }

eventMIBObjects OBJECT IDENTIFIER ::= { eventMIB 1 }

mteTrigger              OBJECT IDENTIFIER ::= { eventMIBObjects 1 }
mteEvent                OBJECT IDENTIFIER ::= { eventMIBObjects 2 }

--
-- Trigger Section
--

mteTriggerLastChange OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime at the most recent addition or
        deletion of a trigger or a trigger name change.

        A management application can monitor this object to
        know that the trigger list has changed in a way
        requiring reloading of the trigger names."
    ::= { mteTrigger 1 }

mteTriggerFailures OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times an attempt to check for a trigger
        condition has failed.  This counts individually for each
        attempt in a group of targets or each attempt for a
        wildcarded object."
    ::= { mteTrigger 2 }

mteTriggerLastFailedTrigger OBJECT-TYPE
    SYNTAX      triggerIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The trigger that last failed an attempt to check for a
        trigger condition."
    ::= { mteTrigger 3 }

mteTriggerLastFailedReason OBJECT-TYPE
    SYNTAX      FailureReason
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The reason for the last failure of an attempt to check
        for a trigger condition."
    ::= { mteTrigger 4 }

mteTriggerLastFailedTargetGroup OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The target group of the last failed attempt to check a
        trigger condition.  The value 0 means this does not apply."
    ::= { mteTrigger 5 }

mteTriggerLastFailedTargetScope OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The target scope of the last failed attempt to check a
        trigger condition.  The value 0 means this does not apply"
    ::= { mteTrigger 6 }

mteTriggerLastValueID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object identifier from mteTriggerValueID from the last
        attempt to check a trigger condition.  This must
        be as full-qualified as possible, including filling in
        wild-card information determined in processing."
    ::= { mteTrigger 7 }

mteTriggerLastValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  notification-only
    STATUS      current
    DESCRIPTION
        "The value of the object at mteTriggerValueID when a
        trigger fires."
    ::= { mteTrigger 8 }

mteTriggerTargetScope OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  notification-only
    STATUS      current
    DESCRIPTION
        "The targetIndex of the scope for which the trigger fires
        or for which a check was attempted."
    ::= { mteTrigger 9 }

--
-- Trigger Creation Table
--

mteTriggerCreationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MteTriggerCreationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of triggers for network management events."
    ::= { mteTrigger 10 }

mteTriggerCreationEntry OBJECT-TYPE
    SYNTAX      MteTriggerCreationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single trigger.

        To create an entry create the named entry in this
        table and activate it with mteTriggerCreationStatus.  Then use
        mteTriggerIndex to populate mteTriggerTable.

        Deleting an entry deletes the related entry in
        mteTriggerTable."
    INDEX       { IMPLIED mteTriggerCreationName }
    ::= { mteTriggerCreationTable 1 }

MteTriggerCreationEntry ::= SEQUENCE {
    mteTriggerCreationName              EntryName,
    mteTriggerIndex                     EntryIndex,
    mteTriggerCreationStatus            RowStatus
}

mteTriggerCreationName OBJECT-TYPE
    SYNTAX      EntryName
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A locally-unique, administratively assigned name for the
trigger."
    ::= { mteTriggerCreationEntry 1 }

mteTriggerIndex OBJECT-TYPE
    SYNTAX      EntryIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The numeric identification of the trigger."
    ::= { mteTriggerCreationEntry 2 }

mteTriggerCreationStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The control that allows creation/deletion of entries.
        Once made active an entry may not be modified except to
        delete it or change its name via mteTriggerName."
    ::= { mteTriggerCreationEntry 3 }

--
-- Trigger Table
--

mteTriggerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MteTriggerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of management event trigger information."
    ::= { mteTrigger 11 }

mteTriggerEntry OBJECT-TYPE
    SYNTAX      MteTriggerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single management event trigger.

        An entry appears in this table when an mteTriggerCreationEntry
        is activated. Deleting the matching mteTriggerCreationEntry
        deletes this entry."
    INDEX       { mteTriggerIndex }
    ::= { mteTriggerteble 1 }

MteTriggerEntry ::= SEQUENCE {
    mteTriggerName              EntryName,
    mteTriggerComment   DisplayString,
    mteTriggerTest              INTEGER,
    mteTriggerValueID   Integer32,
    mteTriggerFrequency Integer32,
    mteTriggerTarget            EntryIndexOrZero,
    mteTriggerRisingThreshold   Integer32,
    mteTriggerFallingThreshold  Integer32,
    mteTriggerEvent             EntryIndexOrZero,
    mteTriggerRisingEvent       EntryIndexOrZero,
    mteTriggerFallingEvent      EntryIndexOrZero
}

mteTriggerName OBJECT-TYPE
    SYNTAX      EntryName
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The unique name of the target trigger, identical to
        mteTriggerCreationName.

        Use this object to change the trigger's mteTriggerCreationName
        without changing its mteTriggerIndex."
    ::= { mteTriggerEntry 1 }

mteTriggerComment OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A description of the trigger's function and use."
    DEFVAL { ''H }
    ::= { mteTriggerEntry 2 }

mteTriggerTest OBJECT-TYPE
    SYNTAX      INTEGER { boolean(1), threshold(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of trigger test to perform.  For all tests,
        mteTriggerValue must evaluate to an integer.

        For 'boolean', a value of 0 is false. A non-zero value
        is true and fires the trigger.

        For 'threshold' it works like RMON and the text needs to
        be copied into this MIB."
    DEFVAL { boolean }
    ::= { mteTriggerEntry 3 }

mteTriggerValueID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The object identifier of the MIB object to check to see
        if the trigger should fire.

        This may be wildcarded by truncating all or part of the
        instance portion, in which case the condition is obtained
        as if with a GetNext function, checking multiple values
        if they exist."
    DEFVAL { 0 0 }
    ::= { mteTriggerEntry 4 }

mteTriggerFrequency OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds to wait between trigger condition
        checks.  To encourage consistency in sampling, the
        interval is measured from the beginning of one check to
        the beginning of the next."
    DEFVAL { 600 }
    ::= { mteTriggerEntry 5 }

mteTriggerTarget OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The targetIndex of the scope or group of scopes from
        which to obtain the condition for a trigger check.

        A value of 0 indicates the local system."
    DEFVAL { 0 }
    ::= { mteTriggerEntry 6 }

mteTriggerRisingThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A threshold value to check against if mteTriggerType is
        'threshold'.  In this case if the value of the object at
        mteTriggerValueID is greater than or equal to this threshold
        and the value at the last sampling interval was less than
        this threshold, one mteTriggerRisingEvent is triggered.

        If mteTriggerType is not 'threshold', this object is not
        instantiated."
    DEFVAL { 0 }
    ::= { mteTriggerEntry 7 }

mteTriggerFallingThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A threshold value to check against if mteTriggerType is
        'threshold'.  In this case if the value of the object at
        mteTriggerValueID is less than or equal to this threshold
        and the value at the last sampling interval was greater than
        this threshold, one mteTriggerFallingEvent is triggered.

        If mteTriggerType is not 'threshold', this object is not
        instantiated."
    DEFVAL { 0 }
    ::= { mteTriggerEntry 8 }

mteTriggerEvent OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The event to invoke when mteTriggerType is 'boolean' and
        this trigger fires.  A value of 0 indicates no event.

        If mteTriggerType is not 'boolean', this object is not
        instantiated."
    DEFVAL { 0 }
    ::= { mteTriggerEntry 9 }

mteTriggerRisingEvent OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The event to invoke when mteTriggerType is 'threshold' and
        this trigger fires based on mteTriggerRisingThreshold.  A
        value of 0 indicates no event.

        If mteTriggerType is not 'threshold', this object is not
        instantiated."
    DEFVAL { 0 }
    ::= { mteTriggerEntry 10 }

mteTriggerFallingEvent OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The event to invoke when mteTriggerType is 'threshold' and
        this trigger fires based on mteTriggerFallingThreshold.  A
        value of 0 indicates no event.

        If mteTriggerType is not 'threshold', this object is not
        instantiated."
    DEFVAL { 0 }
    ::= { mteTriggerEntry 11 }

--
-- Event Section
--

mteEventLastChange OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime at the most recent addition or
        deletion of an event or an event name change.

        A management application can monitor this object to
        know that the event list has changed in a way
        requiring reloading of the event names."
    ::= { mteEvent 1 }

mteEventFailures OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times an attempt to invoke an event
        has failed.  This counts individually for each
        attempt in a group of targets or each attempt for a
        wildcarded trigger object."
    ::= { mteEvent 2 }

mteEventLastFailedEvent OBJECT-TYPE
    SYNTAX      eventIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The event that last failed an attempted invocation."
    ::= { mteEvent 3 }

mteEventLastFailedReason OBJECT-TYPE
    SYNTAX      FailureReason
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The reason for the last failure of an attempted event
        invocation."
    ::= { mteEvent 4 }

mteEventLastFailedTargetGroup OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The target group of the last failed attempt to invoke an
        event.  The value 0 means this does not apply."
    ::= { mteEvent 5 }

mteEventLastFailedTargetScope OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The target scope of the last failed attempt to invoke an
        event.  The value 0 means this does not apply"
    ::= { mteEvent 6 }

--
-- Event Creation Table
--

mteEventCreationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MteEventCreationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of events for network management action."
    ::= { mteEvent 7 }

mteEventCreationEntry OBJECT-TYPE
    SYNTAX      MteEventCreationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single event.

        To create an entry create the named entry in this
        table and activate it with mteEventCreto
        mteTriggerCreationName.

        Use this object mteEventCreationStatus.  Then use
        mteEventIndex to change populate mteEventTable.

        Deleting an entry deletes the trigger's mteTriggerCreationName
        without changing its mteTriggerIndex." related entry in
        mteEventTable."
    INDEX       { IMPLIED mteEventCreationName }
    ::= { mteTriggerEntry mteEventCreationTable 1 }

mteTriggerComment

MteEventCreationEntry ::= SEQUENCE {
    mteEventCreationName                EntryName,
    mteEventIndex                       EntryIndex,
    mteEventCreationStatus              RowStatus
}

mteEventCreationName OBJECT-TYPE
    SYNTAX      DisplayString      EntryName
    MAX-ACCESS  read-write  not-accessible
    STATUS      current
    DESCRIPTION
        "A description of locally-unique, administratively assigned name for the trigger's function and use."
    DEFVAL { ''H }       event."
    ::= { mteTriggerEntry 2 mteEventCreationEntry 1 }

mteTriggerTest

mteEventIndex OBJECT-TYPE
    SYNTAX      INTEGER { boolean(1), threshold(2) }      EntryIndex
    MAX-ACCESS  read-write  read-only
    STATUS      current
    DESCRIPTION
        "The type of trigger test to perform.  For all tests,
        mteTriggerValue must evaluate to an integer.

        For 'boolean', a value numeric identification of 0 is false. A non-zero value
        is true and fires the trigger.

        For 'threshold' it works like RMON and the text needs to
        be copied into this MIB."
    DEFVAL { boolean } event."
    ::= { mteTriggerEntry 3 mteEventCreationEntry 2 }

mteTriggerValueID

mteEventCreationStatus OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER      RowStatus
    MAX-ACCESS  read-write  read-create
    STATUS      current
    DESCRIPTION
        "The object identifier control that allows creation/deletion of the MIB object to check to see
        if the trigger should fire.

        This entries.
        Once made active an entry may not be wildcarded by truncating all modified except to
        delete it or part of the
        instance portion, in which case the condition is obtained
        as if with a GetNext function, checking multiple values
        if they exist."
    DEFVAL change its name via mteEventName."
    ::= { 0 0 mteEventCreationEntry 3 }

--
-- Event Table
--

mteEventTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MteEventEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of management event action information."
    ::= { mteTriggerEntry 4 mteEvent 3 }

mteTriggerFrequency

mteEventEntry OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    UNITS       "seconds"      MteEventEntry
    MAX-ACCESS  read-write  not-accessible
    STATUS      current
    DESCRIPTION
        "The number of seconds to wait between trigger condition
        checks.  To encourage consistency
        "Information about a single management event's actions.

        An entry appears in sampling, the
        interval is measured from the beginning of one check to
        the beginning of this table when an mteEventCreationEntry
        is activated. Deleting the next."
    DEFVAL matching mteEventCreationEntry
        deletes this entry."
    INDEX       { 600 mteEventIndex }
    ::= { mteTriggerEntry 5 mteEventTable 1 }

mteTriggerTarget

MteEventEntry ::= SEQUENCE {
    mteEventName                EntryName,
    mteEventComment             DisplayString,
    mteEventActions             BITS,
    mteEventNotification        OBJECT IDENTIFIER,
    mteEventSetObject   OBJECT IDENTIFIER,
    mteEventSetValue            Integer32,
    mteEventTarget              EntryIndexOrZero
    }

mteEventName OBJECT-TYPE
    SYNTAX      EntryIndexOrZero      EntryName
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The targetIndex unique name of the scope or group of scopes from
        which event, identical to obtain the condition for a trigger check.

        A value of 0 indicates
        mteEventCreationName.

        Use this object to change the local system."
    DEFVAL { 0 } event's mteEventCreationName
        without changing its mteEventIndex."
    ::= { mteTriggerEntry 6 mteEventEntry 1 }

mteTriggerRisingThreshold

mteEventComment OBJECT-TYPE
    SYNTAX      Integer32      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A threshold value to check against if mteTriggerType is
        'threshold'.  In this case if the value description of the object at
        mteTriggerValueID is greater than or equal to this threshold event's function and the value at the last sampling interval was less than
        this threshold, one mteTriggerRisingEvent is triggered.

        If mteTriggerType is not 'threshold', this object is not
        instantiated." use."
    DEFVAL { 0 ''H }
    ::= { mteTriggerEntry 7 mteEventEntry 2 }

mteTriggerFallingThreshold

mteEventActions OBJECT-TYPE
    SYNTAX      Integer32      BITS { notification, trap, inform, set }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A threshold value
        "The actions to check against if mteTriggerType is
        'threshold'.  In peform when this case if event occurs.

        For 'notification', Traps and/or Informs are sent according
        to the value of configuration in the object at
        mteTriggerValueID is less than Notification MIB..

        For 'trap', Traps are sent unless the Notification MIB
        has the Trap 'hardDisabled' or equal to this threshold
        and there are no targets for it.

        For 'inform', Informs are sent unless the value at Notification MIB
        has the last sampling interval was greater than
        this threshold, one mteTriggerFallingEvent is triggered.

        If mteTriggerType Inform 'hardDisabled' or there are no targets for it.

        For 'set', an SNMP Set operation is not 'threshold', performed according to
        control values in this object is not
        instantiated." entry."
    DEFVAL { 0 }
    ::= { mteTriggerEntry 8 mteEventEntry 3 }

mteTriggerEvent

mteEventNotification OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The event to invoke when mteTriggerType is 'boolean' and
        this trigger firesTIFIER      OBJECT IDENTIFIER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The object identifier from the NOTIFICATION-TYPE for the
        notification to use if metEventActions has 'notification',
        'trap', or 'inform' set.

        If none of the above bits are set, this object is not
        instantiated."
    DEFVAL { 0 0 }
    ::= { mteEventEntry 4 }

mteEventSetObject OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The object identifier from the MIB object to set if
        metEventActions has 'set' set.

        If 'set' is not set, this object is not instantiated."
    DEFVAL { 0 0 }
    ::= { mteEventEntry 5 }

mteEventSetValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value to which to set the object at mteEventSetObect."
    DEFVAL { 0 }
    ::= { mteEventEntry 6 }

mteEventSetTarget OBJECT-TYPE
    SYNTAX      EntryIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A scope or group of scopes in which to the object at
        mteEventSetObject to mteEventSetValue.  A value of 0
        indicates the local system."
    DEFVAL { 0 }
    ::= { mteEventEntry 7 }

--
-- Notifications
--

eventMIBNotificationPrefix OBJECT IDENTIFIER ::= { eventMIB 2 }
eventMIBNotifications OBJECT IDENTIFIER ::= { eventMIBNotificationPrefix 0 }

mteTriggerSenseAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerTargetScope,
              mteTriggerLastValueID,
              mteTriggerLastValue }
    STATUS  current
    DESCRIPTION
        "Notification that the trigger indicated by the object
        instances has fired, for triggers with mteTriggerType
        'boolean'."
    ::= { eventMIBNotifications 1 }

mteTriggerRisingAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerTargetScope,
              mteTriggerLastValueID,
              mteTriggerLastValue }
    STATUS  current
    DESCRIPTION
        "Notification that the rising threshold was met for triggers
        with mteTriggerType 'threshold'."
    ::= { eventMIBNotifications 2 }

mteTriggerFallingAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerTargetScope,
              mteTriggerLastValueID,
              mteTriggerLastValue }
    STATUS  current
    DESCRIPTION
        "Notification that the falling threshold was met for triggers
        with mteTriggerType 'threshold'."
    ::= { eventMIBNotifications 3 }

mteTriggerFailureAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerLastFailedReason,
              mteTriggerLastFailedTargetGroup,
              mteTriggerLastFailedTargetScope,
              mteTriggerLastFailedValueID }
    STATUS  current
    DESCRIPTION
        "Notification that an attempt to check a trigger has failed.

        The network manager must enable this notification only with
        a certain fear and trembling, as it can easily crowd out more
        important information.  It should be used only to help diagnose
        a problem that has appeared in the error counters and can not
        be found otherwise."
    ::= { eventMIBNotifications 4 }

mteEventFailureAlarm NOTIFICATION-TYPE
    OBJECTS { mteTriggerName,
              mteTriggerTargetScope,
              mteTriggerLastValueID,
              mteTriggerLastValue,
              mteEventLastFailedReason,
              mteEventLastFailedTargetGroup,
              mteEventLastFailedTargetScope }
    STATUS  current
    DESCRIPTION
        "Notification that an attempt to check a trigger has failed.

        The network manager must enable this notification only with
        a certain fear and trembling, as it can easily crowd out more
        important information.  It should be used only to help diagnose
        a problem that has appeared in the error counters and can not
        be found otherwise."
    ::= { eventMIBNotifications 5 }

-- The compliance statements have yet to be written.  The intent is
-- that all objects are required except where otherwise mentioned above
-- and that a self-managing system need not support groups, remote checking,
-- or wildcarding.

END

5.  Acknowledgements

This MIB contains considerable contributions from the RMON MIB, the
Distributed Management Design Team (Andy Bierman, Maria Greene, Bob
Stewart, and Steve Waldbusser), and colleagues at Cisco.

6.  References

[1]  SNMPv2 Working Group, 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.

[2]  McCloghrie, K., and M. Rose, Editors, "Management Information Base
     for Network Management of TCP/IP-based internets: MIB-II", STD 17,
     RFC 1213, March 1991.

[3]  Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network
     Management Protocol", RFC 1157, May 1990.

[4]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
     S. Waldbusser, "Protocol Operations for version 2 of the Simple
     Network Management Protocol (SNMPv2)", RFC 1905, January 1996.

7.  Security Considerations

Security issues are not discussed in this memo.

8.  Author's Address

     Bob Stewart
     Cisco Systems, Inc.
     170 West Tasman Drive
     San Jose, CA 95134-1706

     Phone: 408-526-4527
     Email: bstewart@cisco.com

Table of Contents

1 Abstract ........................................................    2
2 The SNMP Network Management Framework ...........................    3
2.1 Object Definitions ............................................    3
3 Overview ........................................................    4
4 Definitions .....................................................    5
5 Acknowledgements ................................................   21
6 References ......................................................   22
7 Security Considerations .........................................   23
8 Author's Address ................................................   23