1 NOTIFICATION-LOG-MIB DEFINITIONS ::= BEGIN
4 MODULE-IDENTITY, OBJECT-TYPE,
6 TimeTicks, Counter32, Counter64,
7 IpAddress, Opaque, mib-2 FROM SNMPv2-SMI
8 TimeStamp, DateAndTime,
9 StorageType, RowStatus,
10 TAddress, TDomain FROM SNMPv2-TC
11 SnmpAdminString, SnmpEngineID FROM SNMP-FRAMEWORK-MIB
12 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
14 notificationLogMIB MODULE-IDENTITY
15 LAST-UPDATED "200011270000Z" -- 27 November 2000
16 ORGANIZATION "IETF Distributed Management Working Group"
17 CONTACT-INFO "Ramanathan Kavasseri
19 170 West Tasman Drive,
20 San Jose CA 95134-1706.
21 Phone: +1 408 527 2446
22 Email: ramk@cisco.com"
24 "The MIB module for logging SNMP Notifications, that is, Traps
30 REVISION "200011270000Z" -- 27 November 2000
31 DESCRIPTION "This is the initial version of this MIB.
32 Published as RFC 3014"
36 notificationLogMIBObjects OBJECT IDENTIFIER ::= { notificationLogMIB 1 }
38 nlmConfig OBJECT IDENTIFIER ::= { notificationLogMIBObjects 1 }
39 nlmStats OBJECT IDENTIFIER ::= { notificationLogMIBObjects 2 }
40 nlmLog OBJECT IDENTIFIER ::= { notificationLogMIBObjects 3 }
43 -- Configuration Section
46 nlmConfigGlobalEntryLimit OBJECT-TYPE
51 "The maximum number of notification entries that may be held
52 in nlmLogTable for all nlmLogNames added together. A particular
53 setting does not guarantee that much data can be held.
55 If an application changes the limit while there are
56 Notifications in the log, the oldest Notifications MUST be
57 discarded to bring the log down to the new limit - thus the
58 value of nlmConfigGlobalEntryLimit MUST take precedence over
59 the values of nlmConfigGlobalAgeOut and nlmConfigLogEntryLimit,
60 even if the Notification being discarded has been present for
61 fewer minutes than the value of nlmConfigGlobalAgeOut, or if
62 the named log has fewer entries than that specified in
63 nlmConfigLogEntryLimit.
65 A value of 0 means no limit.
67 Please be aware that contention between multiple managers
68 trying to set this object to different values MAY affect the
69 reliability and completeness of data seen by each manager."
73 nlmConfigGlobalAgeOut OBJECT-TYPE
81 "The number of minutes a Notification SHOULD be kept in a log
82 before it is automatically removed.
84 If an application changes the value of nlmConfigGlobalAgeOut,
85 Notifications older than the new time MAY be discarded to meet the
88 A value of 0 means no age out.
90 Please be aware that contention between multiple managers
91 trying to set this object to different values MAY affect the
92 reliability and completeness of data seen by each manager."
93 DEFVAL { 1440 } -- 24 hours
98 -- Basic Log Configuration Table
101 nlmConfigLogTable OBJECT-TYPE
102 SYNTAX SEQUENCE OF NlmConfigLogEntry
103 MAX-ACCESS not-accessible
106 "A table of logging control entries."
109 nlmConfigLogEntry OBJECT-TYPE
110 SYNTAX NlmConfigLogEntry
111 MAX-ACCESS not-accessible
114 "A logging control entry. Depending on the entry's storage type
115 entries may be supplied by the system or created and deleted by
116 applications using nlmConfigLogEntryStatus."
118 ::= { nlmConfigLogTable 1 }
120 NlmConfigLogEntry ::= SEQUENCE {
121 nlmLogName SnmpAdminString,
122 nlmConfigLogFilterName SnmpAdminString,
123 nlmConfigLogEntryLimit Unsigned32,
124 nlmConfigLogAdminStatus INTEGER,
127 nlmConfigLogOperStatus INTEGER,
128 nlmConfigLogStorageType StorageType,
129 nlmConfigLogEntryStatus RowStatus
132 nlmLogName OBJECT-TYPE
133 SYNTAX SnmpAdminString (SIZE(0..32))
134 MAX-ACCESS not-accessible
137 "The name of the log.
139 An implementation may allow multiple named logs, up to some
140 implementation-specific limit (which may be none). A
141 zero-length log name is reserved for creation and deletion by
142 the managed system, and MUST be used as the default log name by
143 systems that do not support named logs."
144 ::= { nlmConfigLogEntry 1 }
146 nlmConfigLogFilterName OBJECT-TYPE
147 SYNTAX SnmpAdminString (SIZE(0..32))
148 MAX-ACCESS read-create
151 "A value of snmpNotifyFilterProfileName as used as an index
152 into the snmpNotifyFilterTable in the SNMP Notification MIB,
153 specifying the locally or remotely originated Notifications
154 to be filtered out and not logged in this log.
156 A zero-length value or a name that does not identify an
157 existing entry in snmpNotifyFilterTable indicate no
158 Notifications are to be logged in this log."
160 ::= { nlmConfigLogEntry 2 }
162 nlmConfigLogEntryLimit OBJECT-TYPE
164 MAX-ACCESS read-create
167 "The maximum number of notification entries that can be held in
168 nlmLogTable for this named log. A particular setting does not
169 guarantee that that much data can be held.
171 If an application changes the limit while there are
172 Notifications in the log, the oldest Notifications are discarded
173 to bring the log down to the new limit.
177 A value of 0 indicates no limit.
179 Please be aware that contention between multiple managers
180 trying to set this object to different values MAY affect the
181 reliability and completeness of data seen by each manager."
183 ::= { nlmConfigLogEntry 3 }
185 nlmConfigLogAdminStatus OBJECT-TYPE
186 SYNTAX INTEGER { enabled(1), disabled(2) }
187 MAX-ACCESS read-create
190 "Control to enable or disable the log without otherwise
191 disturbing the log's entry.
193 Please be aware that contention between multiple managers
194 trying to set this object to different values MAY affect the
195 reliability and completeness of data seen by each manager."
197 ::= { nlmConfigLogEntry 4 }
199 nlmConfigLogOperStatus OBJECT-TYPE
200 SYNTAX INTEGER { disabled(1), operational(2), noFilter(3) }
204 "The operational status of this log:
206 disabled administratively disabled
208 operational administratively enabled and working
210 noFilter administratively enabled but either
211 nlmConfigLogFilterName is zero length
212 or does not name an existing entry in
213 snmpNotifyFilterTable"
214 ::= { nlmConfigLogEntry 5 }
216 nlmConfigLogStorageType OBJECT-TYPE
218 MAX-ACCESS read-create
221 "The storage type of this conceptual row."
222 ::= { nlmConfigLogEntry 6 }
224 nlmConfigLogEntryStatus OBJECT-TYPE
228 MAX-ACCESS read-create
231 "Control for creating and deleting entries. Entries may be
232 modified while active.
234 For non-null-named logs, the managed system records the security
235 credentials from the request that sets nlmConfigLogStatus
236 to 'active' and uses that identity to apply access control to
237 the objects in the Notification to decide if that Notification
239 ::= { nlmConfigLogEntry 7 }
242 -- Statistics Section
245 nlmStatsGlobalNotificationsLogged OBJECT-TYPE
247 UNITS "notifications"
251 "The number of Notifications put into the nlmLogTable. This
252 counts a Notification once for each log entry, so a Notification
253 put into multiple logs is counted multiple times."
256 nlmStatsGlobalNotificationsBumped OBJECT-TYPE
258 UNITS "notifications"
262 "The number of log entries discarded to make room for a new entry
263 due to lack of resources or the value of nlmConfigGlobalEntryLimit
264 or nlmConfigLogEntryLimit. This does not include entries discarded
265 due to the value of nlmConfigGlobalAgeOut."
269 -- Log Statistics Table
272 nlmStatsLogTable OBJECT-TYPE
273 SYNTAX SEQUENCE OF NlmStatsLogEntry
274 MAX-ACCESS not-accessible
279 "A table of Notification log statistics entries."
282 nlmStatsLogEntry OBJECT-TYPE
283 SYNTAX NlmStatsLogEntry
284 MAX-ACCESS not-accessible
287 "A Notification log statistics entry."
288 AUGMENTS { nlmConfigLogEntry }
289 ::= { nlmStatsLogTable 1 }
291 NlmStatsLogEntry ::= SEQUENCE {
292 nlmStatsLogNotificationsLogged Counter32,
293 nlmStatsLogNotificationsBumped Counter32
296 nlmStatsLogNotificationsLogged OBJECT-TYPE
298 UNITS "notifications"
302 "The number of Notifications put in this named log."
303 ::= { nlmStatsLogEntry 1 }
305 nlmStatsLogNotificationsBumped OBJECT-TYPE
307 UNITS "notifications"
311 "The number of log entries discarded from this named log to make
312 room for a new entry due to lack of resources or the value of
313 nlmConfigGlobalEntryLimit or nlmConfigLogEntryLimit. This does not
314 include entries discarded due to the value of
315 nlmConfigGlobalAgeOut."
316 ::= { nlmStatsLogEntry 2 }
327 nlmLogTable OBJECT-TYPE
328 SYNTAX SEQUENCE OF NlmLogEntry
329 MAX-ACCESS not-accessible
332 "A table of Notification log entries.
334 It is an implementation-specific matter whether entries in this
335 table are preserved across initializations of the management
336 system. In general one would expect that they are not.
338 Note that keeping entries across initializations of the
339 management system leads to some confusion with counters and
340 TimeStamps, since both of those are based on sysUpTime, which
341 resets on management initialization. In this situation,
342 counters apply only after the reset and nlmLogTime for entries
343 made before the reset MUST be set to 0."
346 nlmLogEntry OBJECT-TYPE
348 MAX-ACCESS not-accessible
351 "A Notification log entry.
353 Entries appear in this table when Notifications occur and pass
354 filtering by nlmConfigLogFilterName and access control. They are
355 removed to make way for new entries due to lack of resources or
356 the values of nlmConfigGlobalEntryLimit, nlmConfigGlobalAgeOut, or
357 nlmConfigLogEntryLimit.
359 If adding an entry would exceed nlmConfigGlobalEntryLimit or system
360 resources in general, the oldest entry in any log SHOULD be removed
361 to make room for the new one.
363 If adding an entry would exceed nlmConfigLogEntryLimit the oldest
364 entry in that log SHOULD be removed to make room for the new one.
366 Before the managed system puts a locally-generated Notification
367 into a non-null-named log it assures that the creator of the log
368 has access to the information in the Notification. If not it
369 does not log that Notification in that log."
370 INDEX { nlmLogName, nlmLogIndex }
371 ::= { nlmLogTable 1 }
375 NlmLogEntry ::= SEQUENCE {
376 nlmLogIndex Unsigned32,
377 nlmLogTime TimeStamp,
378 nlmLogDateAndTime DateAndTime,
379 nlmLogEngineID SnmpEngineID,
380 nlmLogEngineTAddress TAddress,
381 nlmLogEngineTDomain TDomain,
382 nlmLogContextEngineID SnmpEngineID,
383 nlmLogContextName SnmpAdminString,
384 nlmLogNotificationID OBJECT IDENTIFIER
387 nlmLogIndex OBJECT-TYPE
388 SYNTAX Unsigned32 (1..4294967295)
389 MAX-ACCESS not-accessible
392 "A monotonically increasing integer for the sole purpose of
393 indexing entries within the named log. When it reaches the
394 maximum value, an extremely unlikely event, the agent wraps the
396 ::= { nlmLogEntry 1 }
398 nlmLogTime OBJECT-TYPE
403 "The value of sysUpTime when the entry was placed in the log. If
404 the entry occurred before the most recent management system
405 initialization this object value MUST be set to zero."
406 ::= { nlmLogEntry 2 }
408 nlmLogDateAndTime OBJECT-TYPE
413 "The local date and time when the entry was logged, instantiated
414 only by systems that have date and time capability."
415 ::= { nlmLogEntry 3 }
417 nlmLogEngineID OBJECT-TYPE
422 "The identification of the SNMP engine at which the Notification
427 If the log can contain Notifications from only one engine
428 or the Trap is in SNMPv1 format, this object is a zero-length
430 ::= { nlmLogEntry 4 }
432 nlmLogEngineTAddress OBJECT-TYPE
437 "The transport service address of the SNMP engine from which the
438 Notification was received, formatted according to the corresponding
439 value of nlmLogEngineTDomain. This is used to identify the source
440 of an SNMPv1 trap, since an nlmLogEngineId cannot be extracted
441 from the SNMPv1 trap pdu.
443 This object MUST always be instantiated, even if the log
444 can contain Notifications from only one engine.
446 Please be aware that the nlmLogEngineTAddress may not uniquely
447 identify the SNMP engine from which the Notification was received.
448 For example, if an SNMP engine uses DHCP or NAT to obtain
449 ip addresses, the address it uses may be shared with other
450 network devices, and hence will not uniquely identify the
452 ::= { nlmLogEntry 5 }
454 nlmLogEngineTDomain OBJECT-TYPE
459 "Indicates the kind of transport service by which a Notification
460 was received from an SNMP engine. nlmLogEngineTAddress contains
461 the transport service address of the SNMP engine from which
462 this Notification was received.
464 Possible values for this object are presently found in the
465 Transport Mappings for SNMPv2 document (RFC 1906 [8])."
466 ::= { nlmLogEntry 6 }
468 nlmLogContextEngineID OBJECT-TYPE
475 "If the Notification was received in a protocol which has a
476 contextEngineID element like SNMPv3, this object has that value.
477 Otherwise its value is a zero-length string."
478 ::= { nlmLogEntry 7 }
480 nlmLogContextName OBJECT-TYPE
481 SYNTAX SnmpAdminString
485 "The name of the SNMP MIB context from which the Notification came.
486 For SNMPv1 Traps this is the community string from the Trap."
487 ::= { nlmLogEntry 8 }
489 nlmLogNotificationID OBJECT-TYPE
490 SYNTAX OBJECT IDENTIFIER
494 "The NOTIFICATION-TYPE object identifier of the Notification that
496 ::= { nlmLogEntry 9 }
499 -- Log Variable Table
502 nlmLogVariableTable OBJECT-TYPE
503 SYNTAX SEQUENCE OF NlmLogVariableEntry
504 MAX-ACCESS not-accessible
507 "A table of variables to go with Notification log entries."
510 nlmLogVariableEntry OBJECT-TYPE
511 SYNTAX NlmLogVariableEntry
512 MAX-ACCESS not-accessible
515 "A Notification log entry variable.
517 Entries appear in this table when there are variables in
518 the varbind list of a Notification in nlmLogTable."
519 INDEX { nlmLogName, nlmLogIndex, nlmLogVariableIndex }
520 ::= { nlmLogVariableTable 1 }
522 NlmLogVariableEntry ::= SEQUENCE {
525 nlmLogVariableIndex Unsigned32,
526 nlmLogVariableID OBJECT IDENTIFIER,
527 nlmLogVariableValueType INTEGER,
528 nlmLogVariableCounter32Val Counter32,
529 nlmLogVariableUnsigned32Val Unsigned32,
530 nlmLogVariableTimeTicksVal TimeTicks,
531 nlmLogVariableInteger32Val Integer32,
532 nlmLogVariableOctetStringVal OCTET STRING,
533 nlmLogVariableIpAddressVal IpAddress,
534 nlmLogVariableOidVal OBJECT IDENTIFIER,
535 nlmLogVariableCounter64Val Counter64,
536 nlmLogVariableOpaqueVal Opaque
539 nlmLogVariableIndex OBJECT-TYPE
540 SYNTAX Unsigned32 (1..4294967295)
541 MAX-ACCESS not-accessible
544 "A monotonically increasing integer, starting at 1 for a given
545 nlmLogIndex, for indexing variables within the logged
547 ::= { nlmLogVariableEntry 1 }
549 nlmLogVariableID OBJECT-TYPE
550 SYNTAX OBJECT IDENTIFIER
554 "The variable's object identifier."
555 ::= { nlmLogVariableEntry 2 }
557 nlmLogVariableValueType OBJECT-TYPE
558 SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
559 integer32(4), ipAddress(5), octetString(6),
560 objectId(7), counter64(8), opaque(9) }
564 "The type of the value. One and only one of the value
565 objects that follow must be instantiated, based on this type."
566 ::= { nlmLogVariableEntry 3 }
568 nlmLogVariableCounter32Val OBJECT-TYPE
575 "The value when nlmLogVariableType is 'counter32'."
576 ::= { nlmLogVariableEntry 4 }
578 nlmLogVariableUnsigned32Val OBJECT-TYPE
583 "The value when nlmLogVariableType is 'unsigned32'."
584 ::= { nlmLogVariableEntry 5 }
586 nlmLogVariableTimeTicksVal OBJECT-TYPE
591 "The value when nlmLogVariableType is 'timeTicks'."
592 ::= { nlmLogVariableEntry 6 }
594 nlmLogVariableInteger32Val OBJECT-TYPE
599 "The value when nlmLogVariableType is 'integer32'."
600 ::= { nlmLogVariableEntry 7 }
602 nlmLogVariableOctetStringVal OBJECT-TYPE
607 "The value when nlmLogVariableType is 'octetString'."
608 ::= { nlmLogVariableEntry 8 }
610 nlmLogVariableIpAddressVal OBJECT-TYPE
615 "The value when nlmLogVariableType is 'ipAddress'.
616 Although this seems to be unfriendly for IPv6, we
617 have to recognize that there are a number of older
618 MIBs that do contain an IPv4 format address, known
621 IPv6 addresses are represented using TAddress or
622 InetAddress, and so the underlying datatype is
625 OCTET STRING, and their value would be stored in
626 the nlmLogVariableOctetStringVal column."
627 ::= { nlmLogVariableEntry 9 }
629 nlmLogVariableOidVal OBJECT-TYPE
630 SYNTAX OBJECT IDENTIFIER
634 "The value when nlmLogVariableType is 'objectId'."
635 ::= { nlmLogVariableEntry 10 }
637 nlmLogVariableCounter64Val OBJECT-TYPE
642 "The value when nlmLogVariableType is 'counter64'."
643 ::= { nlmLogVariableEntry 11 }
645 nlmLogVariableOpaqueVal OBJECT-TYPE
650 "The value when nlmLogVariableType is 'opaque'."
651 ::= { nlmLogVariableEntry 12 }
658 notificationLogMIBConformance OBJECT IDENTIFIER ::=
659 { notificationLogMIB 3 }
660 notificationLogMIBCompliances OBJECT IDENTIFIER ::=
661 { notificationLogMIBConformance 1 }
662 notificationLogMIBGroups OBJECT IDENTIFIER ::=
663 { notificationLogMIBConformance 2 }
667 notificationLogMIBCompliance MODULE-COMPLIANCE
670 "The compliance statement for entities which implement
671 the Notification Log MIB."
672 MODULE -- this module
676 notificationLogConfigGroup,
677 notificationLogStatsGroup,
678 notificationLogLogGroup
681 OBJECT nlmConfigGlobalEntryLimit
682 SYNTAX Unsigned32 (0..4294967295)
685 "Implementations may choose a limit and not allow it to be
686 changed or may enforce an upper or lower bound on the
689 OBJECT nlmConfigLogEntryLimit
690 SYNTAX Unsigned32 (0..4294967295)
693 "Implementations may choose a limit and not allow it to be
694 changed or may enforce an upper or lower bound on the
697 OBJECT nlmConfigLogEntryStatus
700 "Implementations may disallow the creation of named logs."
702 GROUP notificationLogDateGroup
704 "This group is mandatory on systems that keep wall clock
705 date and time and should not be implemented on systems that
706 do not have a wall clock date."
708 ::= { notificationLogMIBCompliances 1 }
710 -- Units of Conformance
712 notificationLogConfigGroup OBJECT-GROUP
714 nlmConfigGlobalEntryLimit,
715 nlmConfigGlobalAgeOut,
716 nlmConfigLogFilterName,
717 nlmConfigLogEntryLimit,
718 nlmConfigLogAdminStatus,
719 nlmConfigLogOperStatus,
720 nlmConfigLogStorageType,
721 nlmConfigLogEntryStatus
727 "Notification log configuration management."
728 ::= { notificationLogMIBGroups 1 }
730 notificationLogStatsGroup OBJECT-GROUP
732 nlmStatsGlobalNotificationsLogged,
733 nlmStatsGlobalNotificationsBumped,
734 nlmStatsLogNotificationsLogged,
735 nlmStatsLogNotificationsBumped
739 "Notification log statistics."
740 ::= { notificationLogMIBGroups 2 }
742 notificationLogLogGroup OBJECT-GROUP
746 nlmLogEngineTAddress,
748 nlmLogContextEngineID,
750 nlmLogNotificationID,
752 nlmLogVariableValueType,
753 nlmLogVariableCounter32Val,
754 nlmLogVariableUnsigned32Val,
755 nlmLogVariableTimeTicksVal,
756 nlmLogVariableInteger32Val,
757 nlmLogVariableOctetStringVal,
758 nlmLogVariableIpAddressVal,
759 nlmLogVariableOidVal,
760 nlmLogVariableCounter64Val,
761 nlmLogVariableOpaqueVal
765 "Notification log data."
766 ::= { notificationLogMIBGroups 3 }
768 notificationLogDateGroup OBJECT-GROUP
776 "Conditionally mandatory notification log data.
777 This group is mandatory on systems that keep wall
778 clock date and time and should not be implemented
779 on systems that do not have a wall clock date."
780 ::= { notificationLogMIBGroups 4 }