Internet Engineering Task Force | R. Cole |
Internet-Draft | US Army CERDEC |
Intended status: Experimental | J. Macker |
Expires: June 11, 2015 | Naval Research Laboratory |
A. Bierman | |
YumaWorks, Inc. | |
December 8, 2014 |
Definition of Managed Objects for Performance Reporting
draft-ietf-manet-report-mib-04
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects for configuring autonomous report generation on any device that supports MIBs containing objects that resolve to type Integer32 (i.e., Integer32, Counter, Gauge, or TimeTicks). to be used for performance monitoring. This allows a management station to instruct a device to build off-line reports to be collected either through notifications to the management station or queried asynchronously by the management station. Hence, this capability allows network operators to reduce the SNMP polling traffic burden on Mobile Ad-Hoc and Disruption Tolerant Networks which is problematic of SNMP performance management applications.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 11, 2015.
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects for configuring autonomous, off-line report generation for performance monitoring on any device supporting MIBs containing variables that resolve to type Integer32 (i.e., Integer32, Counter, Gauge, or TimeTicks). This reportSampledMIB module allows for the report generation to occur on the same device as containing the referenced counter object. This should be useful to devices or networks where efficient use of bandwidth is of concern or where intermittent connectivity is common. Hence, the reportSampledMIB module is useful for devices managed over some Mobile Ad-Hoc Networks (MANETs) or Disruption Tolerant Networks (DTNs).
This version of the reportSampledMIB module offers one type of off-line reporting. The MIB offers a means to collect sampled measurements related to defined MIB objects. This type of reporting is contained in the reportSampledMibObjects. Other types of report data are possible, including statistical data. However, it was felt wise to focus on a more limited scope off-line reporting capability and gain experimental use and application prior to expending energy developing a more extensive off line reporting capability.
The reportSampledMIB module relies upon the dismanEventMIB module RFC 2981 [RFC2981] to monitor the progress of reports being developed within the reportSampledMIB module and to trigger an events, i.e., notifications containing reports, at the appropriate times. This is discussed below in more detail in the section entitled 'Relationship to the DISMAN-EVENT-MIB'. Further, more sophisticated performance objects for monitoring from the reportSampledMIB module can be defined through the dismanExpressionMIB module RFC 2982 [RFC2982]
For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410].
Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
The reportSampledMIB module references performance objects in other MIBs and generates off-line performance reports related to those referenced objects. The reportSampledMIB module can be coincident with the other MIB modules on the same device containing the referenced performance related object.
This section describes the management model for the reportSampledMIB module process.
The reportSampledMIB module objects are primarily contained within four tables. These are:
The below figure illustrates the four main tables within the reportSampledMIB module. Further, if the dismanEventMIB module is so configured to generate triggered notifications, the below figure highlights the 'boolean trigger' and the notification generation. The figure further illustrates the movement of completed Reports from the reportSampledCurrentReportsTable to the reportSampledHistoricalReportsTable upon Report Completion.
+---------------------------------------------------+ | reportSampledControlEntry | | { reportSampledStudyStudyIndex } | | | | | | reportSampledStudyNumberReportMeasurements------>----+ +---------------------------------------------------+ | (boolean +---------------------------------------------------+ trigger)->--+ | reportSampledCurrentReportsStatusEntry | | | | { reportSampledStudyStudyIndex } | | | | | | | | | | | | reportSampledNumberOfMeasurementsForCurrentReport--->---+ | +---------------------------------------------------+ | V +---------------------------------------------------+ | | reportSampledCurrentReportsEntry | | | { reportSampledStudyStudyIndex, |---->--------+ | reportSampledCurrentMeasurementIndex } | | | |-->---+ | +---------------------------------------------------+ | | (move) | +---------------------------------------------------+ | | | reportSampledHistoricalReportsEntry | | | | { reportSampledStudyStudyIndex, | | | | reportSampledHistoricalReportIndex, |<--+ | | reportSampledHistoricalMeasurementIndex } | | | | | +---------------------------------------------------+ | V (notifications)
The following definitions apply throughout this document:
This section presents the structure of the reportSampledMIB module. The objects are arranged into the following groups:
No textual conventions are defined in the reportSampledMIB module.
The reportSampledMIB module contains four tables which control and record data related to the creation, notification and storage of Reports. Specifically:
The reportSampledMIB module's tables are indexed via the following constructs:
These tables and their indexing are:
The text of this section specifies the relationship of the MIB modules contained in this document to other standards, particularly to standards containing other MIB modules. Definitions imported from other MIB modules and other MIB modules that SHOULD be implemented in conjunction with the MIB module contained within this document are identified in this section.
The 'system' group in the SNMPv2-MIB [RFC3418] is defined as being mandatory for all systems, and the objects apply to the entity as a whole. The 'system' group provides identification of the management entity and certain other system-wide data. The reportSampledMIB module does not duplicate those objects.
The reportSampledMIB module is closely related to and was inspired by the the RMON2-MIB module [RFC2021] usrHistoryGroup. The use of control tables to establish the periodic collection of measurement data for creation of performance reports was pulled from earlier work on the RMON2-MIB module.
The reportSampledMIB module was developed to fundamentally work with the dismanEventMIB module RFC 2981 [RFC2981] in order to offer a complete and efficient off-line reporting capability for bandwidth challenged networks such as Mobile Ad-Hoc Networks (MANETs). This is accomplished through defining trigger test and associated notification actions indexed by mteOwner, mteTriggerName, mteObjectsName and mteEventName within the dismanEventMIB module. Specifically (within the dismanEventMIB module):
In the mteTriggerTable and specifically by setting
In the mteTriggerBooleanTable and specifically by setting
In the mteObjectsTable and specifically by setting
In the mteEventTable and specifically by setting
In the mteEventNotificationTable and specifically by setting
These settings within the dismanEventMIB module will result in notifications generated by the dismanEventMIB module which will carry the recently completed reportSampledMIB module reports.
Set up properly, the dismanEventMIB module will trigger a notification each time the reportSampledCurrentTable contains a completed Report. This Report will be sent in a notification containing three columns of the reportSampledCurrentTable, i.e., the Value, the Time and the Status, due to the use of wildcarding within the dismanEventMIB module.
Simultaneously, the reportSampledMIB module will move the completed Current Report into the reportSampledHistoricalReportsTable and restart collection for the next Report within the reportSampledCurrentReportsTable.
In conjunction with the dismanExpressionMIB module RFC 2982 [RFC2982], the reportSampledMIB module can be used to develop reports on relatively sophisticated object expressions.
Citations are not permitted within a MIB module, but any module mentioned in an IMPORTS clause or document mentioned in a REFERENCE clause is a Normative reference, and must be cited someplace within the narrative sections. Therefore, the imported items in this MIB module, such as Textual Conventions, that are not already cited, are cited in this section. Since relationships to other MIB modules should be described in the narrative text, this section will cite modules from which Textual Conventions are imported.
The reportSampledMIB module IMPORTS objects from SNMPv2-SMI [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], SNMP-FRAMEWORK-MIB [RFC3411], and SNMPv2-MIB [RFC3418].
REPORT-SAMPLED-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Gauge32, Integer32, experimental FROM SNMPv2-SMI -- [RFC2578] TimeStamp FROM SNMPv2-TC -- [RFC2579] sysUpTime FROM SNMPv2-MIB -- [RFC3418] SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- [RFC3411] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] ; reportSampledMIB MODULE-IDENTITY LAST-UPDATED "201412011300Z" -- December 01, 2014 ORGANIZATION "IETF MANET Working Group" CONTACT-INFO "WG E-Mail: manet@ietf.org WG Chairs: sratliff@cisco.com jmacker@nrl.navy.mil Editors: Robert G. Cole US Army CERDEC 6010 Frankford Road Aberdeen Proving Ground, MD 21005 USA +1 443 395-8744 robert.g.cole@us.army.mil Joseph Macker Naval Research Laboratory Washington, D.C. 20375 USA macker@itd.nrl.navy.mil Andy Bierman YumaWorks, Inc. andy@yumaworks.com" DESCRIPTION "This MIB module contains managed object definitions for the autonmous reporting of performance object counters. Copyright (C) The IETF Trust (2009). This version of this MIB module is part of RFC xxxx; see the RFC itself for full legal notices." -- Revision History REVISION "201412011300Z" -- December 01, 2014 DESCRIPTION "The ninth draft of this MIB module published as draft-ietf-manet-report-mib-04.txt. Revisions to this draft include a) A major restructuring of the MIB module in order to leverage the dismanEventMIB module for the automatic notification of Completed Reports. b) Efforts to incorporate this MIB module into the DISMAN management architecture. " REVISION "201211051300Z" -- November 05, 2012 DESCRIPTION "The seventh draft of this MIB module published as draft-ietf-manet-report-mib-03.txt. Revisions to this draft include a) Added a 'Tables and Indexing' section to the body of this document. b) Added an 'Applicability Statement' section to the body of this document." REVISION "201201311300Z" -- January 31, 2012 DESCRIPTION "The sixth draft of this MIB module published as draft-ietf-manet-report-mib-02.txt. Revisions to this draft include a) Pulled the statistical and historical reporting from the MIB module and left only the sampled reporting, in order to greatly simplify the first instance of this reporting MIB module. b) Renamed the module, the reportSampledMIB module. c) Leveraged the RMON2-MIB module more effectively through the use of the AUGMENTS clause. d) Changed the module to 'experimental'." REVISION "201102171300Z" -- February 17, 2011 DESCRIPTION "The fifth draft of this MIB module published as draft-ietf-manet-report-mib-01.txt. This document has been promoted to a MANET Working Group draft. Revisions to this draft include a) Proposed changes to the statsReport table to simplify communications between device and mgmt application, b) Added Notifications, c) Changed the reporting structure of the Sampled and the History reporting to align with the structure of the Statistics reports for the purpose of allowing for efficient notification and collection of data reports. d) Ran through smilint to clean up all errors and most warning. A few still remain." REVISION "201007051300Z" -- July 05, 2010 DESCRIPTION "The fourth draft of this MIB module published as draft-ietf-manet-report-mib-00.txt. This document has been promoted to a MANET Working Group draft. Significant revisions to this draft include a) added support for proxy configurations through the addition of address objects associated with the referenced counter objects associated with the performance reports." REVISION "201003021300Z" -- March 02, 2010 DESCRIPTION "The third draft of this MIB module published as draft-cole-manet-report-mib-02.txt. Significant revisions to this draft include a) changed naming of usrHistoryGroup to sampledGroup and b) added a historyGroup." REVISION "200910251300Z" -- October 25, 2009 DESCRIPTION "The second draft of this MIB module published as draft-cole-manet-report-mib-01.txt. Significant revisions to this draft include a) the inclusion of raw data collection borrow blatently from the usrHistory Group within RMON2, b) the deletion of the CurrentHistoryTable from version -00, c) modifications to the overall structure of the MIB, and d) the definition of various Compliance options for implementations related to this MIB." REVISION "200904281300Z" -- April 28, 2009 DESCRIPTION "Initial draft of this MIB module published as draft-cole-manet-report-mib-00.txt." -- RFC-Editor assigns XXXX ::= { experimental 998 } -- to be assigned by IANA -- TEXTUAL CONVENTIONs -- None -- -- Top-Level Object Identifier Assignments -- reportSampledMibNotifications OBJECT IDENTIFIER ::= { reportSampledMIB 0 } reportSampledMibObjects OBJECT IDENTIFIER ::= { reportSampledMIB 1 } reportSampledMibConformance OBJECT IDENTIFIER ::= { reportSampledMIB 2 } -- The reportSampledMibObjects assignments are : -- reportSampledControlTable - 1 -- reportSampledCurrentReportsStatusTable - 2 -- reportSampledCurrentReportsTable - 3 -- reportSampledHistoricalReportsTable - 4 -- -- The Control Table -- reportSampledControlTable OBJECT-TYPE SYNTAX SEQUENCE OF reportSampledControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table to configure measurement Studies which are comprised of multiple Reports." REFERENCE "tbd." ::= { reportSampledMibObjects 1 } reportSampledControlEntry OBJECT-TYPE SYNTAX ReportSampledControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of parameters that control the creation of off-line performance Studies. The objects in this table are persistent and when written the device SHOULD save the change to non-volatile storage. For further information on the storage behavior for these objects, refer to the description for the reportSampledStudyEntryStatus object." INDEX { reportSampledStudyIndex } ::= { reportSampledControlTable 1 } ReportSampledControlEntry ::= SEQUENCE { reportSampledStudyIndex Integer32, reportSampledStudyOwner SnmpAdminString, reportSampledStudyName SnmpAdminString, reportSampledStudyOid Integer32, reportSampledStudySamplingInterval Integer32, reportSampledStudyNumberReportMeasurements Integer32, reportSampledStudyMaximumNumberOfHistoricalReports Integer32, reportSampledStudyEntryStatus RowStatus } reportSampledStudyIndex OBJECT-TYPE SYNTAX Integer32 (1..127) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique index that identifies a specific performace Study. Each Study is comprised of multiple Reports. Each Report is comprised of multiple atomic Measurements on a specified object." ::= { reportSampledControlEntry 1 } reportSampledStudyOwner OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "The owner of the Study." DEFVAL { ''H } ::= { reportSampledControlEntry 2 } reportSampledStudyName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "The name of the Study." DEFVAL { ''H } ::= { reportSampledControlEntry 3 } reportSampledStudyOid OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "The target OID of the Study. Each Study makes periodic Measurements on a specified object which is local to this device. Currently, the objects of study are limited to objects that resolve to Integer32 (i.e., Integer32, Counter, Gauge, or TimeTicks)." ::= { reportSampledControlEntry 4 } reportSampledStudySamplingInterval OBJECT-TYPE SYNTAX Integer32 (1..2147483647) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The time (in seconds) between sampled Measurement instances." DEFVAL { 10 } ::= { reportSampledControlEntry 5 } reportSampledStudyNumberReportMeasurements OBJECT-TYPE SYNTAX Integer32 (1..2147483647) UNITS "count" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of Meaurements per Report for this Study." DEFVAL { 10 } ::= { reportSampledControlEntry 6 } reportSampledStudyMaximumNumberOfHistoricalReports OBJECT-TYPE SYNTAX Integer32 (1..2147483647) UNITS "count" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of Historical Reports to archive locally for this specific Study. The Historical Reports are archived locally in the reportSampledHistoricalReportsTable (below)." DEFVAL { 10 } ::= { reportSampledControlEntry 7 } reportSampledStudyEntryStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object permits management of this table by facilitating actions such as row creation, construction, and destruction. The value of this object has no effect on whether other objects in this conceptual row can be modified. An entry may not exist in the 'active' state unless all objects in the entry have a defined appropriate value. For objects with DEFVAL clauses, the management station does not need to specify the value of these objects in order for the row to transit to the 'active' state; the default value for these objects is used. For objects that do not have DEFVAL clauses, then the network manager MUST specify the value of these objects prior to this row transitioning to the 'active' state. When this object transitions to 'active', all objects in this row SHOULD be written to non-volatile (stable) storage. Read-create objects in this row MAY be modified. When an object in a row with smfCfgIfRowStatus of 'active' is changed, then the updated value MUST be reflected in SMF and this new object value MUST be written to non-volatile storage. If this object is not equal to 'active', all associated entries in the reportSampledCurrentReportsStatusTable, the reportSampledCurrentReportsTable, and the reportSampledHistoricalReportsTable MUST be deleted." ::= { reportSampledControlEntry 8 } -- -- the Current Reports Status Table -- reportSampledCurrentReportsStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF reportSampledCurrentReportsStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table to tracking the progress of measurements of current reports in development. Of particular note is the object reportSampledNumberOfMeasurementsForCurrentReport which can be compared to the value of the object reportSampledStudyNumberReportMeasurements by the dismanEventMIB module and generate triggered notifications to the Study owner containing the recently Completed Reports." REFERENCE "tbd." ::= { reportSampledMibObjects 2 } reportSampledCurrentReportsStatusEntry OBJECT-TYPE SYNTAX ReportSampledCurrentReportsStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of parameters that track the status of current Reports in development." INDEX { reportSampledStudyIndex } ::= { reportSampledCurrentReportsStatusTable 1 } ReportSampledCurrentReportsStatusEntry ::= SEQUENCE { reportSampledNumberOfCurrentReport Integer32, reportSampledNumberOfMeasurementsForCurrentReport Integer32 } reportSampledNumberOfCurrentReport OBJECT-TYPE SYNTAX Integer32 (1..2147483647) UNITS "count" MAX-ACCESS read-only STATUS current DESCRIPTION "The number within the Study series of this current Report. For each new Report within the Study, this value MIUST increment by one. For the first Report in this Study, the initial value of this object MUST be set to one. The value MUST wrap back to one when the value has reached the maximum." ::= { reportSampledCurrentReportsStatusEntry 1 } reportSampledNumberOfMeasurementsForCurrentReport OBJECT-TYPE SYNTAX Integer32 (1..2147483647) UNITS "count" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Measurements collected so far for for this specific Report. The initial value of this object MUST be one. The value MUST increment be one for each attempted Measurement. The maximum value for this object is reportSampledStudyNumberReportMeasurements. Once this value is reached and the next Measurement is attempted, the Current Report is considered Completed, the agent MUST copy the Completed Report's data from the reportSampledCurrentReportsTable into the reportSampledHistoricalReportsTable, and the next Measurement (strating the next Report in the Study series) MUST be numbered with the value of this object as one." ::= { reportSampledCurrentReportsStatusEntry 2 } -- -- the Current Reports Table -- reportSampledCurrentReportsTable OBJECT-TYPE SYNTAX SEQUENCE OF ReportSampledCurrentReportsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of measurements being collected for active Reports." REFERENCE " TBD." ::= { reportSampledMibObjects 3 } reportSampledCurrentReportsEntry OBJECT-TYPE SYNTAX ReportSampledCurrentReportsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of entries storing the measurements from active Reports. Once an active, current Report completes (when the value of the associated reportSampledNumberOfMeasurementsForCurrentReport equals the value of the associated reportSampledStudyNumberReportMeasurements), the agent MUST move the Report's data from the reportSampledCurrentReportsTable to the reportSampledHistoricalReportTable." INDEX { reportSampledStudyIndex, reportSampledCurrentMeasurementIndex } ::= { reportSampledCurrentReportsTable 1 } ReportSampledCurrentReportsEntry ::= SEQUENCE { reportSampledCurrentMeasurementIndex Integer32, reportSampledCurrentMeasurementValue Integer32, reportSampledCurrentMeasurementTime sysUpTime, reportSampledCurrentMeasurementStatus INTEGER } reportSampledCurrentMeasurementIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index for this table which represents the number of Measurements collected so far for for this current Report. The initial value of this object MUST be one. The value MUST increment be one for each attempted Measurement. The maximum value for this object is reportSampledStudyNumberReportMeasurements. Once this value is reached and the next Measurement is attempted, the Current Report is considered Completed, the agent MUST copy the Completed Report's data from the reportSampledCurrentReportsTable into the reportSampledHistoricalReportsTable, and the next Measurement (strating the next Report in the Study series) MUST be numbered with the value of this object as one." ::= { reportSampledCurrentReportsEntry 1 } reportSampledCurrentMeasurementValue OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "A single measurement for this Study for this Current Report. The objects identifying the measurement MUST resolve to type Integer32 (i.e., Integer32, Counter, Gauge, or TimeTicks). to be used for performance monitoring on this device." ::= { reportSampledCurrentReportsEntry 2 } reportSampledCurrentMeasurementTime OBJECT-TYPE SYNTAX sysUpTime MAX-ACCESS read-only STATUS current DESCRIPTION "The systemUpTime of the device on which the measurement was made for this Measurement." ::= { reportSampledCurrentReportsEntry 3 } reportSampledCurrentMeasurementStatus OBJECT-TYPE SYNTAX INTEGER { valueNotAvailable(1), valuePositive(2), valueNegative(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the validity and sign of the data in the associated value recorded by the reportSampledCurrentMeasurementValue object." ::= { reportSampledCurrentReportsEntry 4 } -- -- Historical Reports Table -- reportSampledHistoricalReportsTable OBJECT-TYPE SYNTAX SEQUENCE OF ReportSampledHistoricalReportsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table archiving non-active Reports for each defined Study up to a maximum number of Reports per Study." ::= { reportSampledMibObjects 4 } reportSampledHistoricalReportsEntry OBJECT-TYPE SYNTAX ReportSampledHistoricalReportsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of entries storing the measurements from Completed Reports. Once an active, current Report completes (when the value of the associated reportSampledNumberOfMeasurementsForCurrentReport equals the value of the associated reportSampledStudyNumberReportMeasurements), the agent MUST move the Report's data from the reportSampledCurrentReportsTable to this reportSampledHistoricalReportTable." REFERENCE " TBD. " INDEX { reportSampledStudyIndex, reportSampledHistoricalReportIndex, reportSampledHistoricalMeasurementIndex } ::= { reportSampledHistoricalReportsTable 1 } ReportSampledHistoricalReportsEntry ::= SEQUENCE { reportSampledHistoricalReportIndex Integer32, reportSampledHistoricalMeasurementIndex Integer32, reportSampledHistoricalMeasurementValue Integer32, reportSampledHistoricalMeasurementTime sysUpTime, reportSampledHistoricalMeasurementStatus INTEGER } reportSampledHistoricalReportIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies the particular Report archived in this table for the specific Study (identified by the reportSampledStudyIndex)." ::= { reportSampledHistoricalReportsEntry 1 } reportSampledHistoricalMeasurementIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "An index that uniquely identifies a Measurement for a specific Report achived in this table for a Specific Study." ::= { reportSampledHistoriclReportsEntry 2 } reportSampledHistoricalReportsValue OBJECT-TYPE SYNTAX Integer32(1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "A single measurement for this Study for this Completed Report. The objects identifying the measurement MUST resolve to type Integer32 (i.e., Integer32, Counter, Gauge, or TimeTicks). to be used for performance monitoring on this device." ::= { reportSampledHistoriclReportsEntry 3 } reportSampledHistoricalMeasurementTime OBJECT-TYPE SYNTAX sysUpTime MAX-ACCESS read-only STATUS current DESCRIPTION "The systemUpTime of the device on which the measurement was made for this Measurement." ::= { reportSampledHistoriclReportsEntry 5 } reportSampledHistoricalMeasurementStatus OBJECT-TYPE SYNTAX INTEGER { valueNotAvailable(1), valuePositive(2), valueNegative(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the validity and sign of the data in the associated value recorded by the reportSampledHistoricalMeasurementValue object." ::= { reportSampledHistoriclReportsEntry 5 } -- -- Notifications -- -- The following notification objects to define issues with making -- and storing measurements. -- Actions which report data, i.e., Reports, are to be handled by -- the dismanEventMIB module. reportSampledNotificationObjects OBJECT IDENTIFIER ::= {reportSampledMibNotifications 0} reportSampledNotificationControl OBJECT IDENTIFIER ::= {reportSampledMibNotifications 1} -- -- reportSampledNotificationObjects -- reportSampledDataCollectionFailure NOTIFICATION-TYPE OBJECTS { reportSampledStudyOwner, -- The entity that -- configured this Study reportSampledStudyName, -- The name of the Study -- that is failing to -- collect measurement data reportSampledStudyOid -- The Object ID being -- monitored in this Study } STATUS current DESCRIPTION "The reportSampledDataCollectionFailure is a notification sent when the number of consecutive measurement failures within a Current Report, as indicated by consecutive values of the reportSampledCurrentMeasurementStatus being set to 'valueNotAvailable(1)', exceeds the value of the threshold value defined in the reportSampledDataCollectionFailureThreshold object." ::= { reportSampledNotificationObjects 1 } -- -- nhdpNotificationsControl -- reportSampledDataCollectionFailureThreshold OBJECT-TYPE SYNTAX Integer32 (1..255) UNITS "count" MAX-ACCESS read-write STATUS current DESCRIPTION "A threshold value for the number of consecutive measurement failures within a Current Report as indicated by consecutive values of the reportSampledCurrentMeasurementStatus being being set to 'valueNotAvailable(1)' which exceed the value of this threshold. A value of '255' for this threshold indicates that the reportSampledDataCollectionFailure notification is never to be sent. " DEFVAL { 10 } ::= { nhdpNotificationsControl 1 } -- -- Compliance Statements -- -- Mandatory compliance for the reportSampledMIB module will -- include all objects defined within the module. reportSampledCompliances OBJECT IDENTIFIER ::= { reportSampledMIBConformance 1 } reportSampledMIBGroups OBJECT IDENTIFIER ::= { reportSampledMIBConformance 2 } reportSampledCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The reportSampled basic implementation requirements for managed network entities that implement the REPORT Sampled process." MODULE -- this module MANDATORY-GROUPS { reportSampledLocalGroup } ::= { reportSampledCompliances 1 } -- -- Units of Conformance -- reportSampledLocalGroup OBJECT-GROUP OBJECTS { reportSampledStudyOwner, reportSampledStudyName, reportSampledStudyOid, reportSampledStudySamplingInterval, reportSampledStudyNumberReportMeasurements, reportSampledStudyMaximumNumberOfHistoricalReports, reportSampledStudyEntryStatus, reportSampledNumberOfCurrentReport, reportSampledNumberOfMeasurementsForCurrentReport, reportSampledCurrentMeasurementValue, reportSampledCurrentMeasurementTime, reportSampledCurrentMeasurementStatus, reportSampledHistoricalMeasurementValue, reportSampledHistoricalMeasurementTime, reportSampledHistoricalMeasurementStatus, reportSampledDataCollectionFailure, reportSampledDataCollectionFailureThreshold } STATUS current DESCRIPTION "The basic set of objects in thie reportSampledMIB module to be implemented in order to meet the minimal compliance conditions." ::= { reportSampledMIBGroups 1 } END
This reportSampledMIB module defines a capability where the local device may poll other MIB modules on the device to collect performance data. These capabilities defined within the reportSampledMIB module are control-able by a network management application through SNMP. As such, a network management application could potentially use the reportSampledMIB module as a mechanism to implement a limited Distributed Denial-of-Service (DDoS) attack against remote devices by overloading their SNMP processing. Care should be taken to secure access to the reportSampledMIB module agent. Specifically, access control mechanisms and authentication mechanisms (via SNMPv3) should always be used for SNMP SET operations. Further, some objects may contain data deemed sensitive and authentication and encryption mechanisms (via SNMPv3) should be used for SNMP GET operations.
There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations.
These are the tables and objects and their sensitivity/vulnerability:
SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.
It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).
Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.
This document describes objects for configuring parameters of the remote report generation process on a router or other device. This MIB module, denoted reportSampledMIB module, also reports performance information and notifications. The reportSampledMIB module provides for the remote control, collection and notification of performance reports on devices. As such, it eliminates the need for periodic polling for counters from remote management stations as a means for generating performance reports. This is hoped to greatly reduce management overhead on the MANET. This sections provides some examples of how this MIB module can be used in MANET network deployments. A fuller discussion of MANET network management use cases and challenges will be provided elsewhere.
In the following, two scenarios are identified where this MIB module is useful. This list is not complete and other scenarios are possible.
The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry: Descriptor OBJECT IDENTIFIER value ---------- ----------------------- reportSampledMIB { experimental XXX }
This MIB document uses the template authored by D. Harrington which is based on contributions from the MIB Doctors, especially Juergen Schoenwaelder, Dave Perkins, C.M.Heard and Randy Presuhn.
We would like to thank Bert Wijnen for pointing out the existence of the usrHistory group within RMON2 and in answering our numerous questions on the usrHistory group. Further, we wish to thank U. Herberg for promoting additions to this MIB through his thoughtful consideration of performance monitoring requirements for other MIBs within the MANET WG, e.g., NHDP and OLSR MIBs.
[RFC3410] | Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002. |
Changes from draft-ietf-manet-report-mib-03 to draft-ietf-manet-report-mib-04 draft.
Changes from draft-ietf-manet-report-mib-01 to draft-ietf-manet-report-mib-02 draft.
Changes from draft-ietf-manet-report-mib-00 to draft-ietf-manet-report-mib-01 draft.
Changes from draft-cole-manet-report-mib-02 to draft-ietf-manet-report-mib-00 draft.
Changes from draft-cole-manet-report-mib-01 to draft-cole-manet-report-mib-02 draft.
Changes from draft-cole-manet-report-mib-00 to draft-cole-manet-report-mib-01 draft.
This section contains the set of open issues related to the development and design of the reportSampledMIB module. This section will not be present in the final version of the MIB and will be removed once all the open issues have been resolved.
*************************************************************** * Note to the RFC Editor (to be removed prior to publication) * * * * 1) The reference to RFCXXXX within the DESCRIPTION clauses * * of the MIB module point to this draft and are to be * * assigned by the RFC Editor. * * * * 2) The reference to RFCXXX2 throughout this document point * * to the current draft-ietf-manet-report-xx.txt. This * * need to be replaced with the XXX RFC number. * * * ***************************************************************