rfc2982.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,740 行 · 第 1/5 页

TXT
1,740
字号
   instance values to use.

   An implementation without wildcards might be useful for a self-
   managing system with small tables or few dynamic instances, or one
   that can do calculations only for a few key objects.

2.4.2.  No Deltas

   Leaving out delta processing significantly reduces state that must be
   kept and the burden of ongoing processing even when no one is looking
   at the results.  Unfortunately it also makes expressions on counters
   unusable, as counters have meaning only as deltas.

   An implementation without deltas might be useful for a severely
   limited, self-managing system that has no need for expressions or
   events on counters.  Although conceivable, such systems would be
   rare.

2.5.  Structure

   The MIB has the following sections:

       o   Resource -- management of the MIB's use of system resources.

       o   Definition -- definition of expressions.

       o   Value -- values of evaluated expressions.

2.5.1.  Resource

   The resource section has objects to manage resource usage by
   wildcarded delta expressions, a potential major consumer of CPU and
   memory.

2.5.2.  Definition

   The definition section contains the tables that define expressions.

   The expression table, indexed by expression owner and expression
   name, contains those parameters that apply to the entire expression,
   such as the expression itself, the data type of the result, and the
   sampling interval if it contains delta or change values.



Kavasseri & Stewart         Standards Track                     [Page 7]

RFC 2982         Distributed Management Expression MIB      October 2000


   The object table, indexed by expression owner, expression name and
   object index within each expression, contains the parameters that
   apply to the individual objects that go into the expression,
   including the object identifier, sample type, discontinuity
   indicator, and such.

2.5.3.  Value

   The value section contains the values of evaluated expressions.

   The value table, indexed by expression owner, expression name and
   instance fragment contains a "discriminated union" of evaluated
   expression results.  For a given expression only one of the columns
   is instantiated, depending on the result data type for the
   expression.  The instance fragment is a constant or the final section
   of the object identifier that filled in a wildcard.

2.6.  Examples

   The examples refer to tables and objects defined below in the MIB
   itself.  They may well make more sense after reading those
   definitions.

2.6.1.  Wildcarding

   An expression may use wildcarded MIB objects that result in multiple
   values for the expression.  To specify a wildcarded MIB object a
   management application leaves off part or all of the instance portion
   of the object identifier, and sets expObjectWildcard to true(1) for
   that object.  For our example we'll use a counter of total blessings
   from a table of people.  Another table, indexed by town and person
   has blessings just from that town.

   So the index clauses are:

       personEntry OBJECT-TYPE
       ...
       INDEX { personIndex }

   And:

       townPersonEntry OBJECT-TYPE
       ...
       INDEX { townIndex, personIndex }







Kavasseri & Stewart         Standards Track                     [Page 8]

RFC 2982         Distributed Management Expression MIB      October 2000


   In our friendly application we may have entered our expression as:

       100 * townPersonBlessings.976.* / personBlessings.*

   What goes in expExpression is:

       100*$1/$2

   For example purposes we'll use some slightly far-fetched OIDs.  The
   People MIB is 1.3.6.1.99.7 and the Town MIB is 1.3.6.1.99.11, so for
   our two counters the OIDs are:

       personBlessings      1.3.6.1.99.7.1.3.1.4
       townPersonBlessings       1.3.6.1.99.11.1.2.1.9

   The rule for wildcards is that all the wildcarded parts have to match
   exactly.  In this case that means we have to hardwire the town and
   only the personIndex can be wildcarded.  So our values for
   expObjectID are:

       1.3.6.1.99.7.1.3.1.4
       1.3.6.1.99.11.1.2.1.9.976

   We're hardwired to townIndex 976 and personIndex is allowed to vary.

   The value of expExpressionPrefix can be either of those two counter
   OIDs (including the instance fragment in the second case), since
   either of them takes you to a MIB definition where you can look at
   the INDEX clause and figure out what's been left off.  What's been
   left off doesn't have to work out to be the same object, but it does
   have to work out to be the same values (semantics) for the result to
   make sense.  Note that the managed system can not typically check
   such semantics and if given nonsense will return nonsense.

   If we have people numbered 6, 19, and 42 in town number 976, the
   successive values of expValueInstance will be:

       0.0.6
       0.0.19
       0.0.42

   So there will be three values in expValueTable, with those OIDs as
   the expValueInstance part of their indexing.








Kavasseri & Stewart         Standards Track                     [Page 9]

RFC 2982         Distributed Management Expression MIB      October 2000


2.6.2.  Calculation and Conditional

   The following formula for line utilization of a half-duplex link is
   adapted from [PracPersp].

    utilization = (ifInOctets + ifOutOctets) * 800 / seconds / ifSpeed

   The expression results in the percentage line utilization per second.
   The total octets are multiplied by 8 to get bits and 100 to scale up
   the percentage as an integer.

   The following Expression MIB object values implement this as an
   expression for all ifIndexes that directly represent actual hardware.
   Since the octet counters are Counter32 values, they must be delta
   sampled to be meaningful.  The sample period is 6 seconds but for
   accuracy and independence is calculated as a delta of sysUpTime.

   The expObjectTable entry for ifInOctets has an expObjectConditional
   that checks for being a hardware interface.  Only one object in the
   expression needs that check associated, since it applies to the whole
   expression.  Since ifConnectorPresent is a TruthValue with values of
   1 or 2 rather than 0 and non-zero, it must also be in an expression
   rather than used directly for the conditional.

   The interface-specific discontinuity indicator is supplied only for
   ifInOctets since invalidating that sample will invalidate an attempt
   at evaluation, effectively invalidating ifOutOctets as well
   (correctly, because it has the same indicator).

   For notational clarity, in the rest of this document, a string in
   quotes as part of the object instance indicates the value that would
   actually be one subidentifier per byte.  The objects all belong to
   owner "me".

   Also for clarity OIDs are expressed as the object descriptor and
   instance.  In fact they must be supplied numerically, with all
   subidentifiers in place before the part for the particular object and
   instance.

   What the user would set in expExpressionTable:

   expExpression.2."me".4."hard"      = "$1==1"
   expExpressionValueType.2."me".4."hard"  = unsigned32
   expExpressionRowStatus.2."me"4."hard"   = 'active'







Kavasseri & Stewart         Standards Track                    [Page 10]

RFC 2982         Distributed Management Expression MIB      October 2000


   expExpression.2."me".4."util"      = "($1+$2)*800/$4/$3"
   expExpressionValueType.2."me".4."util"  = integer32
   expExpressionDeltaInterval.2."me".4."util"   = 6
   expExpressionRowStatus.2."me"4."util"   = 'active'

   What the user would set in expObjectTable:

   expObjectID.2."me".4."hard".1      = ifConnectorPresent
   expObjectWildcard.2."me".4."hard".1     = 'true'
   expObjectSampleType.2."me".4."hard".1   = 'absoluteValue'
   expObjectRowStatus.2."me".4."hard".1    = 'active'

   expObjectID.2."me".4."util".1      = ifInOctets
   expObjectWildcard.2."me".4."util".1     = 'true'
   expObjectSampleType.2."me".4."util".1   = 'deltaValue'
   expObjectConditional.2."me".4."util".1  =
   expValueUnsigned32Val.4."hard".0.0
   expObjectConditionalWildcard.2."me".4."util".1    = 'true'
   expObjectDiscontinuityID.2."me".4."util".1   =
   ifCounterDiscontinuityTime
   expObjectDiscontinuityIDWildcard.2."me".4."util".1     = 'true'
   expObjectRowStatus.2."me".4."util".1    = 'active'

   expObjectID.2."me".4."util".2      = ifOutOctets
   expObjectWildcard.2."me".4."util".2     = 'true'
   expObjectSampleType.2."me".4."util".2   = 'deltaValue'
   expObjectRowStatus.2."me".4."util".2    = 'active'

   expObjectID.2."me".4."util".3      = ifSpeed
   expObjectWildcard.2."me".4."util".3     = 'true'
   expObjectSampleType.2."me".4."util".3   = 'absoluteValue'
   expObjectRowStatus.2."me".4."util".3    = 'active'

   expObjectID.2."me".4."util".4      = sysUpTime.0
   expObjectWildcard.2."me".4."util".4     = 'false'
   expObjectSampleType.2."me".4."util".4   = 'deltaValue'
   expObjectRowStatus.2."me".4."util".4    = 'active'

   These settings will result in populating one column of expValueTable:

   expValueInteger32Val.2."me".4."util".0.0.?

   The subidentifier represented by "?" above represents one
   subidentifier that takes on a value of ifIndex and identifies a row
   for each ifIndex value where ifConnectorPresent is 'true' and the
   interface was present for two samples to provide a delta.





Kavasseri & Stewart         Standards Track                    [Page 11]

RFC 2982         Distributed Management Expression MIB      October 2000


   This value could in turn be used as an event threshold [RFC2981] to
   watch for overutilization of all hardware network connections.

3.  Definitions

DISMAN-EXPRESSION-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Gauge32, Unsigned32,
    Counter32, Counter64, IpAddress,
    TimeTicks, mib-2, zeroDotZero  FROM SNMPv2-SMI
    RowStatus, TruthValue, TimeStamp    FROM SNMPv2-TC
    sysUpTime                 FROM SNMPv2-MIB
    SnmpAdminString           FROM SNMP-FRAMEWORK-MIB
    MODULE-COMPLIANCE, OBJECT-GROUP     FROM SNMPv2-CONF;

dismanExpressionMIB MODULE-IDENTITY
    LAST-UPDATED "200010160000Z" -- 16 October 2000
    ORGANIZATION "IETF Distributed Management Working Group"
    CONTACT-INFO "Ramanathan Kavasseri
                  Cisco Systems, Inc.
                  170 West Tasman Drive,
                  San Jose CA 95134-1706.
                  Phone: +1 408 527 2446
                  Email: ramk@cisco.com"
    DESCRIPTION
     "The MIB module for defining expressions of MIB objects for
     management purposes."
-- Revision History

       REVISION     "200010160000Z" -- 16 October 2000
       DESCRIPTION  "This is the initial version of this MIB.
                    Published as RFC 2982"
    ::= { mib-2 90 }


dismanExpressionMIBObjects OBJECT IDENTIFIER ::=
                                            { dismanExpressionMIB 1 }

expResource    OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 1 }
expDefine OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 2 }
expValue  OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 3 }

--
-- Resource Control
--




Kavasseri & Stewart         Standards Track                    [Page 12]

RFC 2982         Distributed Management Expression MIB      October 2000


expResourceDeltaMinimum OBJECT-TYPE
    SYNTAX      Integer32 (-1 | 1..600)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "The minimum expExpressionDeltaInterval this system will
     accept.  A system may use the larger values of this minimum to
     lessen the impact of constantly computing deltas.  For larger
     delta sampling intervals the system samples less often and
     suffers less overhead.  This object provides a way to enforce
     such lower overhead for all expressions created after it is
     set.

     The value -1 indicates that expResourceDeltaMinimum is
     irrelevant as the system will not accept 'deltaValue' as a
     value for expObjectSampleType.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?