snmp_mib_archive/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB.my
Heston Snodgrass 89bf4b016e initial commit
2016-12-15 15:03:18 -07:00

1326 lines
41 KiB
Plaintext

-- *****************************************************************
-- NBAR Protocol Discovery MIB file.
--
-- August 2001, Richard Wellum
---
-- Copyright (c) 2001, 2002 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
CISCO-NBAR-PROTOCOL-DISCOVERY-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE,
NOTIFICATION-TYPE,
Unsigned32,
Counter32,
Counter64,
TimeTicks
FROM SNMPv2-SMI
MODULE-COMPLIANCE,
OBJECT-GROUP,
NOTIFICATION-GROUP
FROM SNMPv2-CONF
TEXTUAL-CONVENTION,
TruthValue,
RowStatus
FROM SNMPv2-TC
ifIndex,
InterfaceIndex
FROM IF-MIB
ciscoMgmt
FROM CISCO-SMI;
ciscoNbarProtocolDiscoveryMIB MODULE-IDENTITY
LAST-UPDATED "200208160000Z"
ORGANIZATION "Cisco Systems, Inc."
CONTACT-INFO
" Cisco Systems
Customer Service
Postal: 170 W. Tasman Drive
San Jose, CA 95134-1706
USA
Tel: +1 800 553-NETS
E-mail: cs-cnpd-mib@cisco.com"
DESCRIPTION
"Cisco NBAR Protocol Discovery MIB
NBAR - Network Based Application Recognition is
an intelligent classification engine that recognizes
applications that are static (which use fixed TCP or
UDP port numbers), and stateful (which dynamically
assign TCP or UDP port numbers).
Protocol Discovery - uses NBAR to show you the mix
of applications currently running on the network.
Key statistics are associated with each protocol.
These statistics can be used to define traffic
classes and QoS policies.
Functionality:
1. To enable/disable Protocol Discovery per interface.
2. Display the protocols/applications which NBAR
currently recognizes.
3. To display various Protocol Discovery statistics.
4. A configurable top N table which lists
protocols using user defined criteria.
5. To configure notifications (traps) based
on configurable statistic thresholds.
6. To maintain a history table of all notification
events."
REVISION "200208160000Z"
DESCRIPTION
"Added comment that cnpdStatusLastUpdateTime becomes
zero when PD disabled.
Added comment that during overflow in cnpdAllStatsTable,
the 32 bit counter not valid. There is no overflow
support for it. One should only use the HC (64 bit)
counters to get the stats in cnpdAllStatsTable
Default cnpdTopNConfigStatsSelect changed from
'bitRateSum' to 'byteCountSum'.
Added better rowStatus descriptions to TopNConfig and
ThresholdConfig tables.
Added comment to explain what TopNSampleTime really does -
i.e only changes sample time for bitrate on an interface.
Changed sizes of TopN and Threshold tables according to
memory requirements and recommendations from various
platforms.
Added following objects to cnpdThresholdHistoryTable:
cnpdThresholdHistoryValue
cnpdThresholdHistoryType
cnpdThresholdHistoryProtocol
cnpdThresholdHistoryStatsSelect
Changed reported objects in Notification Table to reflect
changes in cnpdThresholdHistoryTable."
REVISION "200112280000Z"
DESCRIPTION
"Initial version of this MIB module"
::= { ciscoMgmt 244 }
--
-- Textual Conventions
--
CiscoPdProtocolIndex ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An object which represents a unique
identifier for a protocol or application
which NBAR currently recognizes.
The value of this object is defined in
the cnpdSupportedProtocolsTable."
SYNTAX Unsigned32
CiscoPdProtocolName ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Name of an application or protocol,
which NBAR is capable of recognizing.
For example: ftp, vdolive and citrix."
SYNTAX OCTET STRING (SIZE (1..255))
CiscoPdDataType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"These are the data types which NBAR
can measure a particular protocol by.
bitRateIn(1) - incoming bitrate.
bitRateOut(2) - outgoing bitrate.
bitRateSum(3) - sum of incoming and
outgoing bitrate.
byteCountIn(4) - incoming bytecount.
byteCountOut(5) - outgoing bytecount.
byteCountSum(6) - sum of incoming and
outgoing bytecount.
packetCountIn(7) - incoming packetcount.
packetCountOut(8) - outgoing packetcount.
packetCountSum(9) - sum of incoming and
outgoing packetcount.
UNITS:
bitrate - unit is kilo bits per second
bytecount - unit is bytes
packetcount - unit is packets"
SYNTAX INTEGER {
bitRateIn (1),
bitRateOut (2),
bitRateSum (3),
byteCountIn (4),
byteCountOut (5),
byteCountSum (6),
packetCountIn (7),
packetCountOut (8),
packetCountSum (9)
}
--
-- Overview of MIB Objects:
--
cnpdMIBNotifications
OBJECT IDENTIFIER ::= { ciscoNbarProtocolDiscoveryMIB 0 }
cnpdMIBObjects
OBJECT IDENTIFIER ::= { ciscoNbarProtocolDiscoveryMIB 1 }
cnpdMIBConformance
OBJECT IDENTIFIER ::= { ciscoNbarProtocolDiscoveryMIB 2 }
cnpdStatus
OBJECT IDENTIFIER ::= { cnpdMIBObjects 1 }
cnpdAllStats
OBJECT IDENTIFIER ::= { cnpdMIBObjects 2 }
cnpdTopNConfig
OBJECT IDENTIFIER ::= { cnpdMIBObjects 3 }
cnpdTopNStats
OBJECT IDENTIFIER ::= { cnpdMIBObjects 4 }
cnpdThresholdConfig
OBJECT IDENTIFIER ::= { cnpdMIBObjects 5 }
cnpdThresholdHistory
OBJECT IDENTIFIER ::= { cnpdMIBObjects 6 }
cnpdNotificationsConfig
OBJECT IDENTIFIER ::= { cnpdMIBObjects 7 }
cnpdSupportedProtocols
OBJECT IDENTIFIER ::= { cnpdMIBObjects 8 }
cnpdMIBCompliances
OBJECT IDENTIFIER ::= { cnpdMIBConformance 1 }
cnpdMIBGroups
OBJECT IDENTIFIER ::= { cnpdMIBConformance 2 }
-- The NBAR Protocol Discovery Supported Protocols table
--
cnpdSupportedProtocolsTable OBJECT-TYPE
SYNTAX SEQUENCE OF CnpdSupportedProtocolsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Supported Protocols table lists all the
protocols and applications which NBAR is currently
capable of recognizing."
::= { cnpdSupportedProtocols 1 }
cnpdSupportedProtocolsEntry OBJECT-TYPE
SYNTAX CnpdSupportedProtocolsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A entry in the Supported Protocols table reflecting
key information about a protocol."
INDEX { cnpdSupportedProtocolsIndex }
::= { cnpdSupportedProtocolsTable 1 }
CnpdSupportedProtocolsEntry ::= SEQUENCE {
cnpdSupportedProtocolsIndex CiscoPdProtocolIndex,
cnpdSupportedProtocolsName CiscoPdProtocolName
}
cnpdSupportedProtocolsIndex OBJECT-TYPE
SYNTAX CiscoPdProtocolIndex (1..1024)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique identifier of a row in this table.
Thus it also represents a unique identifier for a
protocol or application which NBAR currently
recognizes."
::= { cnpdSupportedProtocolsEntry 1 }
cnpdSupportedProtocolsName OBJECT-TYPE
SYNTAX CiscoPdProtocolName
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object reflects the valid string of a
protocol or application which NBAR currently
recognizes."
::= { cnpdSupportedProtocolsEntry 2 }
--
-- The NBAR Protocol Discovery Statistics group
--
-- This group is comprised of two tables, cnpdStatusTable
-- to enable Protocol Discovery, and
-- cnpdAllStatsTable to store Protocol Discovery
-- statistics.
--
cnpdStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF CnpdStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The cnpdStatusTable is used to enable and
disable Protocol Discovery on an interface."
::= { cnpdStatus 1 }
cnpdStatusEntry OBJECT-TYPE
SYNTAX CnpdStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the cnpdStatusTable contains objects
for enabling or disabling Protocol Discovery on a
per interface basis."
INDEX { ifIndex }
::= { cnpdStatusTable 1 }
CnpdStatusEntry ::= SEQUENCE {
cnpdStatusPdEnable TruthValue,
cnpdStatusLastUpdateTime TimeTicks
}
cnpdStatusPdEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is used to enable or disable
Protocol Discovery on an interface.
If set to 'true' - Protocol Discovery is
enabled on this Interface.
If set to 'false' - Protocol Discovery is
disabled on this Interface."
::= { cnpdStatusEntry 1 }
cnpdStatusLastUpdateTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time Protocol
Discovery was last enabled on an interface.
If the interface does not have Protocol
Discovery enabled this value is zero."
::= { cnpdStatusEntry 2 }
cnpdAllStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF CnpdAllStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The cnpdAllStatsTable contains all the statistics
available for all the protocols/applications currently
recognized by NBAR Protocol Discovery for a particular
interface.
In the event of an overflow, the 32 bit counters are not
valid. There is no overflow support."
::= { cnpdAllStats 1 }
cnpdAllStatsEntry OBJECT-TYPE
SYNTAX CnpdAllStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the cnpdAllStatsTable table. This entry
contains the statistics collected on all the protocols
which NBAR classifies for a particular interface."
INDEX { ifIndex, cnpdAllStatsProtocolsIndex }
::= { cnpdAllStatsTable 1 }
CnpdAllStatsEntry ::= SEQUENCE {
cnpdAllStatsProtocolsIndex CiscoPdProtocolIndex,
cnpdAllStatsProtocolName CiscoPdProtocolName,
cnpdAllStatsInPkts Counter32,
cnpdAllStatsOutPkts Counter32,
cnpdAllStatsInBytes Counter32,
cnpdAllStatsOutBytes Counter32,
cnpdAllStatsHCInPkts Counter64,
cnpdAllStatsHCOutPkts Counter64,
cnpdAllStatsHCInBytes Counter64,
cnpdAllStatsHCOutBytes Counter64,
cnpdAllStatsInBitRate Unsigned32,
cnpdAllStatsOutBitRate Unsigned32
}
cnpdAllStatsProtocolsIndex OBJECT-TYPE
SYNTAX CiscoPdProtocolIndex (1..1024)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An object which represents a unique
identifier for a protocol or application
which NBAR currently recognizes.
This object is an index into the
SupportedProtocolsTable where details
of the protocol can be found."
::= { cnpdAllStatsEntry 1 }
cnpdAllStatsProtocolName OBJECT-TYPE
SYNTAX CiscoPdProtocolName
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of the application or protocol, a
unique textual string, assigned in the
cnpdSupportedProtocolsTable."
::= { cnpdAllStatsEntry 2 }
cnpdAllStatsInPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The packet count of inbound packets as
determined by Protocol Discovery."
::= { cnpdAllStatsEntry 3 }
cnpdAllStatsOutPkts OBJECT-TYPE
SYNTAX Counter32
UNITS "packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The packet count of outbound packets as
determined by Protocol Discovery."
::= { cnpdAllStatsEntry 4 }
cnpdAllStatsInBytes OBJECT-TYPE
SYNTAX Counter32
UNITS "bytes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The byte count of inbound octets as
determined by Protocol Discovery."
::= { cnpdAllStatsEntry 5 }
cnpdAllStatsOutBytes OBJECT-TYPE
SYNTAX Counter32
UNITS "bytes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The byte count of outbound octets as
determined by Protocol Discovery."
::= { cnpdAllStatsEntry 6 }
cnpdAllStatsHCInPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The packet count of inbound packets as
determined by Protocol Discovery.
This is the 64-bit (High Capacity)
version of cnpdAllStatsInPkts."
::= { cnpdAllStatsEntry 7 }
cnpdAllStatsHCOutPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The packet count of outbound packets as
determined by Protocol Discovery.
This is the 64-bit (High Capacity)
version of cnpdAllStatsOutPkts."
::= { cnpdAllStatsEntry 8 }
cnpdAllStatsHCInBytes OBJECT-TYPE
SYNTAX Counter64
UNITS "bytes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The byte count of inbound octets as
determined by Protocol Discovery.
This is the 64-bit (High Capacity)
version of cnpdAllStatsInBytes."
::= { cnpdAllStatsEntry 9 }
cnpdAllStatsHCOutBytes OBJECT-TYPE
SYNTAX Counter64
UNITS "bytes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The byte count of outbound octets as
determined by Protocol Discovery.
This is the 64-bit (High Capacity)
version of cnpdAllStatsOutBytes."
::= { cnpdAllStatsEntry 10 }
cnpdAllStatsInBitRate OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "kilo bits per second"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The inbound bit rate as determined
by Protocol Discovery."
::= { cnpdAllStatsEntry 11 }
cnpdAllStatsOutBitRate OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "kilo bits per second"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The outbound bit rate as determined
by Protocol Discovery."
::= { cnpdAllStatsEntry 12 }
-- The NBAR Protocol Discovery Top "N" Group
--
-- This group is used to prepare a list of
-- applications that top a list in order of
-- bandwidth used, over an interval specified
-- by the management station.
--
cnpdTopNConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF CnpdTopNConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The cnpdTopNConfigTable is used to configure
cnpdTopNStatsTable's."
::= { cnpdTopNConfig 1 }
cnpdTopNConfigEntry OBJECT-TYPE
SYNTAX CnpdTopNConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This entry provides the objects to configure and thus
initiate the generation of a cnpdTopNStatsTable.."
INDEX { cnpdTopNConfigIndex }
::= { cnpdTopNConfigTable 1 }
CnpdTopNConfigEntry ::= SEQUENCE {
cnpdTopNConfigIndex Unsigned32,
cnpdTopNConfigIfIndex InterfaceIndex,
cnpdTopNConfigStatsSelect CiscoPdDataType,
cnpdTopNConfigSampleTime Unsigned32,
cnpdTopNConfigRequestedSize Unsigned32,
cnpdTopNConfigGrantedSize Unsigned32,
cnpdTopNConfigTime TimeTicks,
cnpdTopNConfigStatus RowStatus
}
cnpdTopNConfigIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..50)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A monotonically increasing integer which
uniquely identifies a cnpdTopNConfigEntry
in the cnpdTopNConfigTable."
::= { cnpdTopNConfigEntry 1 }
cnpdTopNConfigIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object allows the management station
to select the interface, which Protocol Discovery
is running on, to be used to create this
cnpdTopNConfigEntry."
::= { cnpdTopNConfigEntry 2 }
cnpdTopNConfigStatsSelect OBJECT-TYPE
SYNTAX CiscoPdDataType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object allows the management station to
select the statistic used to base the order
of the top-n table on.
For example: a cnpdTopNConfigStatsSelect of
bitRateSum means order this table based
on each applications/protocols combined
in and out bitrate."
DEFVAL { byteCountSum }
::= { cnpdTopNConfigEntry 3 }
cnpdTopNConfigSampleTime OBJECT-TYPE
SYNTAX Unsigned32 (1..2048)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the cnpdTopNConfigStatsSelect is
bitRateIn, bitRateOut or bitRateSum, then
this value is the interval in seconds that
the bitrate is sampled.
This has no effect if the cnpdTopNConfigStatsSelect
is byte or packet based.
When this object is modified by the management
station, a new sample period is started regardless
of whether the original cnpdTopNConfigSampleTime
was finished."
DEFVAL { 10 }
::= { cnpdTopNConfigEntry 4 }
cnpdTopNConfigRequestedSize OBJECT-TYPE
SYNTAX Unsigned32 (1..500)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The requested size of the associated
cnpdTopNStatsTable entry.
For example a cnpdTopNConfigRequestedSize of
20 indicates the management station wants
to create an associated cnpdTopNStatsTable
entry of 20 protocol/application's"
DEFVAL { 10 }
::= { cnpdTopNConfigEntry 5 }
cnpdTopNConfigGrantedSize OBJECT-TYPE
SYNTAX Unsigned32 (1..500)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The actual size of the associated
cnpdTopNStatsTable entry.
The reason this may differ from
cnpdTopNConfigRequestedSize is because a
management station may request a number of
protocols that is greater than the number of
protocols actually found by Protocol Discovery."
::= { cnpdTopNConfigEntry 6 }
cnpdTopNConfigTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime when the associated
cnpdTopNStatsTable entry was created."
::= { cnpdTopNConfigEntry 7 }
cnpdTopNConfigStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object is used to create or delete
the row entry in cnpdTopNConfigTable.
When creating a row entry the management
station is required to specify a value
for cnpdTopNConfigIfIndex only.
'notReady' means that a row exists but
either it has no valid IfIndex or it has
not been set to createAndGo or active.
'active' means that a createAndGo or active
has been issued, AND a valid ifIndex exists.
Therefore if a row is 'active' it means a
TopNStats entry has been generated.
If you set an 'active' row to createAndWait
it will get the status 'notReady'.
If you set any row to 'notReady' - it will go
to the 'notReadystate'.
If you set any row to 'notInService' - it will
go to the 'notInService' state and the corresponding
TopNStatsEntry will be deleted.
The same TopNConfig entry can be re-used without
changes by setting it to 'active'. The corresponding
TopStatsTable entry will be regenerated. This can
be used by the NMS to poll a particular TopNConfig
Entry.
Changes to an existing TopNConfig entry can be made
by setting the status to 'createAndWait' and changing
the necessary objects. Setting it to 'createAndGo' or
'active' will cause the corresponding TopNStats entry
to be regenerated."
::= { cnpdTopNConfigEntry 8 }
cnpdTopNStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF CnpdTopNStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A cnpdTopNStatsTable describes an ordered
list of protocols."
::= { cnpdTopNStats 1 }
cnpdTopNStatsEntry OBJECT-TYPE
SYNTAX CnpdTopNStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This entry is used to store a set of objects which
describe a cnpdTopNStatsTable. A cnpdTopNStatsTable
is a number of protocols and statistics sorted
according to the criteria in the associated
cnpdTopNConfigEntry.
Therefore a cnpdTopNStatsTable can differ in content
and size according to what was configured in the associated
cnpdTopNConfigTableEntry."
INDEX { cnpdTopNConfigIndex, cnpdTopNStatsIndex }
::= { cnpdTopNStatsTable 1 }
CnpdTopNStatsEntry ::= SEQUENCE {
cnpdTopNStatsIndex Unsigned32,
cnpdTopNStatsProtocolName CiscoPdProtocolName,
cnpdTopNStatsRate Counter32,
cnpdTopNStatsHCRate Counter64
}
cnpdTopNStatsIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..500)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A monotonically increasing integer which
uniquely identifies a cnpdTopNStatsEntry
in the cnpdTopNStatsTable."
::= { cnpdTopNStatsEntry 1 }
cnpdTopNStatsProtocolName OBJECT-TYPE
SYNTAX CiscoPdProtocolName
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of the application or protocol,
a unique textual string, assigned in the
cnpdSupportedProtocolsTable."
::= { cnpdTopNStatsEntry 2 }
cnpdTopNStatsRate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of change in the selected statistic
during this sampling interval. The selected
statistic is the cnpdTopNConfigStatsSelect
from the associated cnpdTopNConfigStatsEntry."
::= { cnpdTopNStatsEntry 3 }
cnpdTopNStatsHCRate OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of change in the selected statistic
during this sampling interval. The selected
statistic is the cnpdTopNConfigStatsSelect
from the associated cnpdTopNConfigStatsEntry.
This is the 64-bit (High Capacity) version of
cnpdTopNStatsRate."
::= { cnpdTopNStatsEntry 4 }
-- The NBAR Protocol Discovery Threshold group
--
-- This group is used to configure and store threshold
-- events.
--
cnpdThresholdConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF CnpdThresholdConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The cnpdThresholdConfigTable allows the management
station to create thresholds for the purpose of
sending notifications if breached, and creating a
history of breached thresholds."
::= { cnpdThresholdConfig 1 }
cnpdThresholdConfigEntry OBJECT-TYPE
SYNTAX CnpdThresholdConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This entry contains configuration information to
set thresholds for the purpose of notifications.
The management station is allowed to set thresholds
on individual statistics for individual protocols
on an interface. If the threshold is breached by
the protocol statistic, a new event is written to
the cnpdThresholdHistoryTable, which in turn will
generate a Notification Event.
This function has a hysteresis mechanism to limit
the generation of events. This mechanism generates
one event as a threshold is crossed in the
appropriate direction. No more events are generated
for that threshold until the opposite threshold is
crossed. This stops repeated Notification events
being generated each time the value is sampled,
when the value is above the threshold. Instead one
notification is sent when the threshold is breached
and one notification when the statistic drops below
the threshold value again."
INDEX { cnpdThresholdConfigIndex }
::= { cnpdThresholdConfigTable 1 }
CnpdThresholdConfigEntry ::= SEQUENCE {
cnpdThresholdConfigIndex Unsigned32,
cnpdThresholdConfigIfIndex InterfaceIndex,
cnpdThresholdConfigInterval Unsigned32,
cnpdThresholdConfigSampleType INTEGER,
cnpdThresholdConfigProtocol CiscoPdProtocolIndex,
cnpdThresholdConfigProtocolAny TruthValue,
cnpdThresholdConfigStatsSelect CiscoPdDataType,
cnpdThresholdConfigStartup INTEGER,
cnpdThresholdConfigRising Unsigned32,
cnpdThresholdConfigFalling Unsigned32,
cnpdThresholdConfigStatus RowStatus
}
cnpdThresholdConfigIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..100)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A monotonically increasing integer which
uniquely identifies an entry in the
cnpdThresholdConfigTable."
::= { cnpdThresholdConfigEntry 1 }
cnpdThresholdConfigIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object allows the management station to
select the interface, which Protocol Discovery is
running on, to be used to create this
cnpdThresholdConfigTable entry."
::= { cnpdThresholdConfigEntry 2 }
cnpdThresholdConfigInterval OBJECT-TYPE
SYNTAX Unsigned32 (1..2048)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval in seconds over which the data is
sampled and compared with cnpdThresholdConfigRising
and cnpdThresholdConfigFalling thresholds."
DEFVAL { 10 }
::= { cnpdThresholdConfigEntry 3 }
cnpdThresholdConfigSampleType OBJECT-TYPE
SYNTAX INTEGER {
absoluteValue (1),
deltaValue (2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The method of sampling the selected statistic and
calculating the value to be compared against
cnpdThresholdConfigRising or
cnpdThresholdConfigFalling thresholds.
If the value of this object is absoluteValue(1),
the value at the end of the sampling interval
cnpdThresholdConfigInterval, will be compared
with the cnpdThresholdConfigRising and
cnpdThresholdConfigFalling thresholds.
In this mode, when cnpdThresholdConfigStatsSelect is
byte or packet based, a maximum of two
cnpdThresholdHistory entries will be created per
application, as these byte and packet counts
monotonically increase from zero.
If the value of this object is deltaValue(2),
the difference between the samples at the
beginning and end of the cnpdThresholdConfigInterval
will be compared with the cnpdThresholdConfigRising
and cnpdThresholdConfigFalling thresholds.
Because the difference in the previous and current
samples are compared over the sample period
cnpdThresholdConfigInterval, this mode provides
more granularity to the thresholds because the NMS
is now provided with the gradient or change in the
cnpdThresholdConfigStatsSelect.
Note that even though the sample value is monotonically
increasing for byte and packet counts,
cnpdThresholdConfigSampleType set to deltaValue, can
generate falling cnpdThresholdHistory entries, because
the gradient can be lower than the
cnpdThresholdConfigFalling value."
DEFVAL { absoluteValue }
::= { cnpdThresholdConfigEntry 4 }
cnpdThresholdConfigProtocol OBJECT-TYPE
SYNTAX CiscoPdProtocolIndex (1..1024)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The application or protocol which the
management station wishes to configure a
threshold on.
This object is an index into the
SupportedProtocolsTable where details
of the protocol can be found.
If cnpdThresholdConfigProtocolAny is set
to TRUE this value will be ignored. If it
is set to FALSE, then cnpdThresholdConfigProtocol
will be the only protocol that is checked
to see if it has breached the threshold."
::= { cnpdThresholdConfigEntry 5 }
cnpdThresholdConfigProtocolAny OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If set to 'true' - this threshold is configured
to check for any protocol which meets the threshold
criteria. This means that multiple protocols can
generate ThresholdHistoryTable entries. Each
protocol is subject to the hysterisis mechanism.
If set to 'false' - this threshold is configured
to check for the protocol which meets the threshold
criteria referred to by cnpdThresholdConfigProtocol."
DEFVAL { true }
::= { cnpdThresholdConfigEntry 6 }
cnpdThresholdConfigStatsSelect OBJECT-TYPE
SYNTAX CiscoPdDataType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object allows the management station to
select the statistic used to base the threshold
on.
For example a cnpdThresholdConfigStatsSelect of
bitRateSum means cnpdThresholdConfigRising and
cnpdThresholdConfigFalling are values based on
the combined value of in and out bitrates."
DEFVAL { bitRateSum }
::= { cnpdThresholdConfigEntry 7 }
cnpdThresholdConfigStartup OBJECT-TYPE
SYNTAX INTEGER {
rising (1),
falling (2),
risingOrFalling (3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This controls the type of notification that is
sent when this threshold entry is first enabled.
Because there is no previous sampling history,
choosing one of these options determines the type
of notification generated - Rising or Falling.
If the first sample after this entry is enabled
is greater than or equal to cnpdThresholdConfigRising and
this object is equal to rising(1) or risingOrFalling(3),
then a single rising notification will be generated.
If the first sample after this entry is enabled
is less than or equal to cnpdThresholdConfigFalling
and this object is equal to falling(2) or
risingOrFalling(3), then a single falling notification
will be generated."
DEFVAL { risingOrFalling }
::= { cnpdThresholdConfigEntry 8 }
cnpdThresholdConfigRising OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This is the threshold object which the managment
station sets to determine if it gets breached. It
indicates the statistic being sampled was
rising.
When the current sample is greater than or
equal to this object, and the value at the last
sampling interval was less than this object (in
other words the value is rising), an entry in the
cnpdThresholdHistoryTable will be created.
After a rising event is generated, another such
event will not be generated until the sampled value
falls below this threshold and reaches the
cnpdThresholdConfigFalling value.
This ensures that samples which are taken
after a cnpdThresholdConfigRising threshold event
has been created, do not create further thresholds
and therefore notifications, until the
cnpdThresholdConfigFalling threshold has been met.
Thus a very short cnpdThresholdConfigInterval can be
chosen without risk of multiple notifications for
the same threshold breach condition."
::= { cnpdThresholdConfigEntry 9 }
cnpdThresholdConfigFalling OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This is the threshold object which the management
station sets to determine if it gets breached. It
indicates the statistic being sampled was
falling.
When current sample is less than or equal
to this object, and the value at the last sampling
interval was greater than this object (in other
words the value is falling), an entry in the
cnpdThresholdHistoryTable will be created.
After a falling event is generated, another
such event will not be generated until the sampled
value rises above this object and reaches the
cnpdThresholdConfigRising value."
::= { cnpdThresholdConfigEntry 10 }
cnpdThresholdConfigStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object is used to create or delete
the row entry in cnpdThresholdConfigTable.
When creating a row entry the management station
is required to specify a value for
cnpdThresholdConfigIfIndex, cnpdThresholdConfigRising
and cnpdThresholdConfigFalling.
'active' means that a createAndGo or active has
been issued, AND a valid ifIndex exists. And therefore
if a row is 'active' it means a ThresholdHistory entry
may have been generated if the value was breached.
If you set an 'active' row to 'createAndWait' - it will
in fact get the status 'notReady'.
Likewise if you set any row to 'notInService' or 'notReady'
it will go to the 'notReady' state."
::= { cnpdThresholdConfigEntry 12 }
cnpdThresholdHistoryTable OBJECT-TYPE
SYNTAX SEQUENCE OF CnpdThresholdHistoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Threshold History table. Notifications
are unreliable so this table provides a
history of the last 5000 threshold breached
events. A notification can be traced back to
its cnpdThresholdHistoryEntry."
::= { cnpdThresholdHistory 1 }
cnpdThresholdHistoryEntry OBJECT-TYPE
SYNTAX CnpdThresholdHistoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This entry is created each time a threshold
is breached.
Thus there is not necessarily a one to one
relationship to cnpdThresholdConfigTable
as not every Threshold configured will
be breached."
INDEX { cnpdThresholdHistoryIndex }
::= { cnpdThresholdHistoryTable 1 }
CnpdThresholdHistoryEntry ::= SEQUENCE {
cnpdThresholdHistoryIndex Unsigned32,
cnpdThresholdHistoryConfigIndex Unsigned32,
cnpdThresholdHistoryValue Unsigned32,
cnpdThresholdHistoryType INTEGER,
cnpdThresholdHistoryTime TimeTicks,
cnpdThresholdHistoryProtocol CiscoPdProtocolIndex,
cnpdThresholdHistoryStatsSelect CiscoPdDataType
}
cnpdThresholdHistoryIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..1000)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A monotonically increasing integer
which uniquely identifies this
cnpdThresholdHistoryEntry in the
cnpdThresholdHistory table."
::= { cnpdThresholdHistoryEntry 1 }
cnpdThresholdHistoryConfigIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..1000)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cnpdThresholdConfigTable entry
which generated this entry. Using this
object the management station can backtrack
to the appropriate cnpdThresholdConfigEntry."
::= { cnpdThresholdHistoryEntry 2 }
cnpdThresholdHistoryValue OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The actual value of the statistic when
the sampling was made."
::= { cnpdThresholdHistoryEntry 3 }
cnpdThresholdHistoryType OBJECT-TYPE
SYNTAX INTEGER {
risingBreach (1),
fallingBreach (2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Describes whether this is an
event caused by a rising
or falling threshold breach."
::= { cnpdThresholdHistoryEntry 4 }
cnpdThresholdHistoryTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime of the running
configuration when the event occurred."
::= { cnpdThresholdHistoryEntry 5 }
cnpdThresholdHistoryProtocol OBJECT-TYPE
SYNTAX CiscoPdProtocolIndex (1..1024)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The application or protocol which the
management station configured a
threshold on.
This object is an index into the
SupportedProtocolsTable where details
of the protocol can be found."
::= { cnpdThresholdHistoryEntry 6 }
cnpdThresholdHistoryStatsSelect OBJECT-TYPE
SYNTAX CiscoPdDataType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the statistic used to base the threshold
on."
::= { cnpdThresholdHistoryEntry 7 }
-- The NBAR Protocol Discovery Notifications Config table
--
cnpdNotificationsEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is used to enable or disable
Notifications on a global basis.
If set to 'true' - Notifications are
enabled.
If set to 'false' - Notifications are
disabled."
DEFVAL { false }
::= { cnpdNotificationsConfig 1 }
-- The NBAR Protocol Discovery Notifications Group
--
-- NOTIFICATIONS
--
cnpdThresholdRisingEvent NOTIFICATION-TYPE
OBJECTS {
cnpdThresholdConfigIfIndex,
cnpdThresholdConfigStatsSelect,
cnpdThresholdHistoryValue,
cnpdThresholdConfigRising,
cnpdThresholdConfigProtocol,
cnpdThresholdHistoryTime
}
STATUS current
DESCRIPTION
"A cnpdThresholdRisingEvent is sent whenever
a notification entry crosses its rising threshold
and generates an event that is added to the
cnpdThresholdHistoryTable."
::= { cnpdMIBNotifications 1 }
cnpdThresholdFallingEvent NOTIFICATION-TYPE
OBJECTS {
cnpdThresholdConfigIfIndex,
cnpdThresholdConfigStatsSelect,
cnpdThresholdHistoryValue,
cnpdThresholdConfigFalling,
cnpdThresholdConfigProtocol,
cnpdThresholdHistoryTime
}
STATUS current
DESCRIPTION
"A cnpdThresholdConfigFallingEvent is sent
whenever a notification entry crosses its
falling threshold and generates an event
that is added to the cnpdThresholdHistoryTable."
::= { cnpdMIBNotifications 2 }
-- compliance statements
cnpdMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for entities that
implement NBAR Protocol Discovery on a Cisco
router."
MODULE -- this module
MANDATORY-GROUPS {
cnpdStatsGroup,
cnpdTopNGroup,
cnpdThresholdGroup,
cnpdMIBNotificationsGroup,
cnpdMIBNotificationsConfigGroup,
cnpdSupportedProtocolsGroup
}
::= { cnpdMIBCompliances 1 }
cnpdStatsGroup OBJECT-GROUP
OBJECTS {
cnpdStatusPdEnable,
cnpdStatusLastUpdateTime,
cnpdAllStatsProtocolName,
cnpdAllStatsInPkts,
cnpdAllStatsOutPkts,
cnpdAllStatsInBytes,
cnpdAllStatsOutBytes,
cnpdAllStatsHCInPkts,
cnpdAllStatsHCOutPkts,
cnpdAllStatsHCInBytes,
cnpdAllStatsHCOutBytes,
cnpdAllStatsInBitRate,
cnpdAllStatsOutBitRate
}
STATUS current
DESCRIPTION
"Required objects to provide protocol
application discovery info."
::= { cnpdMIBGroups 1 }
cnpdTopNGroup OBJECT-GROUP
OBJECTS {
cnpdTopNConfigIfIndex,
cnpdTopNConfigStatsSelect,
cnpdTopNConfigRequestedSize,
cnpdTopNConfigSampleTime,
cnpdTopNConfigGrantedSize,
cnpdTopNConfigTime,
cnpdTopNConfigStatus,
cnpdTopNStatsProtocolName,
cnpdTopNStatsRate,
cnpdTopNStatsHCRate
}
STATUS current
DESCRIPTION
"The set of objects supported to record
notification events."
::= { cnpdMIBGroups 2 }
cnpdThresholdGroup OBJECT-GROUP
OBJECTS {
cnpdThresholdConfigIfIndex,
cnpdThresholdConfigInterval,
cnpdThresholdConfigSampleType,
cnpdThresholdConfigProtocol,
cnpdThresholdConfigStatsSelect,
cnpdThresholdConfigProtocolAny,
cnpdThresholdConfigStartup,
cnpdThresholdConfigRising,
cnpdThresholdConfigFalling,
cnpdThresholdConfigStatus,
cnpdThresholdHistoryConfigIndex,
cnpdThresholdHistoryValue,
cnpdThresholdHistoryType,
cnpdThresholdHistoryTime,
cnpdThresholdHistoryProtocol,
cnpdThresholdHistoryStatsSelect
}
STATUS current
DESCRIPTION
"The set of objects supported to record
notification events."
::= { cnpdMIBGroups 3 }
cnpdMIBNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
cnpdThresholdRisingEvent,
cnpdThresholdFallingEvent
}
STATUS current
DESCRIPTION
"The set of notification events supported."
::= { cnpdMIBGroups 4 }
cnpdMIBNotificationsConfigGroup OBJECT-GROUP
OBJECTS {
cnpdNotificationsEnable
}
STATUS current
DESCRIPTION
"The set of notification configuration events."
::= { cnpdMIBGroups 5 }
cnpdSupportedProtocolsGroup OBJECT-GROUP
OBJECTS {
cnpdSupportedProtocolsName
}
STATUS current
DESCRIPTION
"The set of objects describing a protocol
or application."
::= { cnpdMIBGroups 6 }
END