From Shawn, 2 Years ago, written in Plain Text.
Embed
  1. --
  2. -- ALARM-MIB.my
  3. -- Extracted from RFC3877 by MG-SOFT MIB Explorer Version 2.0 Build 421
  4. -- Monday, March 21, 2005 at 16:15:32
  5. --
  6.  
  7. ALARM-MIB DEFINITIONS ::= BEGIN
  8.  
  9. IMPORTS
  10.    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
  11.    Integer32, Unsigned32, Gauge32,
  12.    TimeTicks, Counter32, Counter64,
  13.    IpAddress, Opaque, mib-2,
  14.    zeroDotZero
  15.        FROM SNMPv2-SMI                 -- [RFC2578]
  16.    DateAndTime,
  17.    RowStatus, RowPointer,
  18.    TEXTUAL-CONVENTION
  19.        FROM SNMPv2-TC                  -- [RFC2579]
  20.    SnmpAdminString
  21.        FROM SNMP-FRAMEWORK-MIB         -- [RFC3411]
  22.    InetAddressType, InetAddress
  23.        FROM INET-ADDRESS-MIB           -- [RFC3291]
  24.    MODULE-COMPLIANCE, OBJECT-GROUP,
  25.    NOTIFICATION-GROUP
  26.        FROM SNMPv2-CONF                -- [RFC2580]
  27.    ZeroBasedCounter32
  28.        FROM RMON2-MIB;                 -- [RFC2021]
  29.  
  30.   alarmMIB MODULE-IDENTITY
  31.       LAST-UPDATED "200409090000Z"  -- September 09, 2004
  32.       ORGANIZATION "IETF Distributed Management Working Group"
  33.       CONTACT-INFO
  34.            "WG EMail: disman@ietf.org
  35.            Subscribe: disman-request@ietf.org
  36.            http://www.ietf.org/html.charters/disman-charter.html
  37.            Chair:     Randy Presuhn
  38.                       randy_presuhn@mindspring.com
  39.  
  40.            Editors:   Sharon Chisholm
  41.                       Nortel Networks
  42.                       PO Box 3511 Station C
  43.                       Ottawa, Ont.  K1Y 4H7
  44.                       Canada
  45.                       schishol@nortelnetworks.com
  46.  
  47.                       Dan Romascanu
  48.                       Avaya
  49.                       Atidim Technology Park, Bldg. #3
  50.                       Tel Aviv, 61131
  51.                       Israel
  52.                       Tel: +972-3-645-8414
  53.                       Email: dromasca@avaya.com"
  54.       DESCRIPTION
  55.            "The MIB module describes a generic solution
  56.            to model alarms and to store the current list
  57.            of active alarms.
  58.  
  59.            Copyright (C) The Internet Society (2004).  The
  60.            initial version of this MIB module was published
  61.            in RFC 3877.  For full legal notices see the RFC
  62.            itself.  Supplementary information may be available on:
  63.            http://www.ietf.org/copyrights/ianamib.html"
  64.       REVISION    "200409090000Z"  -- September 09, 2004
  65.       DESCRIPTION
  66.           "Initial version, published as RFC 3877."
  67.       ::= { mib-2 118 }
  68.  
  69. alarmObjects OBJECT IDENTIFIER ::= { alarmMIB 1 }
  70.  
  71. alarmNotifications OBJECT IDENTIFIER ::= { alarmMIB 0 }
  72.  
  73. alarmModel OBJECT IDENTIFIER ::= { alarmObjects 1 }
  74.  
  75. alarmActive  OBJECT IDENTIFIER ::= { alarmObjects 2 }
  76.  
  77. alarmClear OBJECT IDENTIFIER ::= { alarmObjects 3 }
  78.  
  79. -- Textual Conventions
  80.  
  81.  -- ResourceId is intended to be a general textual convention
  82.  -- that can be used outside of the set of MIBs related to
  83.  -- Alarm Management.
  84.  
  85. ResourceId ::= TEXTUAL-CONVENTION
  86.     STATUS current
  87.     DESCRIPTION
  88.             "A unique identifier for this resource.
  89.  
  90.             The type of the resource can be determined by looking
  91.             at the OID that describes the resource.
  92.  
  93.             Resources must be identified in a consistent manner.
  94.             For example, if this resource is an interface, this
  95.             object MUST point to an ifIndex and if this resource
  96.             is a physical entity [RFC2737], then this MUST point
  97.             to an entPhysicalDescr, given that entPhysicalIndex
  98.             is not accessible.  In general, the value is the
  99.             name of the instance of the first accessible columnar
  100.             object in the conceptual row of a table that is
  101.             meaningful for this resource type, which SHOULD
  102.             be defined in an IETF standard MIB."
  103.     SYNTAX         OBJECT IDENTIFIER
  104.  
  105.  -- LocalSnmpEngineOrZeroLenStr is intended to be a general
  106.  -- textual convention that can be used outside of the set of
  107.  -- MIBs related to Alarm Management.
  108.  
  109.   LocalSnmpEngineOrZeroLenStr ::= TEXTUAL-CONVENTION
  110.       STATUS current
  111.       DESCRIPTION
  112.           "An SNMP Engine ID or a zero-length string.  The
  113.            instantiation of this textual convention will provide
  114.            guidance on when this will be an SNMP Engine ID and
  115.            when it will be a zero lengths string"
  116.       SYNTAX         OCTET STRING (SIZE(0 | 5..32))
  117.  
  118. -- Alarm Model
  119.  
  120. alarmModelLastChanged  OBJECT-TYPE
  121.       SYNTAX      TimeTicks
  122.       MAX-ACCESS  read-only
  123.       STATUS      current
  124.       DESCRIPTION
  125.          "The value of sysUpTime at the time of the last
  126.          creation, deletion or modification of an entry in
  127.          the alarmModelTable.
  128.  
  129.          If the number and content of entries has been unchanged
  130.          since the last re-initialization of the local network
  131.          management subsystem, then the value of this object
  132.          MUST be zero."
  133.       ::= { alarmModel 1 }
  134.  
  135. alarmModelTable OBJECT-TYPE
  136.    SYNTAX      SEQUENCE OF AlarmModelEntry
  137.    MAX-ACCESS  not-accessible
  138.    STATUS      current
  139.    DESCRIPTION
  140.        "A table of information about possible alarms on the system,
  141.         and how they have been modelled."
  142.    ::= { alarmModel 2 }
  143.  
  144. alarmModelEntry OBJECT-TYPE
  145.    SYNTAX      AlarmModelEntry
  146.    MAX-ACCESS  not-accessible
  147.    STATUS      current
  148.    DESCRIPTION
  149.        "Entries appear in this table for each possible alarm state.
  150.        This table MUST be persistent across system reboots."
  151.    INDEX       { alarmListName, alarmModelIndex, alarmModelState }
  152.    ::= { alarmModelTable 1 }
  153.  
  154. AlarmModelEntry ::= SEQUENCE {
  155.    alarmModelIndex                 Unsigned32,
  156.    alarmModelState                 Unsigned32,
  157.    alarmModelNotificationId        OBJECT IDENTIFIER,
  158.    alarmModelVarbindIndex          Unsigned32,
  159.    alarmModelVarbindValue          Integer32,
  160.    alarmModelDescription           SnmpAdminString,
  161.    alarmModelSpecificPointer       RowPointer,
  162.    alarmModelVarbindSubtree        OBJECT IDENTIFIER,
  163.    alarmModelResourcePrefix        OBJECT IDENTIFIER,
  164.    alarmModelRowStatus             RowStatus
  165.    }
  166.  
  167. alarmModelIndex OBJECT-TYPE
  168.    SYNTAX     Unsigned32 (1..4294967295)
  169.    MAX-ACCESS not-accessible
  170.    STATUS     current
  171.    DESCRIPTION
  172.        "An integer that acts as an alarm Id
  173.        to uniquely identify each alarm
  174.        within the named alarm list. "
  175.    ::= { alarmModelEntry 1 }
  176.  
  177. alarmModelState OBJECT-TYPE
  178.    SYNTAX  Unsigned32 (1..4294967295)
  179.    MAX-ACCESS not-accessible
  180.    STATUS       current
  181.    DESCRIPTION
  182.         "A value of 1 MUST indicate a clear alarm state.
  183.         The value of this object MUST be less than the
  184.         alarmModelState of more severe alarm states for
  185.         this alarm.  The value of this object MUST be more
  186.         than the alarmModelState of less severe alarm states
  187.         for this alarm."
  188.     ::= { alarmModelEntry 2 }
  189.  
  190. alarmModelNotificationId OBJECT-TYPE
  191.    SYNTAX      OBJECT IDENTIFIER
  192.    MAX-ACCESS  read-create
  193.    STATUS      current
  194.    DESCRIPTION
  195.        "The NOTIFICATION-TYPE object identifier of this alarm
  196.        state transition.  If there is no notification associated
  197.        with this alarm state, the value of this object MUST be
  198.        '0.0'"
  199.    DEFVAL { zeroDotZero }
  200.    ::= { alarmModelEntry 3 }
  201.  
  202. alarmModelVarbindIndex  OBJECT-TYPE
  203.    SYNTAX  Unsigned32
  204.    MAX-ACCESS   read-create
  205.    STATUS       current
  206.    DESCRIPTION
  207.      "The index into the varbind listing of the notification
  208.      indicated by alarmModelNotificationId which helps
  209.      signal that the given alarm has changed state.
  210.      If there is no applicable varbind, the value of this
  211.      object MUST be zero.
  212.  
  213.      Note that the value of alarmModelVarbindIndex acknowledges
  214.      the existence of the first two obligatory varbinds in
  215.      the InformRequest-PDU and SNMPv2-Trap-PDU (sysUpTime.0
  216.      and snmpTrapOID.0).  That is, a value of 2 refers to
  217.      the snmpTrapOID.0.
  218.  
  219.      If the incoming notification is instead an SNMPv1 Trap-PDU,
  220.      then an appropriate value for sysUpTime.0 or snmpTrapOID.0
  221.      shall be determined by using the rules in section 3.1 of
  222.      [RFC3584]"
  223.      DEFVAL { 0 }
  224.     ::= { alarmModelEntry 4 }
  225.  
  226. alarmModelVarbindValue OBJECT-TYPE
  227.    SYNTAX  Integer32
  228.    MAX-ACCESS   read-create
  229.    STATUS       current
  230.    DESCRIPTION
  231.      "The value that the varbind indicated by
  232.      alarmModelVarbindIndex takes to indicate
  233.      that the alarm has entered this state.
  234.  
  235.      If alarmModelVarbindIndex has a value of 0, so
  236.      MUST alarmModelVarbindValue.
  237.      "
  238.      DEFVAL { 0 }
  239.     ::= { alarmModelEntry 5 }
  240.  
  241. alarmModelDescription OBJECT-TYPE
  242.     SYNTAX SnmpAdminString
  243.     MAX-ACCESS read-create
  244.     STATUS current
  245.     DESCRIPTION
  246.       "A brief description of this alarm and state suitable
  247.       to display to operators."
  248.    DEFVAL { "" }
  249.    ::= { alarmModelEntry 6 }
  250.  
  251. alarmModelSpecificPointer OBJECT-TYPE
  252.    SYNTAX     RowPointer
  253.    MAX-ACCESS read-create
  254.    STATUS     current
  255.    DESCRIPTION
  256.      "If no additional, model-specific Alarm MIB is supported by
  257.       the system the value of this object is `0.0'and attempts
  258.       to set it to any other value MUST be rejected appropriately.
  259.  
  260.       When a model-specific Alarm MIB is supported, this object
  261.       MUST refer to the first accessible object in a corresponding
  262.       row of the model definition in one of these model-specific
  263.       MIB and attempts to set this object to { 0 0 } or any other
  264.       value MUST be rejected appropriately."
  265.    DEFVAL { zeroDotZero }
  266.    ::= { alarmModelEntry 7 }
  267.  
  268.   alarmModelVarbindSubtree  OBJECT-TYPE
  269.      SYNTAX  OBJECT IDENTIFIER
  270.      MAX-ACCESS   read-create
  271.      STATUS       current
  272.      DESCRIPTION
  273.        "The name portion of each VarBind in the notification,
  274.         in order, is compared to the value of this object.
  275.         If the name is equal to or a subtree of the value
  276.         of this object, for purposes of computing the value
  277.         of AlarmActiveResourceID the 'prefix' will be the
  278.         matching portion, and the 'indexes' will be any
  279.         remainder.  The examination of varbinds ends with
  280.         the first match.  If the value of this object is 0.0,
  281.         then the first varbind, or in the case of v2, the
  282.         first varbind after the timestamp and the trap
  283.         OID, will always be matched.
  284.        "
  285.       DEFVAL { zeroDotZero }
  286.      ::= { alarmModelEntry 8 }
  287.  
  288.   alarmModelResourcePrefix  OBJECT-TYPE
  289.      SYNTAX  OBJECT IDENTIFIER
  290.      MAX-ACCESS   read-create
  291.      STATUS       current
  292.      DESCRIPTION
  293.        "The value of AlarmActiveResourceId is computed
  294.         by appending any indexes extracted in accordance
  295.         with the description of alarmModelVarbindSubtree
  296.         onto the value of this object.  If this object's
  297.         value is 0.0, then the 'prefix' extracted is used
  298.         instead.
  299.        "
  300.      DEFVAL { zeroDotZero }
  301.      ::= { alarmModelEntry 9 }
  302.  
  303. alarmModelRowStatus OBJECT-TYPE
  304.    SYNTAX     RowStatus
  305.    MAX-ACCESS read-create
  306.    STATUS     current
  307.    DESCRIPTION
  308.     "Control for creating and deleting entries.  Entries may be
  309.     modified while active.  Alarms whose alarmModelRowStatus is
  310.     not active will not appear in either the alarmActiveTable
  311.     or the alarmClearTable.  Setting this object to notInService
  312.     cannot be used as an alarm suppression mechanism.  Entries
  313.     that are notInService will disappear as described in RFC2579.
  314.  
  315.     This row can not be modified while it is being
  316.     referenced by a value of alarmActiveModelPointer.  In these
  317.     cases, an error of `inconsistentValue' will be returned to
  318.     the manager.
  319.  
  320.     This entry may be deleted while it is being
  321.     referenced by a value of alarmActiveModelPointer.  This results
  322.     in the deletion of this entry and entries in the active alarms
  323.     referencing this entry via an alarmActiveModelPointer.
  324.  
  325.     As all read-create objects in this table have a DEFVAL clause,
  326.     there is no requirement that any object be explicitly set
  327.     before this row can become active.  Note that a row consisting
  328.     only of default values is not very meaningful."
  329.    ::= { alarmModelEntry 10 }
  330.  
  331. -- Active Alarm Table --
  332.  
  333. alarmActiveLastChanged  OBJECT-TYPE
  334.    SYNTAX      TimeTicks
  335.    MAX-ACCESS  read-only
  336.    STATUS      current
  337.    DESCRIPTION
  338.       "The value of sysUpTime at the time of the last
  339.        creation or deletion of an entry in the alarmActiveTable.
  340.        If the number of entries has been unchanged since the
  341.        last re-initialization of the local network management
  342.        subsystem, then this object contains a zero value."
  343.    ::= { alarmActive 1 }
  344.  
  345.  alarmActiveOverflow  OBJECT-TYPE
  346.      SYNTAX      Counter32
  347.      UNITS       "active alarms"
  348.      MAX-ACCESS  read-only
  349.      STATUS      current
  350.      DESCRIPTION
  351.         "The number of active alarms that have not been put into
  352.          the alarmActiveTable since system restart as a result
  353.          of extreme resource constraints."
  354.      ::= { alarmActive 5 }
  355.  
  356. alarmActiveTable OBJECT-TYPE
  357.    SYNTAX      SEQUENCE OF AlarmActiveEntry
  358.    MAX-ACCESS  not-accessible
  359.    STATUS      current
  360.    DESCRIPTION
  361.        "A table of Active Alarms entries."
  362.    ::= { alarmActive 2 }
  363.  
  364. alarmActiveEntry OBJECT-TYPE
  365.    SYNTAX      AlarmActiveEntry
  366.    MAX-ACCESS  not-accessible
  367.    STATUS      current
  368.    DESCRIPTION
  369.        "Entries appear in this table when alarms are raised.  They
  370.         are removed when the alarm is cleared.
  371.  
  372.         If under extreme resource constraint the system is unable to
  373.         add any more entries into this table, then the
  374.         alarmActiveOverflow statistic will be increased by one."
  375.    INDEX       { alarmListName, alarmActiveDateAndTime,
  376.                  alarmActiveIndex }
  377.    ::= { alarmActiveTable 1 }
  378.  
  379. AlarmActiveEntry ::= SEQUENCE {
  380.    alarmListName                    SnmpAdminString,
  381.    alarmActiveDateAndTime           DateAndTime,
  382.    alarmActiveIndex                 Unsigned32,
  383.    alarmActiveEngineID              LocalSnmpEngineOrZeroLenStr,
  384.    alarmActiveEngineAddressType     InetAddressType,
  385.    alarmActiveEngineAddress         InetAddress,
  386.    alarmActiveContextName           SnmpAdminString,
  387.    alarmActiveVariables             Unsigned32,
  388.    alarmActiveNotificationID        OBJECT IDENTIFIER,
  389.    alarmActiveResourceId            ResourceId,
  390.    alarmActiveDescription           SnmpAdminString,
  391.    alarmActiveLogPointer            RowPointer,
  392.    alarmActiveModelPointer          RowPointer,
  393.    alarmActiveSpecificPointer       RowPointer }
  394.  
  395. alarmListName OBJECT-TYPE
  396.    SYNTAX     SnmpAdminString (SIZE(0..32))
  397.    MAX-ACCESS not-accessible
  398.    STATUS     current
  399.    DESCRIPTION
  400.     "The name of the list of alarms.  This SHOULD be the same as
  401.     nlmLogName if the Notification Log MIB [RFC3014] is supported.
  402.     This SHOULD be the same as, or contain as a prefix, the
  403.     applicable snmpNotifyFilterProfileName if the
  404.     SNMP-NOTIFICATION-MIB DEFINITIONS [RFC3413] is supported.
  405.  
  406.     An implementation may allow multiple named alarm lists, up to
  407.     some implementation-specific limit (which may be none).  A
  408.     zero-length list name is reserved for creation and deletion
  409.     by the managed system, and MUST be used as the default log
  410.     name by systems that do not support named alarm lists."
  411.    ::= { alarmActiveEntry 1 }
  412.  
  413. alarmActiveDateAndTime OBJECT-TYPE
  414.    SYNTAX      DateAndTime
  415.    MAX-ACCESS  not-accessible
  416.    STATUS      current
  417.    DESCRIPTION
  418.        "The local date and time when the error occurred.
  419.  
  420.        This object facilitates retrieving all instances of
  421.        alarms that have been raised or have changed state
  422.        since a given point in time.
  423.  
  424.        Implementations MUST include the offset from UTC,
  425.        if available.  Implementation in environments in which
  426.        the UTC offset is not available is NOT RECOMMENDED."
  427.    ::= { alarmActiveEntry 2 }
  428.  
  429. alarmActiveIndex OBJECT-TYPE
  430.    SYNTAX     Unsigned32 (1..4294967295)
  431.    MAX-ACCESS not-accessible
  432.    STATUS     current
  433.    DESCRIPTION
  434.        "A strictly monotonically increasing integer which
  435.        acts as the index of entries within the named alarm
  436.        list.  It wraps back to 1 after it reaches its
  437.        maximum value."
  438.    ::= { alarmActiveEntry 3 }
  439.  
  440. alarmActiveEngineID OBJECT-TYPE
  441.    SYNTAX      LocalSnmpEngineOrZeroLenStr
  442.    MAX-ACCESS  read-only
  443.    STATUS      current
  444.    DESCRIPTION
  445.        "The identification of the SNMP engine at which the alarm
  446.         originated.  If the alarm is from an SNMPv1 system this
  447.         object is a zero length string."
  448.    ::= { alarmActiveEntry 4 }
  449.  
  450. alarmActiveEngineAddressType OBJECT-TYPE
  451.    SYNTAX      InetAddressType
  452.    MAX-ACCESS  read-only
  453.    STATUS      current
  454.    DESCRIPTION
  455.     "This object indicates what type of address is stored in
  456.     the alarmActiveEngineAddress object - IPv4, IPv6, DNS, etc."
  457.    ::= { alarmActiveEntry 5 }
  458.  
  459. alarmActiveEngineAddress OBJECT-TYPE
  460.    SYNTAX      InetAddress
  461.    MAX-ACCESS  read-only
  462.    STATUS      current
  463.    DESCRIPTION
  464.     "The address of the SNMP engine on which the alarm is
  465.     occurring.
  466.  
  467.     This object MUST always be instantiated, even if the list
  468.     can contain alarms from only one engine."
  469.    ::= { alarmActiveEntry 6 }
  470.  
  471. alarmActiveContextName OBJECT-TYPE
  472.    SYNTAX      SnmpAdminString (SIZE(0..32))
  473.    MAX-ACCESS  read-only
  474.    STATUS      current
  475.    DESCRIPTION
  476.        "The name of the SNMP MIB context from which the alarm came.
  477.         For SNMPv1 alarms this is the community string from the Trap.
  478.         Note that care MUST be taken when selecting community
  479.         strings to ensure that these can be represented as a
  480.         well-formed SnmpAdminString.  Community or Context names
  481.         that are not well-formed SnmpAdminStrings will be mapped
  482.         to zero length strings.
  483.  
  484.         If the alarm's source SNMP engine is known not to support
  485.         multiple contexts, this object is a zero length string."
  486.    ::= { alarmActiveEntry 7 }
  487.  
  488. alarmActiveVariables OBJECT-TYPE
  489.    SYNTAX      Unsigned32
  490.    MAX-ACCESS  read-only
  491.    STATUS      current
  492.    DESCRIPTION
  493.        "The number of variables in alarmActiveVariableTable for this
  494.        alarm."
  495.    ::= { alarmActiveEntry 8 }
  496.  
  497. alarmActiveNotificationID OBJECT-TYPE
  498.    SYNTAX      OBJECT IDENTIFIER
  499.    MAX-ACCESS  read-only
  500.    STATUS      current
  501.    DESCRIPTION
  502.        "The NOTIFICATION-TYPE object identifier of the alarm
  503.        state transition that is occurring."
  504.    ::= { alarmActiveEntry 9 }
  505.  
  506. alarmActiveResourceId    OBJECT-TYPE
  507.    SYNTAX      ResourceId
  508.    MAX-ACCESS  read-only
  509.    STATUS      current
  510.    DESCRIPTION
  511.       "This object identifies the resource under alarm.
  512.  
  513.       If there is no corresponding resource, then
  514.       the value of this object MUST be 0.0."
  515.    ::= { alarmActiveEntry 10 }
  516.  
  517. alarmActiveDescription    OBJECT-TYPE
  518.    SYNTAX      SnmpAdminString
  519.    MAX-ACCESS  read-only
  520.    STATUS      current
  521.    DESCRIPTION
  522.       "This object provides a textual description of the
  523.       active alarm.  This text is generated dynamically by the
  524.       notification generator to provide useful information
  525.       to the human operator.  This information SHOULD
  526.       provide information allowing the operator to locate
  527.       the resource for which this alarm is being generated.
  528.       This information is not intended for consumption by
  529.       automated tools."
  530.    ::= { alarmActiveEntry 11 }
  531.  
  532. alarmActiveLogPointer OBJECT-TYPE
  533.    SYNTAX     RowPointer
  534.    MAX-ACCESS read-only
  535.    STATUS     current
  536.    DESCRIPTION
  537.        "A pointer to the corresponding row in a
  538.        notification logging MIB where the state change
  539.        notification for this active alarm is logged.
  540.        If no log entry applies to this active alarm,
  541.        then this object MUST have the value of 0.0"
  542.    ::= { alarmActiveEntry 12 }
  543.  
  544. alarmActiveModelPointer OBJECT-TYPE
  545.    SYNTAX     RowPointer
  546.    MAX-ACCESS read-only
  547.    STATUS     current
  548.    DESCRIPTION
  549.        "A pointer to the corresponding row in the
  550.        alarmModelTable for this active alarm.  This
  551.        points not only to the alarm model being
  552.        instantiated, but also to the specific alarm
  553.        state that is active."
  554.    ::= { alarmActiveEntry 13 }
  555.  
  556. alarmActiveSpecificPointer OBJECT-TYPE
  557.    SYNTAX     RowPointer
  558.    MAX-ACCESS read-only
  559.    STATUS     current
  560.    DESCRIPTION
  561.      "If no additional, model-specific, Alarm MIB is supported by
  562.      the system this object is `0.0'.  When a model-specific Alarm
  563.      MIB is supported, this object is the instance pointer to the
  564.      specific model-specific active alarm list."
  565.    ::= { alarmActiveEntry 14 }
  566.  
  567. -- Active Alarm Variable Table --
  568.  
  569. alarmActiveVariableTable OBJECT-TYPE
  570.    SYNTAX      SEQUENCE OF AlarmActiveVariableEntry
  571.    MAX-ACCESS  not-accessible
  572.    STATUS      current
  573.    DESCRIPTION
  574.        "A table of variables to go with active alarm entries."
  575.    ::= { alarmActive 3 }
  576.  
  577. alarmActiveVariableEntry OBJECT-TYPE
  578.    SYNTAX      AlarmActiveVariableEntry
  579.    MAX-ACCESS  not-accessible
  580.    STATUS      current
  581.    DESCRIPTION
  582.        "Entries appear in this table when there are variables in
  583.        the varbind list of a corresponding alarm in
  584.        alarmActiveTable.
  585.  
  586.        Entries appear in this table as though
  587.        the trap/notification had been transported using a
  588.        SNMPv2-Trap-PDU, as defined in [RFC3416] - i.e., the
  589.        alarmActiveVariableIndex 1 will always be sysUpTime
  590.        and alarmActiveVariableIndex 2 will always be
  591.        snmpTrapOID.
  592.  
  593.        If the incoming notification is instead an SNMPv1 Trap-PDU and
  594.        the value of alarmModelVarbindIndex is 1 or 2, an appropriate
  595.        value for sysUpTime.0 or snmpTrapOID.0 shall be determined
  596.        by using the rules in section 3.1 of [RFC3584]."
  597.    INDEX   {  alarmListName, alarmActiveIndex,
  598.               alarmActiveVariableIndex }
  599.    ::= { alarmActiveVariableTable 1 }
  600.  
  601. AlarmActiveVariableEntry ::= SEQUENCE {
  602.    alarmActiveVariableIndex                 Unsigned32,
  603.    alarmActiveVariableID                    OBJECT IDENTIFIER,
  604.    alarmActiveVariableValueType             INTEGER,
  605.    alarmActiveVariableCounter32Val          Counter32,
  606.    alarmActiveVariableUnsigned32Val         Unsigned32,
  607.    alarmActiveVariableTimeTicksVal          TimeTicks,
  608.    alarmActiveVariableInteger32Val          Integer32,
  609.    alarmActiveVariableOctetStringVal        OCTET STRING,
  610.    alarmActiveVariableIpAddressVal          IpAddress,
  611.    alarmActiveVariableOidVal                OBJECT IDENTIFIER,
  612.    alarmActiveVariableCounter64Val          Counter64,
  613.    alarmActiveVariableOpaqueVal             Opaque }
  614.  
  615. alarmActiveVariableIndex OBJECT-TYPE
  616.    SYNTAX     Unsigned32 (1..4294967295)
  617.    MAX-ACCESS not-accessible
  618.    STATUS     current
  619.    DESCRIPTION
  620.        "A strictly monotonically increasing integer, starting at
  621.        1 for a given alarmActiveIndex, for indexing variables
  622.        within the active alarm variable list. "
  623.    ::= { alarmActiveVariableEntry 1 }
  624.  
  625. alarmActiveVariableID OBJECT-TYPE
  626.    SYNTAX     OBJECT IDENTIFIER
  627.    MAX-ACCESS read-only
  628.    STATUS     current
  629.    DESCRIPTION
  630.        "The alarm variable's object identifier."
  631.    ::= { alarmActiveVariableEntry 2 }
  632.  
  633. alarmActiveVariableValueType OBJECT-TYPE
  634.    SYNTAX      INTEGER {
  635.          counter32(1),
  636.          unsigned32(2),
  637.          timeTicks(3),
  638.          integer32(4),
  639.          ipAddress(5),
  640.          octetString(6),
  641.          objectId(7),
  642.          counter64(8),
  643.          opaque(9)
  644.          }
  645.    MAX-ACCESS  read-only
  646.    STATUS      current
  647.    DESCRIPTION
  648.        "The type of the value.  One and only one of the value
  649.        objects that follow is used for a given row in this table,
  650.        based on this type."
  651.    ::= { alarmActiveVariableEntry 3 }
  652.  
  653. alarmActiveVariableCounter32Val OBJECT-TYPE
  654.    SYNTAX      Counter32
  655.    MAX-ACCESS  read-only
  656.    STATUS      current
  657.    DESCRIPTION
  658.        "The value when alarmActiveVariableType is 'counter32'."
  659.    ::= { alarmActiveVariableEntry 4 }
  660.  
  661. alarmActiveVariableUnsigned32Val OBJECT-TYPE
  662.    SYNTAX      Unsigned32
  663.    MAX-ACCESS  read-only
  664.    STATUS      current
  665.    DESCRIPTION
  666.        "The value when alarmActiveVariableType is 'unsigned32'."
  667.    ::= { alarmActiveVariableEntry 5 }
  668.  
  669. alarmActiveVariableTimeTicksVal OBJECT-TYPE
  670.    SYNTAX      TimeTicks
  671.    MAX-ACCESS  read-only
  672.    STATUS      current
  673.    DESCRIPTION
  674.        "The value when alarmActiveVariableType is 'timeTicks'."
  675.    ::= { alarmActiveVariableEntry 6 }
  676.  
  677. alarmActiveVariableInteger32Val OBJECT-TYPE
  678.    SYNTAX      Integer32
  679.    MAX-ACCESS  read-only
  680.    STATUS      current
  681.    DESCRIPTION
  682.        "The value when alarmActiveVariableType is 'integer32'."
  683.    ::= { alarmActiveVariableEntry 7 }
  684.  
  685. alarmActiveVariableOctetStringVal OBJECT-TYPE
  686.    SYNTAX      OCTET STRING (SIZE(0..65535))
  687.    MAX-ACCESS  read-only
  688.    STATUS      current
  689.    DESCRIPTION
  690.        "The value when alarmActiveVariableType is 'octetString'."
  691.    ::= { alarmActiveVariableEntry 8 }
  692.  
  693. alarmActiveVariableIpAddressVal OBJECT-TYPE
  694.    SYNTAX      IpAddress
  695.    MAX-ACCESS  read-only
  696.    STATUS      current
  697.    DESCRIPTION
  698.        "The value when alarmActiveVariableType is 'ipAddress'."
  699.    ::= { alarmActiveVariableEntry 9 }
  700.  
  701. alarmActiveVariableOidVal OBJECT-TYPE
  702.    SYNTAX      OBJECT IDENTIFIER
  703.    MAX-ACCESS  read-only
  704.    STATUS      current
  705.    DESCRIPTION
  706.        "The value when alarmActiveVariableType is 'objectId'."
  707.    ::= { alarmActiveVariableEntry 10 }
  708.  
  709. alarmActiveVariableCounter64Val OBJECT-TYPE
  710.    SYNTAX      Counter64
  711.    MAX-ACCESS  read-only
  712.    STATUS      current
  713.    DESCRIPTION
  714.        "The value when alarmActiveVariableType is 'counter64'."
  715.    ::= { alarmActiveVariableEntry 11 }
  716.  
  717. alarmActiveVariableOpaqueVal OBJECT-TYPE
  718.    SYNTAX      Opaque (SIZE(0..65535))
  719.    MAX-ACCESS  read-only
  720.    STATUS      current
  721.    DESCRIPTION
  722.        "The value when alarmActiveVariableType is 'opaque'.
  723.  
  724.        Note that although RFC2578 [RFC2578] forbids the use
  725.        of Opaque in 'standard' MIB modules, this particular
  726.        usage is driven by the need to be able to accurately
  727.        represent any well-formed notification, and justified
  728.        by the need for backward compatibility."
  729.    ::= { alarmActiveVariableEntry 12 }
  730.  
  731. -- Statistics --
  732.  
  733. alarmActiveStatsTable  OBJECT-TYPE
  734.       SYNTAX  SEQUENCE OF AlarmActiveStatsEntry
  735.       MAX-ACCESS  not-accessible
  736.       STATUS  current
  737.       DESCRIPTION
  738.          "This table represents the alarm statistics
  739.          information."
  740.   ::= { alarmActive 4 }
  741.  
  742. alarmActiveStatsEntry OBJECT-TYPE
  743.       SYNTAX  AlarmActiveStatsEntry
  744.       MAX-ACCESS  not-accessible
  745.       STATUS  current
  746.       DESCRIPTION
  747.          "Statistics on the current active alarms."
  748.       INDEX   { alarmListName }
  749.  
  750.   ::= {  alarmActiveStatsTable 1 }
  751.  
  752. AlarmActiveStatsEntry ::=
  753.       SEQUENCE {
  754.            alarmActiveStatsActiveCurrent  Gauge32,
  755.            alarmActiveStatsActives        ZeroBasedCounter32,
  756.            alarmActiveStatsLastRaise      TimeTicks,
  757.            alarmActiveStatsLastClear      TimeTicks
  758.                 }
  759.  
  760. alarmActiveStatsActiveCurrent OBJECT-TYPE
  761.       SYNTAX Gauge32
  762.       MAX-ACCESS read-only
  763.       STATUS  current
  764.       DESCRIPTION
  765.          "The total number of currently active alarms on the system."
  766.        ::= { alarmActiveStatsEntry 1 }
  767.  
  768. alarmActiveStatsActives OBJECT-TYPE
  769.       SYNTAX ZeroBasedCounter32
  770.       MAX-ACCESS read-only
  771.       STATUS  current
  772.       DESCRIPTION
  773.          "The total number of active alarms since system restarted."
  774.        ::= { alarmActiveStatsEntry 2 }
  775.  
  776. alarmActiveStatsLastRaise  OBJECT-TYPE
  777.    SYNTAX      TimeTicks
  778.    MAX-ACCESS  read-only
  779.    STATUS      current
  780.    DESCRIPTION
  781.       "The value of sysUpTime at the time of the last
  782.        alarm raise for this alarm list.
  783.        If no alarm raises have occurred since the
  784.        last re-initialization of the local network management
  785.        subsystem, then this object contains a zero value."
  786.  ::= { alarmActiveStatsEntry 3 }
  787.  
  788. alarmActiveStatsLastClear  OBJECT-TYPE
  789.    SYNTAX      TimeTicks
  790.    MAX-ACCESS  read-only
  791.    STATUS      current
  792.    DESCRIPTION
  793.       "The value of sysUpTime at the time of the last
  794.        alarm clear for this alarm list.
  795.        If no alarm clears have occurred since the
  796.        last re-initialization of the local network management
  797.        subsystem, then this object contains a zero value."
  798.  ::= { alarmActiveStatsEntry 4 }
  799.  
  800. -- Alarm Clear
  801.  
  802. alarmClearMaximum OBJECT-TYPE
  803.  SYNTAX Unsigned32
  804.  MAX-ACCESS read-write
  805.  STATUS current
  806.  DESCRIPTION
  807.    "This object specifies the maximum number of cleared
  808.    alarms to store in the alarmClearTable.  When this
  809.    number is reached, the cleared alarms with the
  810.    earliest clear time will be removed from the table."
  811.  ::= { alarmClear 1 }
  812.  
  813. alarmClearTable  OBJECT-TYPE
  814.       SYNTAX  SEQUENCE OF AlarmClearEntry
  815.       MAX-ACCESS  not-accessible
  816.       STATUS  current
  817.       DESCRIPTION
  818.          "This table contains information on
  819.          cleared alarms."
  820.   ::= { alarmClear 2 }
  821.  
  822. alarmClearEntry OBJECT-TYPE
  823.       SYNTAX  AlarmClearEntry
  824.       MAX-ACCESS  not-accessible
  825.       STATUS  current
  826.       DESCRIPTION
  827.          "Information on a cleared alarm."
  828.       INDEX   { alarmListName, alarmClearDateAndTime,
  829. alarmClearIndex }
  830.  
  831.   ::= {  alarmClearTable 1 }
  832.  
  833. AlarmClearEntry ::=
  834.       SEQUENCE {
  835.    alarmClearIndex                 Unsigned32,
  836.    alarmClearDateAndTime           DateAndTime,
  837.    alarmClearEngineID              LocalSnmpEngineOrZeroLenStr,
  838.    alarmClearEngineAddressType     InetAddressType,
  839.    alarmClearEngineAddress         InetAddress,
  840.    alarmClearContextName           SnmpAdminString,
  841.    alarmClearNotificationID        OBJECT IDENTIFIER,
  842.    alarmClearResourceId            ResourceId,
  843.    alarmClearLogIndex              Unsigned32,
  844.    alarmClearModelPointer          RowPointer
  845.    }
  846.  
  847. alarmClearIndex OBJECT-TYPE
  848.    SYNTAX     Unsigned32 (1..4294967295)
  849.    MAX-ACCESS not-accessible
  850.    STATUS     current
  851.    DESCRIPTION
  852.        "An integer which acts as the index of entries within
  853.        the named alarm list.  It wraps back to 1 after it
  854.        reaches its maximum value.
  855.  
  856.        This object has the same value as the alarmActiveIndex that
  857.        this alarm instance had when it was active."
  858.    ::= { alarmClearEntry 1 }
  859.  
  860. alarmClearDateAndTime OBJECT-TYPE
  861.    SYNTAX      DateAndTime
  862.    MAX-ACCESS  not-accessible
  863.    STATUS      current
  864.    DESCRIPTION
  865.        "The local date and time when the alarm cleared.
  866.  
  867.        This object facilitates retrieving all instances of
  868.        alarms that have been cleared since a given point in time.
  869.  
  870.        Implementations MUST include the offset from UTC,
  871.        if available.  Implementation in environments in which
  872.        the UTC offset is not available is NOT RECOMMENDED."
  873.    ::= { alarmClearEntry 2 }
  874.  
  875. alarmClearEngineID OBJECT-TYPE
  876.    SYNTAX      LocalSnmpEngineOrZeroLenStr
  877.    MAX-ACCESS  read-only
  878.    STATUS      current
  879.    DESCRIPTION
  880.        "The identification of the SNMP engine at which the alarm
  881.         originated.  If the alarm is from an SNMPv1 system this
  882.         object is a zero length string."
  883.    ::= { alarmClearEntry 3 }
  884.  
  885. alarmClearEngineAddressType OBJECT-TYPE
  886.    SYNTAX      InetAddressType
  887.    MAX-ACCESS  read-only
  888.    STATUS      current
  889.    DESCRIPTION
  890.     "This object indicates what type of address is stored in
  891.     the alarmActiveEngineAddress object - IPv4, IPv6, DNS, etc."
  892.    ::= { alarmClearEntry 4 }
  893.  
  894. alarmClearEngineAddress OBJECT-TYPE
  895.    SYNTAX      InetAddress
  896.    MAX-ACCESS  read-only
  897.    STATUS      current
  898.    DESCRIPTION
  899.     "The Address of the SNMP engine on which the alarm was
  900.     occurring.  This is used to identify the source of an SNMPv1
  901.     trap, since an alarmActiveEngineId cannot be extracted from the
  902.     SNMPv1 trap PDU.
  903.  
  904.     This object MUST always be instantiated, even if the list
  905.     can contain alarms from only one engine."
  906.    ::= { alarmClearEntry 5 }
  907.  
  908. alarmClearContextName OBJECT-TYPE
  909.    SYNTAX      SnmpAdminString (SIZE(0..32))
  910.    MAX-ACCESS  read-only
  911.    STATUS      current
  912.    DESCRIPTION
  913.        "The name of the SNMP MIB context from which the alarm came.
  914.        For SNMPv1 traps this is the community string from the Trap.
  915.        Note that care needs to be taken when selecting community
  916.        strings to ensure that these can be represented as a
  917.        well-formed SnmpAdminString.  Community or Context names
  918.        that are not well-formed SnmpAdminStrings will be mapped
  919.        to zero length strings.
  920.  
  921.        If the alarm's source SNMP engine is known not to support
  922.        multiple contexts, this object is a zero length string."
  923.    ::= { alarmClearEntry 6 }
  924.  
  925. alarmClearNotificationID OBJECT-TYPE
  926.    SYNTAX      OBJECT IDENTIFIER
  927.    MAX-ACCESS  read-only
  928.    STATUS      current
  929.    DESCRIPTION
  930.        "The NOTIFICATION-TYPE object identifier of the alarm
  931.        clear."
  932.    ::= { alarmClearEntry 7 }
  933.  
  934. alarmClearResourceId    OBJECT-TYPE
  935.    SYNTAX      ResourceId
  936.    MAX-ACCESS  read-only
  937.    STATUS      current
  938.    DESCRIPTION
  939.       "This object identifies the resource that was under alarm.
  940.  
  941.       If there is no corresponding resource, then
  942.       the value of this object MUST be 0.0."
  943.    ::= { alarmClearEntry 8 }
  944.  
  945. alarmClearLogIndex OBJECT-TYPE
  946.    SYNTAX     Unsigned32 (0..4294967295)
  947.    MAX-ACCESS read-only
  948.    STATUS     current
  949.    DESCRIPTION
  950.        "This number MUST be the same as the log index of the
  951.        applicable row in the notification log MIB, if it exists.
  952.        If no log index applies to the trap, then this object
  953.        MUST have the value of 0."
  954.    ::= { alarmClearEntry 9 }
  955.  
  956. alarmClearModelPointer OBJECT-TYPE
  957.    SYNTAX     RowPointer
  958.    MAX-ACCESS read-only
  959.    STATUS     current
  960.    DESCRIPTION
  961.        "A pointer to the corresponding row in the
  962.        alarmModelTable for this cleared alarm."
  963.    ::= { alarmClearEntry 10 }
  964.  
  965. -- Notifications
  966.  
  967. alarmActiveState NOTIFICATION-TYPE
  968.  OBJECTS     { alarmActiveModelPointer,
  969.                alarmActiveResourceId }
  970.  STATUS      current
  971.  DESCRIPTION
  972.     "An instance of the alarm indicated by
  973.     alarmActiveModelPointer has been raised
  974.     against the entity indicated by
  975.     alarmActiveResourceId.
  976.  
  977.     The agent must throttle the generation of
  978.     consecutive alarmActiveState traps so that there is at
  979.     least a two-second gap between traps of this
  980.     type against the same alarmActiveModelPointer and
  981.     alarmActiveResourceId.  When traps are throttled,
  982.     they are dropped, not queued for sending at a future time.
  983.  
  984.     A management application should periodically check
  985.     the value of alarmActiveLastChanged to detect any
  986.     missed alarmActiveState notification-events, e.g.,
  987.     due to throttling or transmission loss."
  988.  ::= { alarmNotifications 2 }
  989.  
  990. alarmClearState NOTIFICATION-TYPE
  991.    OBJECTS     { alarmActiveModelPointer,
  992.                  alarmActiveResourceId }
  993.    STATUS      current
  994.    DESCRIPTION
  995.      "An instance of the alarm indicated by
  996.      alarmActiveModelPointer has been cleared against
  997.      the entity indicated by alarmActiveResourceId.
  998.  
  999.     The agent must throttle the generation of
  1000.     consecutive alarmActiveClear traps so that there is at
  1001.     least a two-second gap between traps of this
  1002.     type against the same alarmActiveModelPointer and
  1003.     alarmActiveResourceId.  When traps are throttled,
  1004.     they are dropped, not queued for sending at a future time.
  1005.  
  1006.     A management application should periodically check
  1007.     the value of alarmActiveLastChanged to detect any
  1008.     missed alarmClearState notification-events, e.g.,
  1009.     due to throttling or transmission loss."
  1010.    ::= { alarmNotifications 3 }
  1011.  
  1012. -- Conformance
  1013.  
  1014. alarmConformance OBJECT IDENTIFIER ::= { alarmMIB 2 }
  1015.  
  1016. alarmCompliances OBJECT IDENTIFIER ::= { alarmConformance 1 }
  1017.  
  1018. alarmCompliance MODULE-COMPLIANCE
  1019.       STATUS  current
  1020.       DESCRIPTION
  1021.           "The compliance statement for systems supporting
  1022.           the Alarm MIB."
  1023.       MODULE -- this module
  1024.           MANDATORY-GROUPS {
  1025.            alarmActiveGroup,
  1026.            alarmModelGroup
  1027.           }
  1028.       GROUP       alarmActiveStatsGroup
  1029.        DESCRIPTION
  1030.            "This group is optional."
  1031.       GROUP       alarmClearGroup
  1032.        DESCRIPTION
  1033.            "This group is optional."
  1034.       GROUP       alarmNotificationsGroup
  1035.        DESCRIPTION
  1036.            "This group is optional."
  1037.    ::= { alarmCompliances 1 }
  1038.  
  1039. alarmGroups OBJECT IDENTIFIER ::= { alarmConformance 2 }
  1040.  
  1041. alarmModelGroup OBJECT-GROUP
  1042.    OBJECTS {
  1043.        alarmModelLastChanged,
  1044.        alarmModelNotificationId,
  1045.        alarmModelVarbindIndex,
  1046.        alarmModelVarbindValue,
  1047.        alarmModelDescription,
  1048.        alarmModelSpecificPointer,
  1049.        alarmModelVarbindSubtree,
  1050.        alarmModelResourcePrefix,
  1051.        alarmModelRowStatus
  1052.       }
  1053.     STATUS   current
  1054.     DESCRIPTION
  1055.                "Alarm model group."
  1056.     ::= { alarmGroups 1}
  1057.  
  1058. alarmActiveGroup OBJECT-GROUP
  1059.         OBJECTS {
  1060.            alarmActiveLastChanged,
  1061.            alarmActiveOverflow,
  1062.            alarmActiveEngineID,
  1063.            alarmActiveEngineAddressType,
  1064.            alarmActiveEngineAddress,
  1065.            alarmActiveContextName,
  1066.            alarmActiveVariables,
  1067.            alarmActiveNotificationID,
  1068.            alarmActiveResourceId,
  1069.            alarmActiveDescription,
  1070.            alarmActiveLogPointer,
  1071.            alarmActiveModelPointer,
  1072.            alarmActiveSpecificPointer,
  1073.            alarmActiveVariableID,
  1074.            alarmActiveVariableValueType,
  1075.            alarmActiveVariableCounter32Val,
  1076.            alarmActiveVariableUnsigned32Val,
  1077.            alarmActiveVariableTimeTicksVal,
  1078.            alarmActiveVariableInteger32Val,
  1079.            alarmActiveVariableOctetStringVal,
  1080.            alarmActiveVariableIpAddressVal,
  1081.            alarmActiveVariableOidVal,
  1082.            alarmActiveVariableCounter64Val,
  1083.            alarmActiveVariableOpaqueVal
  1084.           }
  1085.           STATUS   current
  1086.           DESCRIPTION
  1087.                "Active Alarm list group."
  1088.           ::= { alarmGroups 2}
  1089.  
  1090.     alarmActiveStatsGroup  OBJECT-GROUP
  1091.           OBJECTS  {
  1092.                    alarmActiveStatsActives,
  1093.                    alarmActiveStatsActiveCurrent,
  1094.                    alarmActiveStatsLastRaise,
  1095.                    alarmActiveStatsLastClear
  1096.                     }
  1097.           STATUS   current
  1098.           DESCRIPTION
  1099.                "Active alarm summary group."
  1100.           ::= { alarmGroups 3}
  1101.  
  1102. alarmClearGroup  OBJECT-GROUP
  1103.           OBJECTS  {
  1104.    alarmClearMaximum,
  1105.    alarmClearEngineID,
  1106.    alarmClearEngineAddressType,
  1107.    alarmClearEngineAddress,
  1108.    alarmClearContextName,
  1109.    alarmClearNotificationID,
  1110.    alarmClearResourceId,
  1111.    alarmClearLogIndex,
  1112.    alarmClearModelPointer
  1113.                     }
  1114.           STATUS   current
  1115.           DESCRIPTION
  1116.                "Cleared alarm group."
  1117.           ::= { alarmGroups 4}
  1118.  
  1119. alarmNotificationsGroup NOTIFICATION-GROUP
  1120.    NOTIFICATIONS { alarmActiveState, alarmClearState }
  1121.    STATUS        current
  1122.    DESCRIPTION
  1123.            "The collection of notifications that can be used to
  1124.            model alarms for faults lacking pre-existing
  1125.            notification definitions."
  1126.    ::= { alarmGroups 6 }
  1127.  
  1128. END
  1129.