smilint output for ./CHECK-MIB
Message Severities |
Severity | Count |
error | 1 |
warning | 2 |
Message Types |
Type | Count |
group-objects-notification (error) | 1 |
type-without-format (warning) | 2 |
Messages:
CHECK-MIB
1: -- extracted from draft-nunzi-check-mib-00.txt
2: -- at Tue Dec 23 06:16:17 2003
3:
4: CHECK-MIB DEFINITIONS ::= BEGIN
5:
6: IMPORTS
7: MODULE-IDENTITY, OBJECT-TYPE,
8: NOTIFICATION-TYPE, mib-2,
9: Unsigned32, TimeTicks, zeroDotZero
10: FROM SNMPv2-SMI -- RFC2578
11:
12: StorageType, RowStatus,
13: TimeInterval, TimeStamp,
14: TEXTUAL-CONVENTION
15: FROM SNMPv2-TC -- RFC2579
16:
17: MODULE-COMPLIANCE, OBJECT-GROUP
18: FROM SNMPv2-CONF -- RFC2580
19:
20: SnmpAdminString
21: FROM SNMP-FRAMEWORK-MIB; -- RFC3411
22:
23: checkMIB MODULE-IDENTITY
24: LAST-UPDATED "200312191313Z" -- December 19, 2003
25: ORGANIZATION "IETF Distributed Management man Working Group"
26: CONTACT-INFO
27: "Editor:
28: Giorgio Nunzi
29: NEC Europe Ltd.
30: Network Laboratories
31: Kurfuersten-Anlage 36
32: 69221 Heidelberg
33: Germany
34: Tel: +49 6221 90511-39
35: Email: nunzi@netlab.nec.de"
36: DESCRIPTION
37: "This MIB module defines a set of objects that allow
38: to define a health check procedure on a managed node.
39: The health check procedure is performed through a sequence
40: of simple comparison operations on some managed objects
41: against a control value. The result of the health check
42: is accumulated into a single managed object that can be
43: read by a manager to discover the status of the whole
44: set of managed objects instead of retrieving all the single
45: values controlled during the health check procedure.
46:
47: The main purpose of the CHECK-MIB is increasing scalability
48: of network management applications by moving check
49: operations from the management station to managed nodes.
50:
51: There are five groups of managed objects defined
52: by this MIB module:
53: - objects describing capabilities
54: of the CHECK-MIB implementation;
55: - objects controlling the operational
56: status of the health check procedure;
57: - objects defining the checks in
58: the checkResultTable;
59: - objects defining the operations for each of
60: the configured checks in the checkRuleTable;
61: - objects providing information about
62: failed checks."
63: REVISION "200312191313Z" -- December 19, 2003
64: DESCRIPTION "Initial version"
65: ::= { mib-2 7777 }
66: -- 7777 to be assigned by IANA.
67:
68: RuleValue ::= TEXTUAL-CONVENTION
69: DISPLAY-HINT "1x"
70: STATUS current
71: DESCRIPTION
72: "The control value compared with the value of a monitored
73: object. This value encodes all the object types
74: defined by the SMIv2, except the Opaque, with the
75: following rules:
76: - INTEGER, Integer32, Unsigned32, TimeTicks, Counter32,
77: Gauge32: the integer value is encoded with 4 octets in
78: network-byte order;
79: - Counter64: the integer value is encoded with 8 octets
80: in network-byte order;
81: - IpAddress: the address value is encoded with a 4 in
82: network-byte order;
83: - OBJECT IDENTIFIER: each sub-identifier is encoded with
84: 4 octets in network-order and the whole OID is encoded
85: as a sequence of sub-identifiers starting from the
86: top-level;
87: - BITS: all the named bits in the bitstring, commencing
88: with the first bit and proceeding to the last bit, are
89: placed in bits 8 (high order bit) to 1 (low order bit)
90: of the first octet, followed by bits 8 to 1 of each
91: subsequent octet in turn, followed by as many bits as
92: are needed of the final subsequent octet, commencing
93: with bit 8. Remaining bits, if any, of the final octet
94: are set to zero on generation and ignored while
95: performing a check;
96: - OCTET STRING: the string is encoded as it is."
97: SYNTAX OCTET STRING
98:
99: SeverityConfigured ::= TEXTUAL-CONVENTION
99: warning -
warning: type `SeverityConfigured' has no format specification
100: STATUS current
101: DESCRIPTION
102: "The severity value measures the gravity of a failure of a
103: rule or a result. A low value indicates a minor failure,
104: while a high value indicates a sever failure. The scale of
105: the severity is arbitrary chosen by the manager
106: application.
107: This textual convention represents the value of a severity
108: which is configured by the manager."
109: SYNTAX Unsigned32 (0..4294967293)
110:
111: SeverityReturned ::= TEXTUAL-CONVENTION
111: warning -
warning: type `SeverityReturned' has no format specification
112: STATUS current
113: DESCRIPTION
114: "The severity value measures the gravity of a failure of a
115: rule or a result. A low value indicates a minor failure,
116: while a high value indicates a sever failure. The scale of
117: the severity is arbitrary chosen by the manager
118: application.
119: This textual convention represents the value of a severity
120: which is set by the device after the performance of a rule.
121: If the rule has been correctly performed, the value is
122: equal to the severity configured for the rule. If the rule
123: has not been performed because the monitored object
124: couldn't be accessed, then this values is set to
125: 4294967295. If the rule has not been performed due to a
126: lack of resources, then this value is set to 4294967294."
127: SYNTAX Unsigned32
128:
129: --
130: -- main components of this MIB module
131: --
132:
133: checkObjects OBJECT IDENTIFIER ::= { checkMIB 1 }
134: checkNotifications OBJECT IDENTIFIER ::= { checkMIB 2 }
135: checkConformance OBJECT IDENTIFIER ::= { checkMIB 3 }
136:
137: --
138: -- Capabilities group
139: --
140: -- The capabilities group contains a set of managed
141: -- objects describing the capabilities of the CHECK-MIB
142: -- implementation.
143: --
144:
145: checkCapabilities OBJECT IDENTIFIER ::= { checkObjects 1 }
146:
147: checkCapabMinCheckInterval OBJECT-TYPE
148: SYNTAX TimeTicks
149: UNITS "centi-seconds"
150: MAX-ACCESS read-only
151: STATUS current
152: DESCRIPTION
153: "The minimum interval that can be scheduled between two
154: performances of the same check defined in the
155: checkResultTable using the object checkResultInterval.
156:
157: This value is the minimum value allowed for the object
158: checkResultInterval of the checkResultTable."
159: ::= { checkCapabilities 1 }
160:
161: checkCapabMaxResults OBJECT-TYPE
162: SYNTAX Unsigned32
163: MAX-ACCESS read-only
164: STATUS current
165: DESCRIPTION
166: "The maximum number of entries supported in the
167: checkResultTable. A value of 0 indicates that
168: there is no fixed limitation.
169:
170: Creating a new row in the checkResultTable with the
171: object checkResultRowStatus after the maximum number
172: of entries supported, leads to a resourceUnavailable
173: error."
174: ::= { checkCapabilities 2 }
175:
176: checkCapabMaxRules OBJECT-TYPE
177: SYNTAX Unsigned32
178: MAX-ACCESS read-only
179: STATUS current
180: DESCRIPTION
181: "The maximum number of entries supported in the
182: checkRuleTable. A value of 0 indicates that there
183: is no fixed limitation.
184:
185: Creating a new row in the checkRuleTable with the
186: object checkRuleRowStatus after the maximum number
187: of entries supported, leads to a resourceUnavailable
188: error."
189: ::= { checkCapabilities 3 }
190:
191: --
192: -- Control group
193: --
194: -- The control group contains managed objects controlling
195: -- the operational status of the check MIB implementation.
196: --
197:
198: checkControl OBJECT IDENTIFIER ::= { checkObjects 2 }
199:
200: checkCtrlAdminStatus OBJECT-TYPE
201: SYNTAX INTEGER {
202: up(1), -- performing checks
203: silent(2), -- no notifications sent
204: down(3) -- all checks disabled
205: }
206: MAX-ACCESS read-write
207: STATUS current
208: DESCRIPTION
209: "The desidered state of the checking engine of the
210: Check MIB implementation. Setting this object to up(1)
211: indicates a request for performing all checks as defined
212: in the checkResultTable and the checkRuleTable performed.
213: Setting this object to silent(2) indicates that all the
214: checks defined in checkResultTable must be performed, but
215: no notification must be sent by the Check MIB
216: implementation. Setting this object to down(3) indicates
217: a request for performing o more tests.
218:
219: When retrieved, the object returns the last value written
220: to it, except after system boot when it returns the value
221: up(1)."
222: DEFVAL { up }
223: ::= { checkControl 1 }
224:
225: checkCtrlOperStatus OBJECT-TYPE
226: SYNTAX INTEGER {
227: up(1), -- performing checks
228: silent(2), -- no notifications sent
229: down(3), -- all checks disabled
230: flushing(4) -- finishing checks already started
231: }
232: MAX-ACCESS read-only
233: STATUS current
234: DESCRIPTION
235: "The current operational state of the Check MIB
236: implementation. The up(1) state indicates that all checks
237: defined in the checkResultTable and the checkRuleTable are
238: performed. The silent(2) state indicates that all checks
239: are performed as defined in the checkResultTable and the
240: checkRuleTable, but no notification is sent by the Check
241: MIB implementation. The down(3) state indicates that no
242: check is performed. The flushing(4) state indicates that
243: the checkCtrlAdminStatus has been set to down(3) and the
244: managed node is completing the performance of checks that
245: were scheduled before checkCtrlAdminStatus was set to
246: down(3). If the value of checkCtrlAdminStatus does not
247: change again before these checks are completed, then the
248: value of checkCtrlOperStatus will change to down(3) after
249: the checks are completed.
250:
251: After a system re-initialization, the Check MIB
252: implementation starts up with this object set to up(1)."
253: ::= { checkControl 2 }
254:
255: --
256: -- Result group
257: --
258: -- The Result group contains the objects to define the checks
259: -- performed on the managed node. The checks are organized
260: -- in the checkResultTable.
261: --
262:
263: checkResultTable OBJECT-TYPE
264: SYNTAX SEQUENCE OF CheckResultEntry
265: MAX-ACCESS not-accessible
266: STATUS current
267: DESCRIPTION
268: "This table contains the definitions of the checks
269: to be performed by the Check MIB implementation.
270:
271: Each row defines one check and contains the
272: parameters controlling the performance of the check
273: as well as the result of the check.
274:
275: The operations performed by each check are defined as
276: rules in the checkRuleTable."
277: ::= { checkObjects 3 }
278:
279: checkResultEntry OBJECT-TYPE
280: SYNTAX CheckResultEntry
281: MAX-ACCESS not-accessible
282: STATUS current
283: DESCRIPTION
284: "An entry defining a check. Each entry is indexed by
285: the string checkResultName, which represents the name
286: of the check. An entry can be created with the object
287: checkResultRowStatus only with the createAndWait operation.
288: A check is never performed if its entry is in the
289: notInService status. Objects in an entry marked as
290: read-create can be modified only when the entry is in
291: notInService status."
292: INDEX { checkResultName }
293: ::= { checkResultTable 1 }
294:
295: CheckResultEntry ::= SEQUENCE {
296: checkResultName SnmpAdminString,
297: checkResultSeverity SeverityReturned,
298: checkResultSize Unsigned32,
299: checkResultTime TimeStamp,
300: checkResultInterval TimeInterval,
301: checkResultSeverityThreshold SeverityConfigured,
302: checkResultStorageType StorageType,
303: checkResultRowStatus RowStatus
304: }
305:
306: checkResultName OBJECT-TYPE
307: SYNTAX SnmpAdminString (SIZE (0..32))
308: MAX-ACCESS not-accessible
309: STATUS current
310: DESCRIPTION
311: "A name describing the check. Since the name serves as
312: table index, it must be unique for each row in the table.
313: The name of a check is chosen arbitrary by the manager
314: creating the row in the checkResultTable, but some
315: suggestions are given to offer a common semantic
316: among different managers.
317:
318: The name should give a brief description of the check
319: defined in the row. In particular it is recommended
320: that the name indicates:
321: - the name of the manager who defined the row.
322: - a label describing the check."
323: ::= { checkResultEntry 1 }
324:
325: checkResultSeverity OBJECT-TYPE
326: SYNTAX SeverityReturned
327: MAX-ACCESS read-only
328: STATUS current
329: DESCRIPTION
330: "Each time the check defined by this entry (and the
331: corresponding entries of the checkRuleTable) is performed,
332: this object is set to to the maximum value of all
333: checkRuleSeverity objects in corresponding entries of the
334: checkRuleTable for which the check failed. If the check
335: passes for all corresponding rules, then the value of
336: object checkResultSeverity is 0.
337:
338: If the object checkResultInterval contains the value 0,
339: then the check is performed when the value of
340: checkResultSeverity is retrieved by a manager. If the
341: object checkResultInterval contains a value greater than 0,
342: then the check is performed automatically by the managed
343: node and a read access by a manager just returns the value
344: computed at the last scheduled check.
345:
346: Each time object checkResultSeverity is set, the value of
347: object checkResultTime in the corresponding entry is
348: set to the current time, and the value of object
349: checkResultSize is set to the number of corresponding
350: entries in the checkRuleTable for which the check failed.
351:
352: If no check has been performed so far, then the value
353: of this object is 0."
354: ::= { checkResultEntry 2 }
355:
356: checkResultSize OBJECT-TYPE
357: SYNTAX Unsigned32
358: MAX-ACCESS read-only
359: STATUS current
360: DESCRIPTION
361: "The number of rules defined in corresponding entries of the
362: checkFailureTable for which the check failed when it was
363: performed last.
364:
365: If no check has been performed so far, then the value
366: of this object is 0."
367: ::= { checkResultEntry 3 }
368:
369: checkResultTime OBJECT-TYPE
370: SYNTAX TimeStamp
371: MAX-ACCESS read-only
372: STATUS current
373: DESCRIPTION
374: "A timestamp indicating the time when the last performance
375: of the check defined in this row was completed.
376:
377: If no check has been performed so far, then the value of
378: this object is 0. Note that 0 is a valid timestamp."
379: ::= { checkResultEntry 4 }
380:
381: checkResultInterval OBJECT-TYPE
382: SYNTAX TimeInterval
383: UNITS "centi-seconds"
384: MAX-ACCESS read-create
385: STATUS current
386: DESCRIPTION
387: "The interval between two performances of the check
388: defined in this row.
389:
390: When this object is set to a value greater than 0,
391: then the check is performed regularly with the number
392: of centi-seconds indicated by this object between two
393: performances. When this object is successfully set
394: to a value greater than 0, then the check is not
395: performed immediately. The first check is performed
396: after the number of centi-seconds specified by the
397: new value of the object. If a performance is scheduled
398: to start before the previous one has been completed,
399: then the previous check will be completed and the
400: scheduled check will be skipped.
401:
402: If the number of this object is 0, then the check is
403: performed only on request when the value of the object
404: checkResultSeverity is retrieved by a manager.
405:
406: A set operation on this object may lead to an
407: inconsistentValue error in two cases:
408: - if the vale passed is greater than 0 but less
409: than the value of checkCapabMinCheckInterval;
410: - if the value passed is greater than 0 and the
411: check defined in this row includes rules with
412: delta operations."
413: DEFVAL { 0 }
414: ::= { checkResultEntry 5 }
415:
416: checkResultSeverityThreshold OBJECT-TYPE
417: SYNTAX SeverityConfigured
418: MAX-ACCESS read-only
419: STATUS current
420: DESCRIPTION
421: "This object serves for sending notifications in
422: case of failures occurred in the check defined
423: in this row.
424:
425: If the value of this object is set to 0, then no
426: notification is sent to the manager even if some
427: rule defined for the check fails.
428: Otherwise, if the performance of a check leads to
429: a value of the object checkResultSeverity that is
430: equal to or greater than the value of the object
431: checkResultSeverityThreshold, then a notification
432: is sent. The notification is an instance of
433: checkResultFailed."
434: DEFVAL { 0 }
435: ::= { checkResultEntry 6 }
436:
437: checkResultStorageType OBJECT-TYPE
438: SYNTAX StorageType
439: MAX-ACCESS read-create
440: STATUS current
441: DESCRIPTION
442: "The value of this object indicates the storage type
443: of this entry in the checkResultTable and of all
444: corresponding entries in the checkRuleTable. The value
445: of this object indicates whether the entries are stored
446: in volatile memory and lost upon reboot or if they
447: are backed up by non-volatile or permanent storage.
448:
449: If checkResultStorageType has the value permanent(4),
450: then all objects whose MAX-ACCESS value is read-write
451: can be modified, but the row cannot be deleted. All the
452: objects in corresponding entries of the checkRuleTable
453: whose MAX-ACCESS is read-create are instead read-only with
454: the exception of the checkRuleRowStatus.
455: Attempts to set this object to permanent(4) will always
456: fail with an inconsistentValue error."
457: DEFVAL { volatile }
458: ::= { checkResultEntry 7 }
459:
460: checkResultRowStatus OBJECT-TYPE
461: SYNTAX RowStatus
462: MAX-ACCESS read-create
463: STATUS current
464: DESCRIPTION
465: "This object allows to create and delete rows in the
466: table. The value createAndGo(4) is not allowed and an
467: wrongValue error is returned when attempting to set it.
468:
469: Objects of the same row can be modified only when
470: checkResultRowStatus has the notInService(2) value and
471: set operations on objects of a row in active(1) status
472: result to inconsistentValue. A change of the value of the
473: checkResultRowStatus object is propagated to the
474: checkRuleRowStatus of all the related entries in the
475: checkRuleTable (those indexed by the same checkResultName);
476: if the change of the value of a checkRuleRowStatus object
477: results in an inconsistentValue error, then this error is
478: returned to the manager while setting the value of this
479: checkResultRowStatus.
480:
481: An attempt to set the value of this object to active(1),
482: causes the following actions:
483: - all the related entries in the checkRuleTable become
484: active; if an attempt to activate an entry results in
485: an inconsistentValue error, then this error is returned
486: to the manager and further action is taken;
487: - all the objects of this row become read-only, with the
488: exception of checkResultRowStatus;
489: - if the value of checkResultInterval is greater than 0,
490: then the timer to schedule the performances of the
491: check starts immediately, but the first check will be
492: performed only but after the time specified by
493: checkResultInterval; for rules defining delta operations
494: the values of managed objects to be checked are read
495: immediately, so that delta operations can be computed at
496: the first scheduled check.
497: - if the value of checkResultInterval is equal to 0, then
498: retrieving the value of checkResultSeverity forces the
499: performance of the check.
500: When a row is put in the notInService status, then the
501: following actions are taken:
502: - all the objects of the row marked as read-create can be
503: modified;
504: - all the related entries in the checkRuleTable become
505: notInService;
506: - all scheduled future checks are canceled.
507: - retrieving the value of checkResultSeverity returns
508: always the value computed at the last check.
509: When a row is deleted, then if an alarm was configured, it
510: is removed, and all the related entries in checkRuleTable
511: are deleted (eventually freeing the resources allocated
512: for delta operations defined by those rules).
513:
514: Creating a new row when the table reached the maximum
515: number of entries defined in checkCapabMaxResults
516: results in a resourceUnavailable error."
517: ::= { checkResultEntry 8 }
518: --
519: -- Check Rule group
520: --
521: -- The Rule group contains the objects to define the operations
522: -- performed for each check. The operations are organized
523: -- in the checkRuleTable.
524: --
525:
526: checkRuleTable OBJECT-TYPE
527: SYNTAX SEQUENCE OF CheckRuleEntry
528: MAX-ACCESS not-accessible
529: STATUS current
530: DESCRIPTION
531: "This table contains the definitions of the operations
532: performed for checks defined in the checkResultTable.
533:
534: Each row defines an operation on the value of a managed
535: object. The operation consists in a comparison of the
536: value of the managed object with a control value specified
537: in checkRuleValue. The relationship expected between the
538: two values is indicated by checkRuleOperation.
539: It is possible to reference in a single rule either a
540: single instances object or all the instance of a columnar
541: object of a table.
542:
543: For each operation, a severity is set which indicates
544: the gravity of the failure of the comparison operation.
545:
546: The storage type of entries in this table is determined
547: by the value of object checkResultStorageType in the
548: corresponding entry of the checkResultTable."
549: ::= { checkObjects 4 }
550:
551: checkRuleEntry OBJECT-TYPE
552: SYNTAX CheckRuleEntry
553: MAX-ACCESS not-accessible
554: STATUS current
555: DESCRIPTION
556: "An entry defining a rule for a check defined
557: in the checkResultTable. Each entry is indexed by:
558: 1. the checkResultName of the check which includes
559: the operation defined by the entry;
560: 2. the string checkRuleName, which represents the
561: name of the operation.
562: An entry can be created with the object
563: checkResultRowStatus only with the createAndWait operation.
564: A rule is never considered in the performance of the
565: check defined in the related checkResultEntry, if its
566: entry is in the notInService status. Objects in an entry
567: can be modified only when the entry is in
568: notInService status."
569: INDEX { checkResultName, checkRuleName }
570: ::= { checkRuleTable 1 }
571:
572: CheckRuleEntry ::= SEQUENCE {
573: checkRuleName SnmpAdminString,
574: checkRuleOid OBJECT IDENTIFIER,
575: checkRuleValue RuleValue,
576: checkRuleOperation INTEGER,
577: checkRuleSeverity SeverityConfigured,
578: checkRuleRowStatus RowStatus
579: }
580:
581: checkRuleName OBJECT-TYPE
582: SYNTAX SnmpAdminString (SIZE (0..32))
583: MAX-ACCESS not-accessible
584: STATUS current
585: DESCRIPTION
586: "A name describing the rule. Since the name serves as
587: table index coupled with the value of checkResultName,
588: it must be unique per each row in the table
589: inside the scope of checkResultName.
590: The name of a rule is chosen by the manager creating
591: the row, but some suggestions are given to offer a
592: common semantic between different managers.
593:
594: The name should give a brief description of the rule
595: defined in the row. In particular it is recommended
596: that the name indicates the name of the managed object
597: controlled by the rule."
598: ::= { checkRuleEntry 2 }
599:
600: checkRuleOid OBJECT-TYPE
601: SYNTAX OBJECT IDENTIFIER
602: MAX-ACCESS read-create
603: STATUS current
604: DESCRIPTION
605: "The OID indicating the managed object to be checked.
606: The OID must be:
607: - the OID of an instance object: in this case the
608: rule is applied to that object;
609: - the OID of a columnar object (missing of the instance
610: sub-identifier): in this case the rule is applied to all
611: the instances of the columnar object.
612:
613: The validity of the OID is verified when the manager tries
614: to activate the row, following these actions:
615: - the agent should try to read the value of the object
616: referenced by the OID (like a snmp get operation); if the
617: value is read, the OID refers to a valid instance object
618: and the type of the object should be registered inside
619: the agent;
620: - if the object is not available, then the agent should try
621: to read the next object in the lexicographical order (like
622: a snmp get next operation); if the OID returned is a child
623: node of the checkRuleOid, then the latter is assumed to be
624: a columnar object and the type of the object read is
625: stored inside the agent;
626: - if no object could be found or the OID returned is not a
627: leaf of checkRuleOid, then an inconsistentValue error is
628: return to the attempt of activating the row.
629: When setting the OID of a columnar object, at least one
630: instance object must exist at the moment of the activation
631: of the row, so that the validity test of OID passes and the
632: row is activated.
633:
634: If the OID references an instance object that is removed or
635: become inaccessible after the row has been activated, then
636: rule automatically fails with a severity equal to
637: 4294967295. If the OID value references a columnar object
638: and no instance exists after the first performance, then
639: the rule doesn't fail."
640: DEFVAL { zeroDotZero }
641: ::= { checkRuleEntry 3 }
642:
643: checkRuleValue OBJECT-TYPE
644: SYNTAX RuleValue
645: MAX-ACCESS read-create
646: STATUS current
647: DESCRIPTION
648: "The control value compared to the value of the managed
649: object indicated by checkRuleOid.
650:
651: The control value encoded in this object must be consistent
652: with the type of the object referenced by the checkRuleOid.
653: The control value is considered inconsistent if:
654: - the object type is INTEGER, Unsigned32, TimeTicks,
655: Gauge32, Counter32, IpAddress and the size of the
656: checkRuleValue is different from 4;
657: - the object type is Counter64 and the size of the
658: checkRuleValue is different from 8;
659: - the object type is OBJECT IDENTIFIER and the size of the
660: checkRuleValue is not a multiple of 4.
661:
662: The consistency between the control value and the object
663: type is verified when the rule is activated; if the
664: consistency test fails, the attempt to active the row
665: results in an inconsistentValue error."
666: DEFVAL { "" }
667: ::= { checkRuleEntry 4 }
668:
669: checkRuleOperation OBJECT-TYPE
670: SYNTAX INTEGER {
671: noOperation(0),
672: unequal(1), equal(2),
673: less(3), lessOrEqual(4),
674: greater(5), greaterOrEqual(6),
675: delta(7)
676: }
677: MAX-ACCESS read-write
678: STATUS current
679: DESCRIPTION
680: "The value of this object specifies the comparison
681: operation to be performed between the value of the
682: managed object indicated by checkRuleOid and the
683: value indicated by checkRuleValue. Some operations
684: cannot be applied to all the types of object. If
685: the value of the checkRuleOperation is inconsistent
686: with the type of the object indicated by checkRuleOid,
687: then an attempt to activate the row results in an
688: inconsistentValue error.
689:
690: The value 0 can be configured for all the object
691: types and means that no operation is performed and
692: the rule never fails.
693:
694: When the type of the object indicated by checkRuleOid
695: is IpAddress, BITS, OBJECT IDENTIFIER then only the value
696: equal(2) can be configured. For the IpAddress, the value
697: of the object indicated by checkRuleOid is compared byte
698: by byte with the value of checkRuleValue and the rule
699: doesn't fail if all the bytes are matched. For the
700: OBJECT IDENTIFIER, the rule doesn't fail if checkRuleValue
701: encodes an OID of the same dimension of the value of the
702: object indicated by checkRuleOid and the two OIDs are
703: equal. For the BITS, the rule doesn't fail if the
704: checkRuleValue encodes a bitstring long at least as the
705: number of the named bits and all the named bits are
706: matched with that bitstring.
707:
708: When the type of the object indicated by checkRuleOid
709: is INTEGER, Integer32, Unsigned32, Counter32, Counter64,
710: TimeTicks, Gauge32, all the values from 1 to 6 can be
711: configured. These values define simple mathematical
712: operations: the rule doesn't fail if the the value
713: of the object indicated by checkRuleOid is, respectively,
714: !=, =, <, <=, >, >= than the value of checkRuleValue.
715:
716: A value of of delta(7) can be configured only for
717: Counter32, Counter64, Gauge32; moreover it is permitted
718: only if the check including the rule is performed
719: automatically and thus its value of checkResultInterval
720: greater than 0, otherwise an inconsistentValue error is
721: returned. For a delta operation, each time the rule is
722: performed, the difference between the actual value of the
723: managed object and its value at the last performance is
724: considered and the rule doesn't fail if the difference is
725: <= than the value of the checkRuleValue. If the actual
726: value is less than the previous one, then the difference is
727: augmented with the value 4294967295, like as the managed
728: object reached its maximum value and it has been resetted.
729:
730: Each time the new value of the managed object must be
731: stored by the device in an internal buffer. The buffer
732: must be handled so that when a new managed object is
733: controlled, a new entry is allocated for it. If no more
734: entries are available, then the rule fails with severity
735: 4294967294.
736: If a managed object for which an entry was previously
737: allocated, doesn't exist when a new execution of the delta
738: operation is performed, its entry should be removed.
739: When a new entry is allocated for a new managed object,
740: its value is stored in the entry, but the operation is not
741: computed and the rule doesn't fail; the delta operation
742: is normally computed only from the second time."
743: DEFVAL { noOperation }
744: ::= { checkRuleEntry 5 }
745:
746: checkRuleSeverity OBJECT-TYPE
747: SYNTAX SeverityConfigured
748: MAX-ACCESS read-create
749: STATUS current
750: DESCRIPTION
751: "The severity of a failure of the operation specified by
752: the row for the whole check.
753:
754: A severity of 0 indicates that a failure of the
755: operation is irrelevant."
756: DEFVAL { 1 }
757: ::= { checkRuleEntry 6 }
758:
759: checkRuleRowStatus OBJECT-TYPE
760: SYNTAX RowStatus
761: MAX-ACCESS read-create
762: STATUS current
763: DESCRIPTION
764: "The control to create and delete rows. It is possible
765: to create new rules only for a check which is already
766: defined in the CHECK-MIB. Creating a new row indexed
767: by a value of checkResultName which doesn't exist
768: already in any row of the checkResultTable results in a
769: inconsistentName error. The value createAndGo(4) is not
770: allowed and an wrongValue error is returned when attempting
771: to set it.
772:
773: Objects of the same row can be modified only when
774: checkRuleRowStatus has the notInService(2) value and
775: set operations on objects of a row in active(1) status
776: result to inconsistentValue.
777: A row in the notInService status is not considered in the
778: performance of the check defined by the related entry in
779: the checkResultTable (the one indexed by the same
780: checkResultName).
781:
782: An attempt to set the value of this object to active(1),
783: causes the following actions:
784: - the validity of the value of checkRuleOid is verified;
785: if it fails, then an inconsistentValue error is returned;
786: - the consistency between the type of the object referenced
787: by checkRuleOid and the value of checkRuleOperation is
788: verified; if it fails, then an inconsistentValue error is
789: returned;
790: - the consistency between the type of the object referenced
791: by checkRuleOid and the value of checkRuleValue is
792: verified; if it fails, then an inconsistentValue error is
793: returned;
794: - if all the tests pass, the row is activated.
795:
796: An attempt to create a new row when the table has reached
797: the maximum number of entries defined in checkCapabMaxRules
798: results in a resourceUnavailable error.
799: An attempt to create a new row in the table with the
800: corresponding entry in the checkResultTable having the
801: storage type permanent(4) results in an inconsistentValue
802: error."
803: ::= { checkRuleEntry 7 }
804:
805: --
806: -- Failure group
807: --
808: -- The Failure group contains the object describing the failures
809: -- of a check. The failures are organized in the checkFailureTable.
810: --
811: checkFailureTable OBJECT-TYPE
812: SYNTAX SEQUENCE OF CheckFailureEntry
813: MAX-ACCESS not-accessible
814: STATUS current
815: DESCRIPTION
816: "This table lists all the rules defined in the
817: checkRuleTable, which failed at the last
818: time the check including them has been performed.
819:
820: Entries only describe objects for which the last check
821: failed. Failures in checks before the last one are not
822: indicated."
823: ::= { checkObjects 5 }
824:
825: checkFailureEntry OBJECT-TYPE
826: SYNTAX CheckFailureEntry
827: MAX-ACCESS not-accessible
828: STATUS current
829: DESCRIPTION
830: "An entry referencing a failed rule.
831:
832: Each entry is indexed by:
833: 1. the checkResultName of the check including
834: the rule failed;
835: 2. the severity of the rule failed;
836: 3. The checkRuleName of the rule failed.
837:
838: The manager, after having read a value of
839: checkResultSeverity of a check different from 0, can
840: directly read the rule failed with the maximum severity by
841: retrieving the checkFailureOid with a get_next command
842: without specifying the checkRuleName."
843: INDEX { checkResultName, checkFailureSeverity, checkRuleName }
844: ::= { checkFailureTable 1 }
845:
846: CheckFailureEntry ::= SEQUENCE {
847: checkFailureSeverity SeverityReturned,
848: checkFailureOid OBJECT IDENTIFIER
849: }
850:
851: checkFailureSeverity OBJECT-TYPE
852: SYNTAX SeverityReturned
853: MAX-ACCESS not-accessible
854: STATUS current
855: DESCRIPTION
856: "The severity with which the rule failed."
857: ::= { checkFailureEntry 1}
858:
859: checkFailureOid OBJECT-TYPE
860: SYNTAX OBJECT IDENTIFIER
861: MAX-ACCESS read-only
862: STATUS current
863: DESCRIPTION
864: "The OID of the managed object for which a rule
865: failed.
866:
867: This value contains the value of checkRuleOid
868: of the rule failed."
869: ::= { checkFailureEntry 2 }
870:
871: --
872: -- Notifications. The definition of checkEvent makes notification
873: -- registrations reversible (see STD 58, RFC 2578, Section 8.5).
874: --
875:
876: checkEvent OBJECT IDENTIFIER ::= { checkNotifications 0 }
877:
878: checkFailed NOTIFICATION-TYPE
879: OBJECTS { checkResultSeverity }
880: STATUS current
881: DESCRIPTION
882: "This notification can be generated to report
883: that a check failed. The notification is generated each
884: time, the value of checkSeverityThreshold is greater than
885: 0 and the performance of a check results in a value of
886: checkResultSeverity that is greater than or equal to the
887: value of checkSeverityThreshold.
888:
889: The notification contains the checkResultSeverity of
890: the check failed."
891: ::= { checkEvent 1 }
892:
893: --
894: -- Conformance information
895: --
896:
897: checkCompliances OBJECT IDENTIFIER ::= { checkConformance 1 }
898: checkGroups OBJECT IDENTIFIER ::= { checkConformance 2 }
899:
900: --
901: -- Compliance statements
902: --
903: -- This is the CHECK-MIB compliance definition.
904: --
905:
906: checkCompliance MODULE-COMPLIANCE
907: STATUS current
908: DESCRIPTION
909: "The compliance statement for SNMP entities that
910: implement the CHECK-MIB."
911:
912: MODULE -- this module
913: MANDATORY-GROUPS {
914: checkCapabilitiesGroup,
915: checkControlGroup,
916: checkResultGroup,
917: checkRuleGroup,
918: checkFailureGroup,
919: checkNotificationsGroup
920: }
921: ::= { checkCompliances 1 }
922:
923: --
924: -- Groups statements
925: --
926: -- This is the definition of the objects group of the CHECK-MIB.
927: --
928:
929: checkCapabilitiesGroup OBJECT-GROUP
930: OBJECTS {
931: checkCapabMinCheckInterval,
932: checkCapabMaxResults,
933: checkCapabMaxRules
934: }
935: STATUS current
936: DESCRIPTION
937: "A collection of objects providing information about
938: the capabilities of the CHECK-MIB implementation."
939: ::= { checkGroups 1 }
940:
941: checkControlGroup OBJECT-GROUP
942: OBJECTS {
943: checkCtrlAdminStatus,
944: checkCtrlOperStatus
945: }
946: STATUS current
947: DESCRIPTION
948: "A collection of objects controlling the state of the
949: CHECK-MIB."
950: ::= { checkGroups 2 }
951:
952: checkResultGroup OBJECT-GROUP
953: OBJECTS {
954: checkResultSeverity,
955: checkResultSize,
956: checkResultTime,
957: checkResultInterval,
958: checkResultSeverityThreshold,
959: checkResultStorageType,
960: checkResultRowStatus
961: }
962: STATUS current
963: DESCRIPTION
964: "A collection of objects defining a check."
965: ::= { checkGroups 3 }
966:
967: checkRuleGroup OBJECT-GROUP
968: OBJECTS {
969: checkRuleOid,
970: checkRuleValue,
971: checkRuleOperation,
972: checkRuleSeverity,
973: checkRuleRowStatus
974: }
975: STATUS current
976: DESCRIPTION
977: "A collection of objects defining the operations
978: computed for each check."
979: ::= { checkGroups 4 }
980:
981: checkFailureGroup OBJECT-GROUP
982: OBJECTS {
983: checkFailureOid
984: }
985: STATUS current
986: DESCRIPTION
987: "A collection of objects indicating managed objects
988: for which a check operation failed."
989: ::= { checkGroups 5 }
990:
991: checkNotificationsGroup OBJECT-GROUP
991: error -
object group `checkNotificationsGroup' includes notification `checkFailed'
992: OBJECTS {
993: checkFailed
994: }
995: STATUS current
996: DESCRIPTION
997: "The notifications emitted by the CHECK-MIB."
998: ::= { checkGroups 6 }
999:
1000: END
1001:
1002: --
1003: -- Copyright (C) The Internet Society (2003). All Rights Reserved.
1004: --
1005: -- This document and translations of it may be copied and furnished to
1006: -- others, and derivative works that comment on or otherwise explain it
1007: -- or assist in its implmentation may be prepared, copied, published and
1008: -- distributed, in whole or in part, without restriction of any kind,
1009: -- provided that the above copyright notice and this paragraph are
1010: -- included on all such copies and derivative works. However, this
1011: -- document itself may not be modified in any way, such as by removing
1012: -- the copyright notice or references to the Internet Society or other
1013: -- Internet organizations, except as needed for the purpose of
1014: -- developing Internet standards in which case the procedures for
1015: -- copyrights defined in the Internet Standards process must be
1016: -- followed, or as required to translate it into languages other than
1017: -- English.
1018: --
1019: -- The limited permissions granted above are perpetual and will not be
1020: -- revoked by the Internet Society or its successors or assigns.
1021: --
1022: -- This document and the information contained herein is provided on an
1023: -- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
1024: -- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
1025: -- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
1026: -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
1027: -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1028: