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