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 }
329 nlmLogTable OBJECT-TYPE
330 SYNTAX SEQUENCE OF NlmLogEntry
331 MAX-ACCESS not-accessible
334 "A table of Notification log entries.
336 It is an implementation-specific matter whether entries in this
337 table are preserved across initializations of the management
338 system. In general one would expect that they are not.
340 Note that keeping entries across initializations of the
341 management system leads to some confusion with counters and
342 TimeStamps, since both of those are based on sysUpTime, which
343 resets on management initialization. In this situation,
344 counters apply only after the reset and nlmLogTime for entries
345 made before the reset MUST be set to 0."
348 nlmLogEntry OBJECT-TYPE
350 MAX-ACCESS not-accessible
353 "A Notification log entry.
355 Entries appear in this table when Notifications occur and pass
356 filtering by nlmConfigLogFilterName and access control. They are
357 removed to make way for new entries due to lack of resources or
358 the values of nlmConfigGlobalEntryLimit, nlmConfigGlobalAgeOut, or
359 nlmConfigLogEntryLimit.
361 If adding an entry would exceed nlmConfigGlobalEntryLimit or system
362 resources in general, the oldest entry in any log SHOULD be removed
363 to make room for the new one.
365 If adding an entry would exceed nlmConfigLogEntryLimit the oldest
366 entry in that log SHOULD be removed to make room for the new one.
368 Before the managed system puts a locally-generated Notification
369 into a non-null-named log it assures that the creator of the log
370 has access to the information in the Notification. If not it
371 does not log that Notification in that log."
372 INDEX { nlmLogName, nlmLogIndex }
373 ::= { nlmLogTable 1 }
377 NlmLogEntry ::= SEQUENCE {
378 nlmLogIndex Unsigned32,
379 nlmLogTime TimeStamp,
380 nlmLogDateAndTime DateAndTime,
381 nlmLogEngineID SnmpEngineID,
382 nlmLogEngineTAddress TAddress,
383 nlmLogEngineTDomain TDomain,
384 nlmLogContextEngineID SnmpEngineID,
385 nlmLogContextName SnmpAdminString,
386 nlmLogNotificationID OBJECT IDENTIFIER
389 nlmLogIndex OBJECT-TYPE
390 SYNTAX Unsigned32 (1..4294967295)
391 MAX-ACCESS not-accessible
394 "A monotonically increasing integer for the sole purpose of
395 indexing entries within the named log. When it reaches the
396 maximum value, an extremely unlikely event, the agent wraps the
398 ::= { nlmLogEntry 1 }
400 nlmLogTime OBJECT-TYPE
405 "The value of sysUpTime when the entry was placed in the log. If
406 the entry occurred before the most recent management system
407 initialization this object value MUST be set to zero."
408 ::= { nlmLogEntry 2 }
410 nlmLogDateAndTime OBJECT-TYPE
415 "The local date and time when the entry was logged, instantiated
416 only by systems that have date and time capability."
417 ::= { nlmLogEntry 3 }
419 nlmLogEngineID OBJECT-TYPE
424 "The identification of the SNMP engine at which the Notification
429 If the log can contain Notifications from only one engine
430 or the Trap is in SNMPv1 format, this object is a zero-length
432 ::= { nlmLogEntry 4 }
434 nlmLogEngineTAddress OBJECT-TYPE
439 "The transport service address of the SNMP engine from which the
440 Notification was received, formatted according to the corresponding
441 value of nlmLogEngineTDomain. This is used to identify the source
442 of an SNMPv1 trap, since an nlmLogEngineId cannot be extracted
443 from the SNMPv1 trap pdu.
445 This object MUST always be instantiated, even if the log
446 can contain Notifications from only one engine.
448 Please be aware that the nlmLogEngineTAddress may not uniquely
449 identify the SNMP engine from which the Notification was received.
450 For example, if an SNMP engine uses DHCP or NAT to obtain
451 ip addresses, the address it uses may be shared with other
452 network devices, and hence will not uniquely identify the
454 ::= { nlmLogEntry 5 }
456 nlmLogEngineTDomain OBJECT-TYPE
461 "Indicates the kind of transport service by which a Notification
462 was received from an SNMP engine. nlmLogEngineTAddress contains
463 the transport service address of the SNMP engine from which
464 this Notification was received.
466 Possible values for this object are presently found in the
467 Transport Mappings for SNMPv2 document (RFC 1906 [8])."
468 ::= { nlmLogEntry 6 }
470 nlmLogContextEngineID OBJECT-TYPE
477 "If the Notification was received in a protocol which has a
478 contextEngineID element like SNMPv3, this object has that value.
479 Otherwise its value is a zero-length string."
480 ::= { nlmLogEntry 7 }
482 nlmLogContextName OBJECT-TYPE
483 SYNTAX SnmpAdminString
487 "The name of the SNMP MIB context from which the Notification came.
488 For SNMPv1 Traps this is the community string from the Trap."
489 ::= { nlmLogEntry 8 }
491 nlmLogNotificationID OBJECT-TYPE
492 SYNTAX OBJECT IDENTIFIER
496 "The NOTIFICATION-TYPE object identifier of the Notification that
498 ::= { nlmLogEntry 9 }
501 -- Log Variable Table
504 nlmLogVariableTable OBJECT-TYPE
505 SYNTAX SEQUENCE OF NlmLogVariableEntry
506 MAX-ACCESS not-accessible
509 "A table of variables to go with Notification log entries."
512 nlmLogVariableEntry OBJECT-TYPE
513 SYNTAX NlmLogVariableEntry
514 MAX-ACCESS not-accessible
517 "A Notification log entry variable.
519 Entries appear in this table when there are variables in
520 the varbind list of a Notification in nlmLogTable."
521 INDEX { nlmLogName, nlmLogIndex, nlmLogVariableIndex }
522 ::= { nlmLogVariableTable 1 }
524 NlmLogVariableEntry ::= SEQUENCE {
527 nlmLogVariableIndex Unsigned32,
528 nlmLogVariableID OBJECT IDENTIFIER,
529 nlmLogVariableValueType INTEGER,
530 nlmLogVariableCounter32Val Counter32,
531 nlmLogVariableUnsigned32Val Unsigned32,
532 nlmLogVariableTimeTicksVal TimeTicks,
533 nlmLogVariableInteger32Val Integer32,
534 nlmLogVariableOctetStringVal OCTET STRING,
535 nlmLogVariableIpAddressVal IpAddress,
536 nlmLogVariableOidVal OBJECT IDENTIFIER,
537 nlmLogVariableCounter64Val Counter64,
538 nlmLogVariableOpaqueVal Opaque
541 nlmLogVariableIndex OBJECT-TYPE
542 SYNTAX Unsigned32 (1..4294967295)
543 MAX-ACCESS not-accessible
546 "A monotonically increasing integer, starting at 1 for a given
547 nlmLogIndex, for indexing variables within the logged
549 ::= { nlmLogVariableEntry 1 }
551 nlmLogVariableID OBJECT-TYPE
552 SYNTAX OBJECT IDENTIFIER
556 "The variable's object identifier."
557 ::= { nlmLogVariableEntry 2 }
559 nlmLogVariableValueType OBJECT-TYPE
560 SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
561 integer32(4), ipAddress(5), octetString(6),
562 objectId(7), counter64(8), opaque(9) }
566 "The type of the value. One and only one of the value
567 objects that follow must be instantiated, based on this type."
568 ::= { nlmLogVariableEntry 3 }
570 nlmLogVariableCounter32Val OBJECT-TYPE
577 "The value when nlmLogVariableType is 'counter32'."
578 ::= { nlmLogVariableEntry 4 }
580 nlmLogVariableUnsigned32Val OBJECT-TYPE
585 "The value when nlmLogVariableType is 'unsigned32'."
586 ::= { nlmLogVariableEntry 5 }
588 nlmLogVariableTimeTicksVal OBJECT-TYPE
593 "The value when nlmLogVariableType is 'timeTicks'."
594 ::= { nlmLogVariableEntry 6 }
596 nlmLogVariableInteger32Val OBJECT-TYPE
601 "The value when nlmLogVariableType is 'integer32'."
602 ::= { nlmLogVariableEntry 7 }
604 nlmLogVariableOctetStringVal OBJECT-TYPE
609 "The value when nlmLogVariableType is 'octetString'."
610 ::= { nlmLogVariableEntry 8 }
612 nlmLogVariableIpAddressVal OBJECT-TYPE
617 "The value when nlmLogVariableType is 'ipAddress'.
618 Although this seems to be unfriendly for IPv6, we
619 have to recognize that there are a number of older
620 MIBs that do contain an IPv4 format address, known
623 IPv6 addresses are represented using TAddress or
624 InetAddress, and so the underlying datatype is
627 OCTET STRING, and their value would be stored in
628 the nlmLogVariableOctetStringVal column."
629 ::= { nlmLogVariableEntry 9 }
631 nlmLogVariableOidVal OBJECT-TYPE
632 SYNTAX OBJECT IDENTIFIER
636 "The value when nlmLogVariableType is 'objectId'."
637 ::= { nlmLogVariableEntry 10 }
639 nlmLogVariableCounter64Val OBJECT-TYPE
644 "The value when nlmLogVariableType is 'counter64'."
645 ::= { nlmLogVariableEntry 11 }
647 nlmLogVariableOpaqueVal OBJECT-TYPE
652 "The value when nlmLogVariableType is 'opaque'."
653 ::= { nlmLogVariableEntry 12 }
660 notificationLogMIBConformance OBJECT IDENTIFIER ::=
661 { notificationLogMIB 3 }
662 notificationLogMIBCompliances OBJECT IDENTIFIER ::=
663 { notificationLogMIBConformance 1 }
664 notificationLogMIBGroups OBJECT IDENTIFIER ::=
665 { notificationLogMIBConformance 2 }
669 notificationLogMIBCompliance MODULE-COMPLIANCE
672 "The compliance statement for entities which implement
673 the Notification Log MIB."
674 MODULE -- this module
678 notificationLogConfigGroup,
679 notificationLogStatsGroup,
680 notificationLogLogGroup
683 OBJECT nlmConfigGlobalEntryLimit
684 SYNTAX Unsigned32 (0..4294967295)
687 "Implementations may choose a limit and not allow it to be
688 changed or may enforce an upper or lower bound on the
691 OBJECT nlmConfigLogEntryLimit
692 SYNTAX Unsigned32 (0..4294967295)
695 "Implementations may choose a limit and not allow it to be
696 changed or may enforce an upper or lower bound on the
699 OBJECT nlmConfigLogEntryStatus
702 "Implementations may disallow the creation of named logs."
704 GROUP notificationLogDateGroup
706 "This group is mandatory on systems that keep wall clock
707 date and time and should not be implemented on systems that
708 do not have a wall clock date."
710 ::= { notificationLogMIBCompliances 1 }
712 -- Units of Conformance
714 notificationLogConfigGroup OBJECT-GROUP
716 nlmConfigGlobalEntryLimit,
717 nlmConfigGlobalAgeOut,
718 nlmConfigLogFilterName,
719 nlmConfigLogEntryLimit,
720 nlmConfigLogAdminStatus,
721 nlmConfigLogOperStatus,
722 nlmConfigLogStorageType,
723 nlmConfigLogEntryStatus
729 "Notification log configuration management."
730 ::= { notificationLogMIBGroups 1 }
732 notificationLogStatsGroup OBJECT-GROUP
734 nlmStatsGlobalNotificationsLogged,
735 nlmStatsGlobalNotificationsBumped,
736 nlmStatsLogNotificationsLogged,
737 nlmStatsLogNotificationsBumped
741 "Notification log statistics."
742 ::= { notificationLogMIBGroups 2 }
744 notificationLogLogGroup OBJECT-GROUP
748 nlmLogEngineTAddress,
750 nlmLogContextEngineID,
752 nlmLogNotificationID,
754 nlmLogVariableValueType,
755 nlmLogVariableCounter32Val,
756 nlmLogVariableUnsigned32Val,
757 nlmLogVariableTimeTicksVal,
758 nlmLogVariableInteger32Val,
759 nlmLogVariableOctetStringVal,
760 nlmLogVariableIpAddressVal,
761 nlmLogVariableOidVal,
762 nlmLogVariableCounter64Val,
763 nlmLogVariableOpaqueVal
767 "Notification log data."
768 ::= { notificationLogMIBGroups 3 }
770 notificationLogDateGroup OBJECT-GROUP
778 "Conditionally mandatory notification log data.
779 This group is mandatory on systems that keep wall
780 clock date and time and should not be implemented
781 on systems that do not have a wall clock date."
782 ::= { notificationLogMIBGroups 4 }