TOC |
|
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 counter and gauge objects for performance monitoring. This allows a management station to instruct a device to build off-line reports to be collected asynchronously by the management station. Further, this REPORT-MIB can be configured in a proxy configuration where the report generation is performed on a device in close network proximity to the device containing the referenced counter objects. Hence, this capability allows network operators to reduce the SNMP polling traffic burden on Mobile Ad-Hoc and Disruption Tolerant Networks which is typical 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 January 6, 2011.
Copyright (c) 2010 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.
1.
Introduction
2.
The Internet-Standard Management Framework
3.
Conventions
4.
Overview
4.1.
REPORT-MIB Management Model
4.2.
Terms
5.
Structure of the MIB Module
5.1.
Textual Conventions
5.2.
The Statistics Group
5.3.
The Sampled Group
5.4.
The History Group
5.5.
The Notifications Group
6.
Relationship to Other MIB Modules
6.1.
Relationship to the SNMPv2-MIB
6.2.
Relationship to the RMON2-MIB
6.3.
Relationship to the TPM-MIB
6.4.
MIB modules required for IMPORTS
7.
Definitions
8.
Security Considerations
9.
IANA Considerations
10.
Contributors
11.
Acknowledgements
12.
References
12.1.
Normative References
12.2.
Informative References
Appendix A.
Change Log
Appendix B.
Open Issues
Appendix C.
TOC |
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 REPORT-MIB allows for the report generation to occur on the same device as containing the referenced counter object or on a device in close network proximity to the device with 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 REPORT-MIB is useful for devices managed over some Mobile Ad-Hoc Networks (MANETs) or Disruption Tolerant Networks (DTNs).
The REPORT-MIB offers three types of off-line reporting. One type offering reports which present statistical analysis of the objects being tracked; found within the reportStatsGroup. The second type offering a means to collect sampled data related to defined MIB objects. This second type of reporting is contained in the reportSampledGroup. The third offering reports which present (collect) raw data values and their time of change from the objects being tracked; found within the reportHistoryGroup.
For statistical reporting, the REPORT-MIB borrows from the RMON [RFC1757] (Waldbusser, S., “Remote Network Monitoring Management Information Base,” February 1995.) ReportsControl and Reports Tables. Here the reportStatsCapabilitiesGroup defines the capabilities of the device with respect performance monitoring and statistical analysis. Some analysis is hard-coded into the definition of the reportStatsDataGroup while the device can also advertise extended statistical reporting via the reportMetricExtDefTable. The reportsControlTable specifies the report metrics, the Object ID to monitor and other aspects of the statistical report development and storage.
For the collection of sampled data, the REPORT-MIB draws directly from the usrHistoryGroup from RMON 2 [RFC2021] (Waldbusser, S., “Remote Network Monitoring Management Information Base Version 2 using SMIv2,” January 1997.). Here the reportSampledControlTable allows the user to define aspects of the report for sampled data, including the number of MIB objects to be sampled and the nature of the sampling frequency and overall report duration. This group uses the notion of buckets, which contained sampled data from a set of identified MIB objects sampled at the same time point. The report consists of the buckets each containing sets of sampled data from the same MIB objects but at differing sampling times. The reportSampledObjectTable allows the user to identify the multiple MIB objects to be sampled. The reportSampledDataTable contains the storage of the reported sampled data contained within buckets, one for each sampling instance.
For the collection of raw data, the REPORT-MIB contains a reportHistoryGroup comprised of the reportHistoryControlTable for control of historical data reports and the reportHistoryDataTable for the storage of the historical reports.
Various compliance groups which allow for development of raw data collection reports, collection of sampled data reports or only statistical data reports, or all combinations.
TOC |
For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410] (Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework,” December 2002.).
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] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” April 1999.), STD 58, RFC 2579 [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.) and STD 58, RFC 2580 [RFC2580] (McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” April 1999.).
TOC |
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] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).
TOC |
The Reporting MIB references performance objects in other MIBs and generates offline performance reports on those referenced objects. The REPORT-MIB can be coincident with the other MIB or can reside on another device in close network proximity to the device containing the referenced performance related object.
TOC |
This section describes the management model for the Reporting MIB process. First, the model for the reportStatsGroup is presented. Then the model for the reportSampledGroup and the reportHistoryGroup are presented.
Figure 1 illustrates a potential use of the REPORT-MIB for the generation of off-line, remotely generated reports. The management station on the left hand side of the illustration instructs the remote device to create reports through manipulation of the ReportCntrl Objects in the REPORT-MIB resident on the remote device. The reports instruct the device to monitor the status of specified counters (on other MIBs and potentially on other devices in close network proximity) periodically and to generate a set of metrics describing the temporal behavior of those counter values. The reports are stored locally until the management station decides to pull them off the device. The figure shows a case where the REPORT-MIB generates a notification that Report_2 has completed, prompting the management station to pull Report_2 from the device.
Mgmt Device Station REPORT-MIB MIB_1 +---------+ +-----+ | | | | Build_Rep_1 |+-------+| +--+ | +----------------->||cntrl_1||<------>|PC| | |+-------+|<-+ +--+--+ | | | | | | MIB_2 | | | +-----+ | | | | | | | +--+ | | | +---->|PC| | Build_Rep_2 |+-------+| +-->+--+--+ +----------------->||cntrl_2||<---+ |+-------+| | | | | Build_Rep_3 |+-------+| +----------------->||cntrl_3||<---+ MIB_n |+-------+| | +-----+ | | | | | |+-----+ | | +--+ | ||Rep_1| | +-->|PC| | |+-----+ | +--+--+ | | |+-----+ | <------------------||Rep_2| | Notf_Rep_2 |+-----+ | | | |+-----+ | ||Rep_3| | |+-----+ | Get_Rep_2 | | +----------------->| | | | <-----------------+| | Send_Rep_2 +---------+ Figure 1: REPORT-MIB front-end report generation process.
The REPORT-MIB's reportStatsGroup defines specifically a set of metrics which are computed within all reports. It also allows for the specification of metric extensions which are local to the specific implementation of the REPORT-MIB. These are identified in the reportStatsCapabilitiesGroup metricExtension Table.
Each metric has an associated Object ID of type counter associated with it. The control table specifies a report interval and a bin interval. The report interval is an integral multiple of the bin interval. For each bin interval, the device identifies the change in the counter value over the bin interval (called x_i) and then computes the associated metric, e.g., sum, sum of the square, etc, over the set {x_i}. It maintains the sum of these computations within the metric objects in the 'reportStatsDataTable'. Once the report interval is complete, the management station has enough information to compute a set of interesting and useful statistics.
The computational model of the reportStatsGroup of the REPORT-MIB is illustrated in the figure below. The important controls are a) the contrlInterval, b) the cntrlBinInterval, c) the specific counterObjectId, and d) the metric. In the figure x_i represents the ith value of the counter change, i.e., x_i = counterValue(t_i+1) - counterValue(t_i). The metrics reported are then computed from the set (x_i). Three examples are identified in the figure, e.g., StatSumX, StatSumSq and StatMaxX. Other existing and potential metrics are discussed below.
| |<--------------------- cntrlInterval ---------------------------->| | | | | | | | | | | | x_0 | x_1 | x_2 | x_3 | ... |x_n-2|x_n-1| +-----+-----+-----+-----+--- ---+-----+-----+ ^ ^ ^ ^ ^ ^ ^ ^ t_0 t_1 t_2 t_3 t_4 t_n-2 t_n-1 t_n where t_i - t_i-1 = cntrlBinInterval n = cntrlInterval / cntrlBinInterval StatSumX = Sum(x_i) from i=0, ..., n-1 StatSumSq = Sum((x_i)^2) from i=0, ..., n-1 StatMaxX = Max(x_i) for i=0, ..., n-1 Figure 2: REPORT-MIB statistical analysis computation process.
This capability then allows for the computation of various significant statistics related to the behavior of the referenced object.
These are accessible from the statistical datum provided by this MIB module. Other statistics are derivable including, e.g., the slope of a least-squares fit to the rate of change of the referenced object. These are described below.
The REPORT-MIB also provides for the collection of sampled data instead of statistical data. It does this by importing (copying) the usrHistory group from RMON2 [RFC2021] (Waldbusser, S., “Remote Network Monitoring Management Information Base Version 2 using SMIv2,” January 1997.) which allows for the generation of reports collecting the sampled object values binned for the purpose of aggregation and efficiency of collection. These are defined within the reportSampledGroup. The model used for this type of report generation is based upon three tables. The reportSampledControlTable defines aspects of the report generation related to duration of the reporting interval, the bin (or bucket) sizes for the report, and the number of object values collected for each bucket. The reportUsrHistoryObjectTable identifies the specific MIB objects whose values and binned within the report. And the reportSampledDataTable contains the binned data values collected for the report.
The REPORT-MIB also provides for the collection of historical data instead of statistical or sampled data. It does this by defining the reportHistoryControlTable for the control of the historical reports and the reportHistoryDataTable for the storage of the historical reports.
TOC |
The following definitions apply throughout this document:
TOC |
This section presents the structure of the REPORT-MIB module. The objects are arranged into the following groups:
TOC |
The textual conventions used in the REPORT-MIB are as follows. The RowStatus textual convention is imported from RFC 2579 [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.).
TOC |
The REPORT-MIB Statistics Group contains objects which allows for the generation of statistical analysis reports. For example, this group can be exercised to generate the mean and variance of the referenced counter object. The Statistics Group is composed of:
As and example of how the metrics are to be computed within the REPORT-MIB, consider the standard metric object 'reportStatsDataStatSumX'. For each bin interval defined by the object reportCntrlReportsBinInterval, the change in the value of the counter pointed to by the Object ID reportCntrlReportsPriObjID is calculated. Then this (delta) value is added to the current value of the value contained in the object 'reportStatsDataStatSumX'. Then, if interested in computing the average change in this object (sampled each bin interval) for the duration of the report, the management station simply divides reportStatsDataStatSumX by reportStatsDataStatN. Although this is a trivial example because the value of reportAggrReportStatSumX is simple the difference in the counter reportCntrolReportsPriObjID at the start and the end of the total report interval, the other metrics defined are not as trivial.
The objects 'reportStatsDataOverflowStatSumX' and 'reportStatsDataHCSumX' are borrowed from RMON [RFC2021] (Waldbusser, S., “Remote Network Monitoring Management Information Base Version 2 using SMIv2,” January 1997.) and exist to handle integer overflow situations where, e.g., 'reportStatsDataStatSumX' overruns its maximum vary numerous times.
Computation of the least-square fit of the data collected for a report can be accomplished. (NOTE: describe this capability here.)
TOC |
The Sampled Group contains tables which allows for the development of reports based upon sampling the referenced counter objects at specified intervals. The development of this group within the REPORT-MIB follows exactly the User History group from the RMON 2 MIB [RFC2021] (Waldbusser, S., “Remote Network Monitoring Management Information Base Version 2 using SMIv2,” January 1997.). The Sampled Group is composed of:
TOC |
The History Group contains tables which capture information on change events for he referenced objects. Depending upon the referenced objects, this could force the generation of large amounts of data. Care should be exercised when considering the use of this capability.
TOC |
The Notifications Sub-tree contains the list of notifications supported within the REPORT-MIB and their intended purpose or utility. This group is currently empty.
TOC |
[TODO]: 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.
TOC |
The 'system' group in the SNMPv2-MIB [RFC3418] (Presuhn, R., “Management Information Base (MIB) for the Simple Network Management Protocol (SNMP),” December 2002.) 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 REPORT-MIB does not duplicate those objects.
TOC |
The REPORT-MIB is closely related in many aspects to the RMON2-MIB [RFC2021] (Waldbusser, S., “Remote Network Monitoring Management Information Base Version 2 using SMIv2,” January 1997.). Specifically, the reportSampledGroup is a direct copy of the RMON2 User History Group, with the names changed to comply with the naming conventions within the REPORT-MIB. Further, the design and use of the control tables within the REPORT-MIB draw exactly from the definition of this table structures in the earlier RMON MIBs.
TOC |
The REPORT-MIB pulled the reportStatsGroup directory from the TPM-MIB [RFC4150] (Dietz, R. and R. Cole, “Transport Performance Metrics MIB,” August 2005.). The table structures and the choice of statistics draws directly from the earlier TPM-MIB developed within the RMON Working Group.
TOC |
[TODO]: 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. If there are imported items in the MIB module, such as Textual Conventions, that are not already cited, they can be cited in text here. Since relationships to other MIB modules should be described in the narrative text, this section is typically used to cite modules from which Textual Conventions are imported.
The following REPORT-MIB module IMPORTS objects from SNMPv2-SMI [RFC2578] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” April 1999.), SNMPv2-TC [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.), SNMPv2-CONF [RFC2580] (McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” April 1999.), and IF-MIB [RFC2863] (McCloghrie, K. and F. Kastenholz, “The Interfaces Group MIB,” June 2000.)
TOC |
REPORT-MIB DEFINITIONS ::= BEGIN IMPORTS ZeroBasedCounter32 FROM RMON2-MIB -- [RFC2021] MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Gauge32, Unsigned32, Integer32, mib-2 FROM SNMPv2-SMI -- [RFC2578] TEXTUAL-CONVENTION, RowStatus, TruthValue, TimeStamp, StorageType FROM SNMPv2-TC -- [RFC2579] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] OwnerString FROM RMON-MIB -- [RFC2819] InterfaceIndexOrZero FROM IF-MIB -- [RFC2863] ZeroBasedCounter64 FROM HCNUM-TC -- [RFC2856] SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- [RFC3411] InetAddress, InetAddressType, InetAddressPrefixLength FROM INET-ADDRESS-MIB -- [RFC4001] SspmClockSource, SspmClockMaxSkew, SspmMicroSeconds FROM SSPM-MIB -- [RFC4149] ; reportMIB MODULE-IDENTITY LAST-UPDATED "201007051300Z" -- July 05, 2010 ORGANIZATION "IETF MANET Working Group" CONTACT-INFO "WG E-Mail: manet@ietf.org WG Chairs: ian.chakeres@gmail.com jmacker@nrl.navy.mil Editors: Robert G. Cole US Army CERDEC 328 Hopkins Road Aberdeen Proving Ground, MD 21005 USA +1 410 278-6779 robert.g.cole@us.army.mil Joseph Macker Naval Research Laboratory Washington, D.C. 20375 USA macker@itd.nrl.navy.mil Al Morton AT&T Laboratories Middletown, N.J. 07724 USA amorton@att.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 "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 ::= { mib-2 998 } -- to be assigned by IANA -- TEXTUAL CONVENTIONs ReportMetricDefID ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "An index that identifies through reference to a specific statistical metrics. " SYNTAX Unsigned32 (1..2147483647) -- -- Top-Level Object Identifier Assignments -- reportMIBNotifications OBJECT IDENTIFIER ::= { reportMIB 0 } reportMIBObjects OBJECT IDENTIFIER ::= { reportMIB 1 } reportMIBConformance OBJECT IDENTIFIER ::= { reportMIB 2 } -- The reportMIBObjects Assignments: -- reportStatsGroup - 1 -- reportSampledGroup - 2 -- reportHistoryGroup - 3 reportStatsGroup OBJECT IDENTIFIER ::= { reportMIBObjects 1 } -- Then, the reportStatsGroup assignments are : -- reportStatsCapabilitiesGroup - 1 -- reportStatsControlGroup - 2 -- reportStatsDataGroup - 3 -- reportStatsCapabilitiesGroup -- This group contains the REPORT objects that identify specific -- capabilities within this device related to REPORT functions. reportCapabilitiesGroup OBJECT IDENTIFIER ::= { reportStatsGroup 1 } reportClockResolution OBJECT-TYPE SYNTAX SspmMicroSeconds MAX-ACCESS read-only STATUS current -- UNITS Microseconds DESCRIPTION "A read-only variable indicating the resolution of the measurements possible by this device." ::= { reportCapabilitiesGroup 1 } reportClockMaxSkew OBJECT-TYPE SYNTAX SspmClockMaxSkew MAX-ACCESS read-only STATUS current -- UNITS Seconds DESCRIPTION "A read-only variable indicating the maximum offset error due to skew of the local clock over the time interval 86400 seconds, in seconds." ::= { reportCapabilitiesGroup 2 } reportClockSource OBJECT-TYPE SYNTAX SspmClockSource MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only variable indicating the source of the clock. This is provided to allow a user to determine how accurate the timing mechanism is compared with other devices." ::= { reportCapabilitiesGroup 3 } reportMetricDirLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time the reportTransMetricDirTable was last modified, through modifications of the reportTransMetricDirConfig object." ::= { reportCapabilitiesGroup 4 } -- REPORT Metric Extensions Definition Table reportMetricExtDefTable OBJECT-TYPE SYNTAX SEQUENCE OF ReportMetricExtDefEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The reportMetricExtDefTable describes the metrics available to the REPORT-MIB. The reportMetricExtDefTable can define metrics by referencing existing IETF, ITU, and other standards organizations' documents, including enterprise-specific documents. Examples of appropriate references include the ITU-T Recommendation Y.1540 [Y.1540] on IP packet transfer performance metrics and the IETF documents from the IPPM WG; e.g., RFC2681 on the round trip delay metric [RFC2681] or RFC3393 on the delay variation metric [RFC3393]. Other examples include RFC2679 [RFC2679], RFC2680 [RFC2680], and RFC3432 [RFC3432]. Although no specific metric is mandatory, implementations should, at a minimum, support a round-trip delay and a round-trip loss metric. This table contains one row per metric supported by this agent, and it should be populated during system initialization." ::= { reportCapabilitiesGroup 5 } reportMetricExtDefEntry OBJECT-TYPE SYNTAX ReportMetricExtDefEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a particular metric." INDEX { reportMetricExtDefID } ::= { reportMetricExtDefTable 1 } ReportMetricExtDefEntry ::= SEQUENCE { reportMetricExtDefID ReportMetricDefID, reportMetricExtDefType INTEGER, reportMetricExtDefName SnmpAdminString, reportMetricExtDefOperation SnmpAdminString, reportMetricExtDefReference SnmpAdminString } reportMetricExtDefID OBJECT-TYPE SYNTAX ReportMetricDefID MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index for this entry. This object identifies the particular metric in this MIB module." ::= { reportMetricExtDefEntry 1 } reportMetricExtDefType OBJECT-TYPE SYNTAX INTEGER { other(1), singleObjMetric(2), multipleObjMetric(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The basic type of metric indicated by this entry. The value 'other(1)' indicates that this metric cannot be characterized by any of the remaining enumerations specified for this object. The value 'connectMetric(2)' indicates that this metric measures connectivity characteristics. The value 'delayMetric(3)' indicates that this metric measures delay characteristics. " ::= { reportMetricExtDefEntry 2 } reportMetricExtDefName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The textual name of this metric. For example, if this reportMetricDefEntry identified the IPPM metric for round trip delay, then this object should contain the value, e.g., 'Type-P-Round-Trip-Delay'." ::= { reportMetricExtDefEntry 3 } reportMetricExtDefOperation OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The textual description of the operations necessary to compute this metric. For example, if this reportMetricDefEntry identified the IPPM metric for round trip delay, then this object should contain the value, e.g., 'Type-P-Round-Trip-Delay'." ::= { reportMetricExtDefEntry 4 } reportMetricExtDefReference OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a reference to the document that defines this metric. If this document is available online via electronic download, then a de-referencable URL should be specified in this object. The implementation must support an HTTP URL type and may support additional types of de-referencable URLs such as an FTP type. For example, if this reportMetricDefName identified the IPPM metric 'Type-P-Round-Trip-Delay', then this object should contain the value, e.g., 'http://www.ietf.org/rfc/rfc2681.txt'." ::= { reportMetricExtDefEntry 5 } -- Stats Control Group -- This and the following tables are modeled -- after the report control and collection -- capabilities found in RMON 2, RFC 2021 reportStatsControlGroup OBJECT IDENTIFIER ::= {reportStatsGroup 2} reportStatsControlTable OBJECT-TYPE SYNTAX SEQUENCE OF ReportStatsControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The reportStatsControlTable is the controlling entry that manages the population of studies in the Report for selected time intervals. Note that this is not like the typical RMON controlTable and dataTable in which each entry creates its own data table. Each entry in this table enables the creation of multiple data tables on a study basis. For each interval, the study is updated in place, and the current data content of the table becomes invalid. The control table entries are persistent across system reboots." ::= { reportStatsControlGroup 1 } reportStatsControlEntry OBJECT-TYPE SYNTAX ReportStatsControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the reportStatsControlTable. An example of the indexing of this entry is reportGenReportCntrInterval.1" INDEX { reportStatsControlIndex } ::= { reportStatsControlTable 1 } ReportStatsControlEntry ::= SEQUENCE { reportStatsControlIndex Unsigned32, reportStatsControlInterval Unsigned32, reportStatsControlBinInterval Unsigned32, reportStatsControlPriObjID OBJECT IDENTIFIER, reportStatsControlPriObjIpAddrType InetAddressType, reportStatsControlPriObjIPAddr InetAddress, reportStatsControlSecObj1ID OBJECT IDENTIFIER, reportStatsControlSecObj1IpAddrType InetAddressType, reportStatsControlSecObj1IPAddr InetAddress, reportStatsControlSecObj2ID OBJECT IDENTIFIER, reportStatsControlSecObj2IpAddrType InetAddressType, reportStatsControlSecObj2IPAddr InetAddress, reportStatsControlSecObj3ID OBJECT IDENTIFIER, reportStatsControlSecObj3IpAddrType InetAddressType, reportStatsControlSecObj3IPAddr InetAddress, reportStatsControlSecObj4ID OBJECT IDENTIFIER, reportStatsControlSecObj4IpAddrType InetAddressType, reportStatsControlSecObj4IPAddr InetAddress, reportStatsControlSecObj5ID OBJECT IDENTIFIER, reportStatsControlSecObj5IpAddrType InetAddressType, reportStatsControlSecObj5IPAddr InetAddress, reportStatsControlMetricExt1 ReportMetricDefID, reportStatsControlMetricExt2 ReportMetricDefID, reportStatsControlMetricExt3 ReportMetricDefID, reportStatsControlMetricExt4 ReportMetricDefID, reportStatsControlMetricExt5 ReportMetricDefID, reportStatsControlReqReports Unsigned32, reportStatsControlGrantedReports Unsigned32, reportStatsControlStartTime TimeStamp, reportStatsControlReportNumber Unsigned32, reportStatsControlInsertsDenied Counter32, reportStatsControlOwner OwnerString, reportStatsControlStorageType StorageType, reportStatsControlStatus RowStatus } reportStatsControlIndex OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the reportStatsControlTable. Each such entry defines a unique report whose results are placed in the reportGenReportTable on behalf of this reportStatsControlEntry." ::= { reportStatsControlEntry 1 } reportStatsControlInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "Seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The interval in seconds over which data is accumulated before being aggregated into a report in the reportGenReportTable. All reports with the same reportStatsControlIndex will be based on the same interval. The value of the reportStatsControlInterval should be an integral multiple of the value of the reportStatsControlBinInterval. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." DEFVAL { 3600 } ::= { reportStatsControlEntry 2 } reportStatsControlBinInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "Seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The interval in seconds between which the value of the reportStatsControlPriObjID and SecObjIDs are polled for the purpose of generating the metric values associated with this report. All reports with the same reportStatsControlIndex will be based on the same bin interval. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." DEFVAL { 3600 } ::= { reportStatsControlEntry 3 } reportStatsControlPriObjID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the primary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 4 } reportStatsControlPriObjIpAddrType OBJECT-TYPE SYNTAX InetAddressType, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP address type of the IP address associated with the primary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 5 } reportStatsControlPriObjIPAddr OBJECT-TYPE SYNTAX InetAddress, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP addree of the primary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 6 } reportStatsControlSecObj1ID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the secondary counter object to be monitored within this report associated with the specified reportStatsControlMetricExt1. If the reportStatsControlMetricExt1 is a simple metric, then the value of this reportStatsControlSecObj1ID is set to '0'. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 7 } reportStatsControlSecObj1IpAddrType OBJECT-TYPE SYNTAX InetAddressType, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP address type of the IP address associated with the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 8 } reportStatsControlSecObj1IPAddr OBJECT-TYPE SYNTAX InetAddress, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP addree of the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 9 } reportStatsControlSecObj2ID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the secondary counter object to be monitored within this report associated with the specified reportStatsControlMetricExt2. If the reportStatsControlMetricExt2 is a simple metric, then the value of this reportStatsControlSecObj2ID is set to '0'. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 10 } reportStatsControlSecObj2IpAddrType OBJECT-TYPE SYNTAX InetAddressType, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP address type of the IP address associated with the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 11 } reportStatsControlSecOb2IPAddr OBJECT-TYPE SYNTAX InetAddress, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP addree of the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 12 } reportStatsControlSecObj3ID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the secondary counter object to be monitored within this report associated with the specified reportStatsControlMetricExt3. If the reportStatsControlMetricExt3 is a simple metric, then the value of this reportStatsControlSecObj3ID is set to '0'. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 13 } reportStatsControlSecObj3IpAddrType OBJECT-TYPE SYNTAX InetAddressType, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP address type of the IP address associated with the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 14 } reportStatsControlSecObj3IPAddr OBJECT-TYPE SYNTAX InetAddress, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP addree of the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 15 } reportStatsControlSecObj4ID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the secondary counter object to be monitored within this report associated with the specified reportStatsControlMetricExt4. If the reportStatsControlMetricExt4 is a simple metric, then the value of this reportStatsControlSecObj4ID is set to '0'. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 16 } reportStatsControlSecObj4IpAddrType OBJECT-TYPE SYNTAX InetAddressType, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP address type of the IP address associated with the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 17 } reportStatsControlSecObj4IPAddr OBJECT-TYPE SYNTAX InetAddress, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP addree of the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 18 } reportStatsControlSecObj5ID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the secondary counter object to be monitored within this report associated with the specified reportStatsControlMetricExt5. If the reportStatsControlMetricExt5 is a simple metric, then the value of this reportStatsControlSecObj5ID is set to '0'. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 19 } reportStatsControlSecObj5IpAddrType OBJECT-TYPE SYNTAX InetAddressType, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP address type of the IP address associated with the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 20 } reportStatsControlSecObj5IPAddr OBJECT-TYPE SYNTAX InetAddress, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP addree of the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 21 } reportStatsControlMetricExt1 OBJECT-TYPE SYNTAX ReportMetricDefID MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the first metric extension placed in the reportGenReportTable. If no metric extension is requested, then this object value is set to '0'. If this metric is defined on a single counter object, then only the reportStatsControlPriObjID is set, while the value of the reportStatsControlSecObjID is set to '0'. Else, the reportStatsControlSecObjID is set in accoradance with the instruction in the definition of the metric extension found in the reportCapabilitiesMetwircExtTable above. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 22 } reportStatsControlMetricExt2 OBJECT-TYPE SYNTAX ReportMetricDefID MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the first metric extension placed in the reportGenReportTable. If no metric extension is requested, then this object value is set to '0'. If this metric is defined on a single counter object, then only the reportStatsControlPriObjID is set, while the value of the reportStatsControlSecObjID is set to '0'. Else, the reportStatsControlSecObjID is set in accoradance with the instruction in the definition of the metric extension found in the reportCapabilitiesMetwircExtTable above. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 23 } reportStatsControlMetricExt3 OBJECT-TYPE SYNTAX ReportMetricDefID MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the first metric extension placed in the reportGenReportTable. If no metric extension is requested, then this object value is set to '0'. If this metric is defined on a single counter object, then only the reportStatsControlPriObjID is set, while the value of the reportStatsControlSecObjID is set to '0'. Else, the reportStatsControlSecObjID is set in accoradance with the instruction in the definition of the metric extension found in the reportCapabilitiesMetwircExtTable above. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 24 } reportStatsControlMetricExt4 OBJECT-TYPE SYNTAX ReportMetricDefID MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the first metric extension placed in the reportGenReportTable. If no metric extension is requested, then this object value is set to '0'. If this metric is defined on a single counter object, then only the reportStatsControlPriObjID is set, while the value of the reportStatsControlSecObjID is set to '0'. Else, the reportStatsControlSecObjID is set in accoradance with the instruction in the definition of the metric extension found in the reportCapabilitiesMetwircExtTable above. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 25 } reportStatsControlMetricExt5 OBJECT-TYPE SYNTAX ReportMetricDefID MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the first metric extension placed in the reportGenReportTable. If no metric extension is requested, then this object value is set to '0'. If this metric is defined on a single counter object, then only the reportStatsControlPriObjID is set, while the value of the reportStatsControlSecObjID is set to '0'. Else, the reportStatsControlSecObjID is set in accoradance with the instruction in the definition of the metric extension found in the reportCapabilitiesMetwircExtTable above. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 26 } reportStatsControlReqReports OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of saved reports requested to be allocated on behalf of this entry. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 27 } reportStatsControlGrantedReports OBJECT-TYPE SYNTAX Unsigned32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of saved reports the agent has allocated based on the requested amount in reportStatsControlReqReports. Because each report can have many entries, the total number of entries allocated will be this number multiplied by the value of reportStatsControlGrantedSize, or by 1 if that object doesn't exist. When the associated reportStatsControlReqReports object is created or modified, the agent should set this object as closely to the requested value as is possible for the particular implementation and available resources. When considering available resources, the agent must consider its ability to allocate this many reports, each with the number of entries represented by reportStatsControlGrantedSize, or by 1 if that object doesn't exist. Note that although the storage required for each report may fluctuate due to changing conditions, the agent must continue to have storage available to satisfy the full report size for all reports, when necessary. Further, the agent must not lower this value except as a result of a set to the associated reportStatsControlReqSize object." ::= { reportStatsControlEntry 28 } reportStatsControlStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the system began processing the report in progress. Note that the report in progress is not available. This object may be used by the management station to figure out the start time for all previous reports saved for this reportStatsControlEntry, as reports are started at fixed intervals." ::= { reportStatsControlEntry 29 } reportStatsControlReportNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of the report in progress. When an reportStatsControlEntry is activated, the first report will be numbered zero." ::= { reportStatsControlEntry 30 } reportStatsControlInsertsDenied OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of attempts to add an entry to reports for this ReportStatsControlEntry that failed because the number of entries would have exceeded reportStatsControlGrantedSize. This number is valuable in determining if enough entries have been allocated for reports in light of fluctuating network usage. Note that an entry that is denied will often be attempted again, so this number will not predict the exact number of additional entries needed, but it can be used to understand the relative magnitude of the problem. Also note that there is no ordering specified for the entries in the report; thus, there are no rules for which entries will be omitted when not enough entries are available. As a consequence, the agent is not required to delete 'least valuable' entries first." ::= { reportStatsControlEntry 31 } reportStatsControlOwner OBJECT-TYPE SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportStatsControlEntry 32 } reportStatsControlStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type of this reportStatsControlEntry. If the value of this object is 'permanent', no objects in this row need to be writable." ::= { reportStatsControlEntry 33 } reportStatsControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this performance control entry. An entry may not exist in the active state unless each object in the entry has an appropriate value. Once this object is set to active(1), no objects in the reportStatsControlTable can be changed. If this object is not equal to active(1), all associated entries in the reportGenReportTable shall be deleted." ::= { reportStatsControlEntry 34 } -- Stats Data Group reportStatsDataGroup OBJECT IDENTIFIER ::= { reportStatsGroup 3 } -- Report Stats Data Table reportStatsDataTable OBJECT-TYPE SYNTAX SEQUENCE OF ReportStatsDataEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains completed studies for each of the control table entries in reportAggrReportCntrlTable. These studies are provided based on the selections and parameters found for the entry in the reportAggregateReportsCntrlTable. The performance statistics are specified in the reportTransMetricDirTable associated with the application in question and indexed by appLocalIndex and reportTransMetricIndex." ::= { reportStatsDataGroup 1 } reportStatsDataEntry OBJECT-TYPE SYNTAX ReportStatsDataEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the reportStatsDataTable. The reportStatsControlIndex value in the index identifies the reportStatsControlEntry on whose behalf this entry was created. The reportStatsDataIndex value in the index identifies which report (in the series of reports) this entry is a part of. The reportStatsDataServerAddress value in the index identifies the network layer address of the device generatung this report. An example of the indexing of this entry is reportStatsDataStatN.3.15.34.262.18.4.128.2.6.7.3256521" INDEX { reportStatsControlIndex, reportStatsDataIndex } ::= { reportStatsDataTable 1 } ReportStatsDataEntry ::= SEQUENCE { reportStatsDataIndex Unsigned32, reportStatsDataServerAddress OCTET STRING, reportStatsDataStatN ZeroBasedCounter32, reportStatsDataStatSumX ZeroBasedCounter32, reportStatsDataOverflowStatSumX ZeroBasedCounter32, reportStatsDataHCStatSumX ZeroBasedCounter64, reportStatsDataStatMaximum ZeroBasedCounter32, reportStatsDataStatMinimum ZeroBasedCounter32, reportStatsDataStatSumSq ZeroBasedCounter32, reportStatsDataOverflowStatSumSq ZeroBasedCounter32, reportStatsDataHCStatSumSq ZeroBasedCounter64, reportStatsDataStatSumIX ZeroBasedCounter32, reportStatsDataOverflowStatSumIX ZeroBasedCounter32, reportStatsDataHCStatSumIX ZeroBasedCounter64, reportStatsDataStatSumIXSq ZeroBasedCounter32, reportStatsDataOverflowStatSumIXSq ZeroBasedCounter32, reportStatsDataHCStatSumIXSq ZeroBasedCounter64, reportStatsDataStatMetricExt1 ZeroBasedCounter32, reportStatsDataStatMetricExt2 ZeroBasedCounter32, reportStatsDataStatMetricExt3 ZeroBasedCounter32, reportStatsDataStatMetricExt4 ZeroBasedCounter32, reportStatsDataStatMetricExt5 ZeroBasedCounter32 } reportStatsDataIndex OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of reportAggrReportCntrlNumber for the report to which this entry belongs." ::= { reportStatsDataEntry 1 } -- [Note: Need to revisit the syntax for this object of type 'address'.] reportStatsDataServerAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..108)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network layer address of the server host in this conversation. This is represented as an octet string with specific semantics and length as identified by the protocolDirLocalIndex component of the index. Because this object is an index variable, it is encoded in the index according to the index encoding rules. For example, if the protocolDirLocalIndex indicates an encapsulation of IPv4, this object is encoded as a length octet of 4, followed by the 4 octets of the IPv4 address, in network byte order. If the associated reportAggrReportCntrlAggrType is equal to application(4) or client(2), then this object will be a null string and will be encoded simply as a length octet of 0." ::= { reportStatsDataEntry 2 } reportStatsDataStatN OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The count of the total number of data points for the specified metric. This number is simply the value of reportCntrlReportsInterval divided by the value of reportCntrlReportsBinInterval, which should be integer valued. " ::= { reportStatsDataEntry 3 } reportStatsDataStatSumX OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of all the data point values for the specified metric. This number always represents the total values of the statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { reportStatsDataEntry 4 } reportStatsDataOverflowStatSumX OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated reportAggrReportStatSumX counter has overflowed. Note that this object will only be instantiated if the associated reportAggrReportHCStatSumX object is also instantiated for a particular dataSource." ::= { reportStatsDataEntry 5 } reportStatsDataHCStatSumX OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of reportAggrReportStatSumX. Note that this object will only be instantiated if the agent supports High Capacity monitoring for a particular dataSource." ::= { reportStatsDataEntry 6 } reportStatsDataStatMaximum OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The single maximum data point value observed during the study period for the specified metric. This number always represents the maximum value of any single statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { reportStatsDataEntry 7 } reportStatsDataStatMinimum OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The single minimum data point value observed during the study period for the specified metric. This number always represents the minimum value of any single statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { reportStatsDataEntry 8 } reportStatsDataStatSumSq OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of all the squared data point values for the specified metric. This number always represents the total of the squared values of the statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { reportStatsDataEntry 9 } reportStatsDataOverflowStatSumSq OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated reportAggrReportStatSumSq counter has overflowed. Note that this object will only be instantiated if the associated reportAggrReportHCStatSumSq object is also instantiated for a particular dataSource." ::= { reportStatsDataEntry 10 } reportStatsDataHCStatSumSq OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of reportAggrReportStatSumSq. Note that this object will only be instantiated if the agent supports High Capacity monitoring for a particular dataSource." ::= { reportStatsDataEntry 11 } reportStatsDataStatSumIX OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "For each interval, each data point is associated with a value I, I = 1..N where N is the number of data points; reportAggrReportStatSumIX is the multiplication of the data point value with the current I. This value along with the other statistics values allow the calculation of the slope of the least-squares line through the data points." ::= { reportStatsDataEntry 12 } reportStatsDataOverflowStatSumIX OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated reportAggrReportStatSumIX counter has overflowed. Note that this object will only be instantiated if the associated reportAggrReportHCStatSumIX object is also instantiated for a particular dataSource." ::= { reportStatsDataEntry 13 } reportStatsDataHCStatSumIX OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of reportAggrReportStatSumIX. Note that this object will only be instantiated if the agent supports High Capacity monitoring for a particular dataSource." ::= { reportStatsDataEntry 14 } reportStatsDataStatSumIXSq OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "For each interval, each data point is associated with a value I, I = 1..N where N is the number of data points; reportAggrReportStatSumIXSq is the multiplication of the data point value squared with the current I. This value along with the other statistics values allow the calculation of the slope of the least-squares line through the data points." ::= { reportStatsDataEntry 15 } reportStatsDataOverflowStatSumIXSq OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated reportAggrReportStatSumIXSq counter has overflowed. Note that this object will only be instantiated if the associated reportAggrReportHCStatSumIXSq object is also instantiated for a particular dataSource." ::= { reportStatsDataEntry 16 } reportStatsDataHCStatSumIXSq OBJECT-TYPE SYNTAX ZeroBasedCounter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of reportAggrReportStatSumIXSq. Note that this object will only be instantiated if the agent supports High Capacity monitoring for a particular dataSource." ::= { reportStatsDataEntry 17 } reportStatsDataStatMetricExt1 OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The .... for the MetricExt1. " ::= { reportStatsDataEntry 18 } reportStatsDataStatMetricExt2 OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The .... for the MetricExt2. " ::= { reportStatsDataEntry 19 } reportStatsDataStatMetricExt3 OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The .... for the MetricExt3. " ::= { reportStatsDataEntry 20 } reportStatsDataStatMetricExt4 OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The .... for the MetricExt4. " ::= { reportStatsDataEntry 21 } reportStatsDataStatMetricExt5 OBJECT-TYPE SYNTAX ZeroBasedCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The .... for the MetricExt5. " ::= { reportStatsDataEntry 22 } reportSampledGroup OBJECT IDENTIFIER ::= { reportMIBObjects 2 } -- Then, the reportSampledGroup assignments are : -- reportSampledControlTable - 1 -- reportSampledObjectTable - 2 -- reportSampledDataTable - 3 -- REPORT-MIB Editors' Note: -- The reportSampledGroup is copied from the usrHistory -- group documented in RMON2 [RFC2021]. We have perserved all of -- the annotations and object descriptions, as any changes would -- only diminish the quality of the development. The only changes -- made were to the naming of the objects themselves. Here we have -- merely prefixed the original names with 'report' and changed the -- 'usrHistory' to 'Sampled' as we felt this better reflected the -- the nature of the capability being offered by this group. -- The remainder of this group development is essentially -- copied from [RFC2021]: -- -- Sampled Collection Group (reportSampledGroup) -- -- The reportSampled group combines mechanisms seen in the alarm and -- history groups to provide user-specified samplying collection, -- utilizing two additional control tables and one additional data -- table. This function has traditionally been done by NMS -- applications, via periodic polling. The reportSampled group allows -- this task to be offloaded to a remote managed device. -- -- Data (an ASN.1 INTEGER based object) is collected in the same -- manner as any data table (e.g. etherHistoryTable) except -- that the user specifies the MIB instances to be collected and their -- sampling frequency. Objects are collected in -- bucket-groups, with the intent that all MIB -- instances in the same bucket-group are collected as atomically as -- possible by the remote managed device. -- -- The reportSampledControlTable is a one-dimensional read-create table. -- Each row configures a collection of sampling buckets; the creation -- of a row in this table will cause one or more associated instances in -- the reportSampledObjectTable to be created. The user specifies the -- number of bucket elements (rows in the reportSampledObjectTable) -- requested, as well as the number of buckets requested. -- -- The reportSampledObjectTable is a 2-d read-write table. -- Each row configures a single MIB instance to be collected. -- All rows with the same major index constitute a bucket-group. -- -- The reportSampledTable is a 3-d read-only table containing -- the data of associated reportSampledControlEntries. Each -- entry represents the value of a single MIB instance -- during a specific sampling interval (or the rate of -- change during the interval). -- -- A sample value is stored in two objects - an absolute value and -- a status object. This allows numbers from -(2G-1) to +4G to be -- stored. The status object also indicates whether a sample is -- valid. This allows data collection to continue if periodic -- retrieval of a particular instance fails for any reason. -- -- Row Creation Order Relationships -- -- The static nature of the reportSampledObjectTable creates -- some row creation/modification issues. The rows in this -- table need to be set before the associated -- reportSampledControlEntry can be activated. -- -- Note that the reportSampledObject entries associated with a -- particular reportSampledControlEntry are not required to -- be active before the control entry is activated. However, -- the reportSampled data entries associated with an inactive -- reportSampledObject entry will be inactive (i.e. -- reportSampledValStatus == valueNotAvailable). -- reportSampledControlTable OBJECT-TYPE SYNTAX SEQUENCE OF SampledControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of data-collection configuration entries." ::= { reportSampledGroup 1 } reportSampledControlEntry OBJECT-TYPE SYNTAX SampledControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of parameters that set up a group of user-defined MIB objects to be sampled periodically (called a bucket-group). For example, an instance of reportSampledControlInterval might be named reportSampledControlInterval.1" INDEX { reportSampledControlIndex } ::= { reportSampledControlTable 1 } SampledControlEntry ::= SEQUENCE { reportSampledControlIndex Integer32, reportSampledControlObjects Integer32, reportSampledControlBucketsRequested Integer32, reportSampledControlBucketsGranted Integer32, reportSampledControlInterval Integer32, reportSampledControlOwner OwnerString, reportSampledControlStatus RowStatus } reportSampledControlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the reportSampledControlTable. Each such entry defines a set of samples at a particular interval for a specified set of MIB instances available from the managed system." ::= { reportSampledControlEntry 1 } reportSampledControlObjects OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of MIB objects to be collected in the portion of reportSampledTable associated with this reportSampledControlEntry. This object may not be modified if the associated instance of reportSampledControlStatus is equal to active(1)." ::= { reportSampledControlEntry 2 } reportSampledControlBucketsRequested OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The requested number of discrete time intervals over which data is to be saved in the part of the reportSampledTable associated with this reportSampledControlEntry. When this object is created or modified, the probe should set reportSampledControlBucketsGranted as closely to this object as is possible for the particular probe implementation and available resources." DEFVAL { 50 } ::= { reportSampledControlEntry 3 } reportSampledControlBucketsGranted OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of discrete sampling intervals over which data shall be saved in the part of the reportSampledTable associated with this reportSampledControlEntry. When the associated reportSampledControlBucketsRequested object is created or modified, the probe should set this object as closely to the requested value as is possible for the particular probe implementation and available resources. The probe must not lower this value except as a result of a modification to the associated reportSampledControlBucketsRequested object. The associated reportSampledControlBucketsRequested object should be set before or at the same time as this object to allow the probe to accurately estimate the resources required for this reportSampledControlEntry. There will be times when the actual number of buckets associated with this entry is less than the value of this object. In this case, at the end of each sampling interval, a new bucket will be added to the reportSampledTable. When the number of buckets reaches the value of this object and a new bucket is to be added to the reportSampledTable, the oldest bucket associated with this reportSampledControlEntry shall be deleted by the agent so that the new bucket can be added. When the value of this object changes to a value less than the current value, entries are deleted from the reportSampledTable associated with this reportSampledControlEntry. Enough of the oldest of these entries shall be deleted by the agent so that their number remains less than or equal to the new value of this object. When the value of this object changes to a value greater than the current value, the number of associated reportSampled entries may be allowed to grow." ::= { reportSampledControlEntry 4 } reportSampledControlInterval OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The interval in seconds over which the data is sampled for each bucket in the part of the reportSampled table associated with this reportSampledControlEntry. Because the counters in a bucket may overflow at their maximum value with no indication, a prudent manager will take into account the possibility of overflow in any of the associated counters. It is important to consider the minimum time in which any counter could overflow on a particular media type and set the reportSampledControlInterval object to a value less than this interval. This object may not be modified if the associated reportSampledControlStatus object is equal to active(1)." DEFVAL { 1800 } ::= { reportSampledControlEntry 5 } reportSampledControlOwner OBJECT-TYPE SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { reportSampledControlEntry 6 } reportSampledControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this variable history control entry. An entry may not exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the reportSampledTable shall be deleted." ::= { reportSampledControlEntry 7 } -- Object table reportSampledObjectTable OBJECT-TYPE SYNTAX SEQUENCE OF SampledObjectEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of data-collection configuration entries." ::= { reportSampledGroup 2 } reportSampledObjectEntry OBJECT-TYPE SYNTAX SampledObjectEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of MIB instances to be sampled periodically. Entries in this table are created when an associated reportSampledControlObjects object is created. The reportSampledControlIndex value in the index is that of the associated reportSampledControlEntry. For example, an instance of reportSampledObjectVariable might be reportSampledObjectVariable.1.3" INDEX { reportSampledControlIndex, reportSampledObjectIndex } ::= { reportSampledObjectTable 1 } SampledObjectEntry ::= SEQUENCE { reportSampledObjectIndex Integer32, reportSampledObjectVariable OBJECT IDENTIFIER, reportSampledObjectIpAddrType InetAddressType, reportSampledObjectIpAddress InetAddress, reportSampledObjectSampleType INTEGER } reportSampledObjectIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index used to uniquely identify an entry in the reportSampledObject table. Each such entry defines a MIB instance to be collected periodically." ::= { reportSampledObjectEntry 1 } reportSampledObjectVariable OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "The object identifier of the particular variable to be sampled. Only variables that resolve to an ASN.1 primitive type of Integer32 (Integer32, Counter, Gauge, or TimeTicks) may be sampled. Because SNMP access control is articulated entirely in terms of the contents of MIB views, no access control mechanism exists that can restrict the value of this object to identify only those objects that exist in a particular MIB view. Because there is thus no acceptable means of restricting the read access that could be obtained through the user history mechanism, the probe must only grant write access to this object in those views that have read access to all objects on the probe. During a set operation, if the supplied variable name is not available in the selected MIB view, a badValue error must be returned. This object may not be modified if the associated reportSampledControlStatus object is equal to active(1)." ::= { reportSampledObjectEntry 2 } reportSampledObjectIpAddrType OBJECT-TYPE SYNTAX InetAddressType, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP address type of the IP address associated with the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportSampledObjectEntry 3 } reportSampledObjectIPAddr OBJECT-TYPE SYNTAX InetAddress, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP addree of the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportSampledObjectEntry 4 } reportSampledObjectSampleType OBJECT-TYPE SYNTAX INTEGER { absoluteValue(1), deltaValue(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The method of sampling the selected variable for storage in the reportSampledTable. If the value of this object is absoluteValue(1), the value of the selected variable will be copied directly into the history bucket. If the value of this object is deltaValue(2), the value of the selected variable at the last sample will be subtracted from the current value, and the difference will be stored in the history bucket. If the associated reportSampledObjectVariable instance could not be obtained at the previous sample interval, then a delta sample is not possible, and the value of the associated reportSampledValStatus object for this interval will be valueNotAvailable(1). This object may not be modified if the associated reportSampledControlStatus object is equal to active(1)." ::= { reportSampledObjectEntry 5 } -- data table reportSampledTable OBJECT-TYPE SYNTAX SEQUENCE OF SampledEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of user defined history entries." ::= { reportSampledGroup 3 } reportSampledEntry OBJECT-TYPE SYNTAX SampledEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A historical sample of user-defined variables. This sample is associated with the reportSampledControlEntry which set up the parameters for a regular collection of these samples. The reportSampledControlIndex value in the index identifies the reportSampledControlEntry on whose behalf this entry was created. The reportSampledObjectIndex value in the index identifies the reportSampledObjectEntry on whose behalf this entry was created. For example, an instance of reportSampledAbsValue, which represents the 14th sample of a variable collected as specified by reportSampledControlEntry.1 and reportSampledObjectEntry.1.5, would be named reportSampledAbsValue.1.14.5" INDEX { reportSampledControlIndex, reportSampledSampleIndex, reportSampledObjectIndex } ::= { reportSampledTable 1 } SampledEntry ::= SEQUENCE { reportSampledSampleIndex Integer32, reportSampledIntervalStart TimeStamp, reportSampledIntervalEnd TimeStamp, reportSampledAbsValue Gauge32, reportSampledValStatus INTEGER } reportSampledSampleIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies the particular sample this entry represents among all samples associated with the same reportSampledControlEntry. This index starts at 1 and increases by one as each new sample is taken." ::= { reportSampledEntry 1 } reportSampledIntervalStart OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the start of the interval over which this sample was measured. If the probe keeps track of the time of day, it should start the first sample of the history at a time such that when the next hour of the day begins, a sample is started at that instant. Note that following this rule may require the probe to delay collecting the first sample of the history, as each sample must be of the same interval. Also note that the sample which is currently being collected is not accessible in this table until the end of its interval." ::= { reportSampledEntry 2 } reportSampledIntervalEnd OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the end of the interval over which this sample was measured." ::= { reportSampledEntry 3 } reportSampledAbsValue OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The absolute value (i.e. unsigned value) of the user-specified statistic during the last sampling period. The value during the current sampling period is not made available until the period is completed. To obtain the true value for this sampling interval, the associated instance of reportSampledValStatus must be checked, and reportSampledAbsValue adjusted as necessary. If the MIB instance could not be accessed during the sampling interval, then this object will have a value of zero and the associated instance of reportSampledValStatus will be set to 'valueNotAvailable(1)'." ::= { reportSampledEntry 4 } reportSampledValStatus 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 instance of reportSampledAbsValue. If the MIB instance could not be accessed during the sampling interval, then 'valueNotAvailable(1)' will be returned. If the sample is valid and actual value of the sample is greater than or equal to zero then 'valuePositive(2)' is returned. If the sample is valid and the actual value of the sample is less than zero, 'valueNegative(3)' will be returned. The associated instance of reportSampledAbsValue should be multiplied by -1 to obtain the true sample value." ::= { reportSampledEntry 5 } -- REPORT-MIB Editors' Note: This ends the copy of definitions from -- the usrHistory group from RMON2 [RFC 2021]. reportHistoryGroup OBJECT IDENTIFIER ::= { reportMIBObjects 3 } -- Then, the reportHistoryGroup assignments are : -- reportHistoryControlTable - 1 -- reportHistoryDataTable - 2 -- Notes: The history group is intended to track changes in -- identified objects ot type counter, gauge, other. Each, -- time the object is updated in the associated MIB, the -- history group stores a table entry in the associated -- historyDataTable capturing the time the change was -- made to the identified object. -- The historyControl Table ... -- -- The historyData Table .... reportHistoryControlEntry OBJECT-TYPE SYNTAX HistoryControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of parameters that set up the collection of a history of changes in the user-defined MIB objects. For example, an instance of reportHistoryControlInterval might be named reportHistoryControlInterval.1" INDEX { reportHistoryControlIndex } ::= { reportHistoryControlTable 1 } HistoryControlEntry ::= SEQUENCE { reportHistoryControlIndex Integer32, reportHistoryControlObject OBJECT IDENTIFIER, reportHistoryObjectIpAddrType InetAddrType, reportHistoryObjectIpAddress InetAddress, reportHistoryControlSizeRequested Integer32, reportHistoryControlSizeGranted Integer32, reportHistoryControlInterval Integer32, reportHistoryControlOwner OwnerString, reportHistoryControlStatus RowStatus } reportHistoryControlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the reportHistoryControlTable. Each such entry defines a set of histories at a particular interval for a specified MIB object instance available from the managed system." ::= { reportHistoryControlEntry 1 } reportHistoryControlObject OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "The MIB object to be monitored for the collection histories in the reportHistoryDataTable associated with this reportHistoryControlEntry. This object may not be modified if the associated instance of reportHistoryControlStatus is equal to active(1)." ::= { reportHistoryControlEntry 2 } reportHistoryObjectIpAddrType OBJECT-TYPE SYNTAX InetAddressType, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP address type of the IP address associated with the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportHistoryControlEntry 3 } reportHistoryObjectIPAddr OBJECT-TYPE SYNTAX InetAddress, MAX-ACCESS read-create STATUS current DESCRIPTION "This identifies the IP addree of the secondary counter object to be monitored within this report. This object may not be modified if the associated reportStatsControlStatus object is equal to active(1)." ::= { reportHistoryControlEntry 4 } reportHistoryControlRequested OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The requested maximum number of history entries to be saved in the reportHistoryDataTable associated with this reportHistoryControlEntry. When this object is created or modified, the device should set reportHistoryControlSizeGranted as closely to this object as is possible for the particular device implementation and available resources." DEFVAL { 50 } ::= { reportHistoryControlEntry 5 } reportHistoryControlSizeGranted OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum allowed number of discrete history entries in the reportHistoryTable associated with this reportHistoryControlEntry. When the associated reportHistoryControlSizeRequested object is created or modified, the device should set this object as closely to the requested value as is possible for the particular device implementation and available resources. The device must not lower this value except as a result of a modification to the associated reportHistoryControlSizeRequested object. The associated reportHistoryControlSizeRequested object should be set before or at the same time as this object to allow the device to accurately estimate the resources required for this reportHistoryControlEntry. When the number of histories reaches the value of this object and a new history is to be added to the reportHistoryTable, the oldest history associated with this reportHistoryControlEntry shall be deleted by the agent so that the new history can be added." ::= { reportHistoryControlEntry 6 } reportHistoryControlInterval OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The interval in seconds over which the data histories are to be re4corded in the part of the reportHistory table associated with this reportHistoryControlEntry. This object may not be modified if the associated reportHistoryControlStatus object is equal to active(1)." DEFVAL { 1800 } ::= { reportHistoryControlEntry 7 } reportHistoryControlOwner OBJECT-TYPE SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { reportHistoryControlEntry 8 } reportHistoryControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this variable history control entry. An entry may not exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the reportHistoryTable shall be deleted." ::= { reportHistoryControlEntry 9 } -- data table reportHistoryTable OBJECT-TYPE SYNTAX SEQUENCE OF HistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of user defined history entries." ::= { reportHistoryGroup 3 } reportHistoryEntry OBJECT-TYPE SYNTAX HistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A historical trail of user-defined variables. This list is associated with the reportHistoryControlEntry which set up the parameters for a regular collection of these samples. The reportHistoryControlIndex value in the index identifies the reportHistoryControlEntry on whose behalf this entry was created. This also identifies the MIB object being tracked by this reportHistoryEntry. For example, an instance of reportHistory... " INDEX { reportHistoryControlIndex, reportHistoryDataIndex } ::= { reportHistoryTable 1 } HistoryEntry ::= SEQUENCE { reportHistoryDataIndex Integer32, reportHistoryDataChangeTime TimeStamp, reportHistoryDataValueType INTEGER, reportHistoryDataValue string, reportHistoryDataValStatus INTEGER } reportHistoryDataIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies the particular sample this entry represents among all historical entries associated with the same reportHistoryControlEntry. This index starts at 1 and increases by one as each new sample is taken." ::= { reportHistoryEntry 1 } reportHistoryDataChangeTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time that the MIB object was updated." ::= { reportHistoryEntry 2 } -- Note: May want to move this to the reportHistoryControlTable, -- as it is too redundant in this table. Also, need to reconsider -- the best way to indicate type and to represent values. reportHistoryDataValueType OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the data value stored in the reportHistoryDataValue string. The user identifies the MIB object to be tracked by this table. Various types of objects can be track, so the application needs to know the data type being stored. Types supported include counter, gauge, integer, float. " ::= { reportHistoryEntry 3 } reportHistoryDataValue OBJECT-TYPE SYNTAX string, MAX-ACCESS read-only STATUS current DESCRIPTION "The absolute value of the user-specified MIB object tracked by this table entry. If the MIB instance could not be accessed .... " ::= { reportHistoryEntry 4 } -- Note: Need to consider in detail the ability of the -- device to track the times of object change in -- enough detial to be useful. What happens if the -- device gets too busy and delays updating MIB object -- values tracked by this table entry. Needs more work. reportHistoryDataValStatus OBJECT-TYPE SYNTAX INTEGER { valueAvailable(1), valueDelayed(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the validity of the data in the associated instance of reportHistoryAbsValue. If the MIB instance could not be accessed promptely, then 'valueDelayed(2)' will be returned. If the sample is valid and actual value of the sample was promptly recorded, then 'valueAvailable(1)' is returned. " ::= { reportHistoryEntry 5 } -- -- Notifications -- -- NOTE: What notifications do we want for this MIB? -- Checkout what is done in the APM-MIB for Notifications? -- Examples may include a) report completion -- b) overflow counters exceeded -- c) memory exceeded -- d) new test/report initiated (by one -- manager, but notification sent -- to another. -- -- Compliance Statements -- -- [NOTE: Current thoughts on Conformance follow: -- Mandatory for Stats will include no extensions, -- or high capacity objects. -- Hence, the reports will have only the hard-coded statistics. -- Optional for Stats will be extensions definition table and high -- capacity objects. -- -- Mandatory for Sampled will include all. -- -- Mandatory for History will include all.] reportCompliances OBJECT IDENTIFIER ::= { reportMIBConformance 1 } reportMIBGroups OBJECT IDENTIFIER ::= { reportMIBConformance 2 } reportStatsBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The Stats basic implementation requirements for managed network entities that implement the REPORT process." MODULE -- this module MANDATORY-GROUPS {reportStatsCapabilitiesBaseObjectsGroup, reportStatsControlBaseObjectsGroup, reportStatsDataBaseObjectsGroup } ::= { reportCompliances 1 } reportStatsHCCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The HC implementation requirements for managed network entities that implement the REPORT process." MODULE -- this module MANDATORY-GROUPS {reportStatsCapabilitiesBaseObjectsGroup, reportStatsControlBaseObjectsGroup, reportStatsDataBaseObjectsGroup, reportStatsDataHCObjectsGroup } ::= { reportCompliances 2 } reportStatsExtendedMetricsCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The extended metrics implementation requirements for managed network entities that implement the REPORT process." MODULE -- this module MANDATORY-GROUPS {reportStatsCapabilitiesBaseObjectsGroup, reportStatsControlBaseObjectsGroup, reportStatsDataBaseObjectsGroup, reportStatsExtendedMetricsCapabilitiesObjectsGroup, reportStatsExtendedMetricsControlObjectsGroup, reportStatsExtendedMetricsDataObjectsGroup } ::= { reportCompliances 3 } reportSampledBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The Sampled basic implementation requirements for managed network entities that implement the REPORT process." MODULE -- this module MANDATORY-GROUPS {reportSampledCapabilitiesBaseObjectsGroup, reportSampledControlBaseObjectsGroup, reportSampledObjectIDBaseObjectsGroup, reportSampledDataBaseObjectsGroup } ::= { reportCompliances 4 } reportHistoryBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The History basic implementation requirements for managed network entities that implement the REPORT process." MODULE -- this module MANDATORY-GROUPS {reportHistoryControlBaseObjectsGroup, reportHistoryDataBaseObjectsGroup } ::= { reportCompliances 5 } -- Units of Conformance reportStatsCapabilitiesBaseObjectsGroup OBJECT-GROUP OBJECTS { reportClockResolution, reportClockMaxSkew, reportClockSource } STATUS current DESCRIPTION "Set of REPORT configuration objects implemented in this module." ::= { reportMIBGroups 1 } reportStatsControlBaseObjectsGroup OBJECT-GROUP OBJECTS { reportStatsControlInterval, reportStatsControlBinInterval, reportStatsControlPriObjID, reportStatsControlPriObjIpAddrType, reportStatsControlPriObjIPAddr, reportStatsControlReqReports, reportStatsControlGrantedReports, reportStatsControlStartTime, reportStatsControlReportNumber, reportStatsControlInsertsDenied, reportStatsControlOwner, reportStatsControlStorageType, reportStatsControlStatus } STATUS current DESCRIPTION "Set of REPORT Stats Control base objects implemented in this module." ::= { reportMIBGroups 2 } reportStatsDataBaseObjectsGroup OBJECT-GROUP OBJECTS { reportStatsDataServerAddress, reportStatsDataStatN, reportStatsDataStatSumX, reportStatsDataOverflowStatSumX, reportStatsDataStatMaximum, reportStatsDataStatMinimum, reportStatsDataStatSumSq, reportStatsDataOverflowStatSumSq, reportStatsDataStatSumIX, reportStatsDataOverflowStatSumIX, reportStatsDataStatSumIXSq, reportStatsDataOverflowStatSumIXSq } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 3 } reportStatsDataHCObjectsGroup OBJECT-GROUP OBJECTS { reportStatsDataHCStatSumX, reportStatsDataHCStatSumSq, reportStatsDataHCStatSumIX, reportStatsDataHCStatSumIXSq } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 4 } reportStatsExtendedMetricsCapabilitiesObjectsGroup OBJECT-GROUP OBJECTS { reportMetricExtDefType, reportMetricExtDefName, reportMetricExtDefOperation, reportMetricExtDefReference, reportMetricDirLastChange } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 5 } reportStatsExtendedMetricsControlObjectsGroup OBJECT-GROUP OBJECTS { reportStatsControlSecObj1ID, reportStatsControlSecObj1IpAddrType, reportStatsControlSecObj1IPAddr, reportStatsControlSecObj2ID, reportStatsControlSecObj2IpAddrType, reportStatsControlSecObj2IPAddr, reportStatsControlSecObj3ID, reportStatsControlSecObj3IpAddrType, reportStatsControlSecObj3IPAddr, reportStatsControlSecObj4ID, reportStatsControlSecObj4IpAddrType, reportStatsControlSecObj4IPAddr, reportStatsControlSecObj5ID, reportStatsControlSecObj5IpAddrType, reportStatsControlSecObj5IPAddr, reportStatsControlMetricExt1, reportStatsControlMetricExt2, reportStatsControlMetricExt3, reportStatsControlMetricExt4, reportStatsControlMetricExt5 } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 6 } reportStatsExtendedMetricsDataObjectsGroup OBJECT-GROUP OBJECTS { reportStatsDataStatMetricExt1, reportStatsDataStatMetricExt2, reportStatsDataStatMetricExt3, reportStatsDataStatMetricExt4, reportStatsDataStatMetricExt5 } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 7 } reportSampledControlBaseObjectsGroup OBJECT-GROUP OBJECTS { reportSampledControlObjects, reportSampledControlBucketsRequested, reportSampledControlBucketsGranted, reportSampledControlInterval, reportSampledControlOwner, reportSampledControlStatus } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 8 } reportSampledObjectIDBaseObjectsGroup OBJECT-GROUP OBJECTS { reportSampledObjectVariable, reportSampledObjectIpAddrType, reportSampledObjectIpAddress, reportSampledObjectSampleType } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 9 } reportSampledDataBaseObjectsGroup OBJECT-GROUP OBJECTS { reportSampledIntervalStart, reportSampledIntervalEnd, reportSampledAbsValue, reportSampledValStatus } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 10 } reportHistoryControlBaseObjectsGroup OBJECT-GROUP OBJECTS { reportHistoryControlObjects, reportHistoryObjectIpAddrType, reportHistoryObjectIpAddress, reportHistoryControlSizeRequested, reportHistoryControlSizeGranted, reportHistoryControlInterval, reportHistoryControlOwner, reportHistoryControlStatus } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 11 } reportHistoryDataBaseObjectsGroup OBJECT-GROUP OBJECTS { reportHistoryDataChangeTime, reportHistoryDataValueType, reportHistoryDataValue, reportHistoryDataValStatus } STATUS current DESCRIPTION "Set of REPORT state objects implemented in this module." ::= { reportMIBGroups 12 } END
TOC |
[TODO] Each specification that defines one or more MIB modules MUST contain a section that discusses security considerations relevant to those modules. This section MUST be patterned after the latest approved template (available at http://www.ops.ietf.org/mib-security.html). Remember that the objective is not to blindly copy text from the template, but rather to think and evaluate the risks/vulnerabilities and then state/document the result of this evaluation.
[TODO] if you have any read-write and/or read-create objects, please include the following boilerplate paragraph.
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:
[TODO] else if there are no read-write objects in your MIB module, use the following boilerplate paragraph.
There are no management objects defined in this MIB module that have a MAX-ACCESS clause of read-write and/or read-create. So, if this MIB module is implemented correctly, then there is no risk that an intruder can alter or create any management objects of this MIB module via direct SNMP SET operations.
[TODO] if you have any sensitive readable objects, please include the following boilerplate paragraph.
Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability:
[TODO] discuss what security the protocol used to carry the information should have. The following three boilerplate paragraphs should not be changed without very good reason. Changes will almost certainly require justification during IESG review.
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] (Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework,” December 2002.), 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.
TOC |
[TODO] In order to comply with IESG policy as set forth in http://www.ietf.org/ID-Checklist.html, every Internet-Draft that is submitted to the IESG for publication MUST contain an IANA Considerations section. The requirements for this section vary depending what actions are required of the IANA. see RFC4181 section 3.5 for more information on writing an IANA clause for a MIB module document.
[TODO] select an option and provide the necessary details.
Option #1:
The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry: Descriptor OBJECT IDENTIFIER value ---------- ----------------------- sampleMIB { mib-2 XXX }
Option #2:
Editor's Note (to be removed prior to publication): the IANA is requested to assign a value for "XXX" under the 'mib-2' sub-tree and to record the assignment in the SMI Numbers registry. When the assignment has been made, the RFC Editor is asked to replace "XXX" (here and in the MIB module) with the assigned value and to remove this note.
Note well: prior to official assignment by the IANA, a draft document MUST use placeholders (such as "XXX" above) rather than actual numbers. See RFC4181 Section 4.5 for an example of how this is done in a draft MIB module.
Option #3:
This memo includes no request to IANA.
TOC |
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.
TOC |
We would like to thank Bert Wijnen and Andy Bierman 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 his forcing additions to this MIB through his thoughtful consideration of performance monitoring requirements for other MIBs, e.g., NHDP and OLSR MIBs.
TOC |
TOC |
[RFC2863] | McCloghrie, K. and F. Kastenholz, “The Interfaces Group MIB,” RFC 2863, June 2000 (TXT). |
[RFC3418] | Presuhn, R., “Management Information Base (MIB) for the Simple Network Management Protocol (SNMP),” STD 62, RFC 3418, December 2002 (TXT). |
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML). |
[RFC2578] | McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” STD 58, RFC 2578, April 1999 (TXT). |
[RFC2579] | McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” STD 58, RFC 2579, April 1999 (TXT). |
[RFC2580] | McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” STD 58, RFC 2580, April 1999 (TXT). |
TOC |
[RFC3410] | Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework,” RFC 3410, December 2002 (TXT). |
[RFC1757] | Waldbusser, S., “Remote Network Monitoring Management Information Base,” RFC 1757, February 1995 (TXT). |
[RFC2021] | Waldbusser, S., “Remote Network Monitoring Management Information Base Version 2 using SMIv2,” RFC 2021, January 1997 (TXT). |
[RFC4150] | Dietz, R. and R. Cole, “Transport Performance Metrics MIB,” RFC 4150, August 2005 (TXT). |
TOC |
Changes from draft-cole-manet-report-mib-02 to draft-ietf-manet-report-mib-00 draft.
Changes from -01 to -02 draft.
Changes from -00 to -01 draft.
TOC |
This section contains the set of open issues related to the development and design of the REPORT-MIB. 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.
TOC |
*************************************************************** * 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. * * * ***************************************************************
TOC |
Robert G. Cole | |
US Army CERDEC | |
328 Hopkins Road | |
Aberdeen Proving Ground, Maryland 21005 | |
USA | |
Phone: | +1 410 278 6779 |
EMail: | robert.g.cole@us.army.mil |
URI: | http://www.cs.jhu.edu/~rgcole/ |
Joseph Macker | |
Naval Research Laboratory | |
Washington, D.C. 20375 | |
USA | |
EMail: | macker@itd.nrl.navy.mil |
Al Morton | |
AT&T Laboratories | |
Middletown, N.J. 07724 | |
USA | |
EMail: | amorton@att.com |