| 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. *
* *
***************************************************************