Major Processors rewrite (#8066)

* Extract DiscoveryItem and move some things to better places.
Extract model class
Fix up model construction.  I have problem with construction...
Makeshift model working.  Switch constructor to factory.  discover() and create()
Support legacy discovery.
Remove uneeded custom pollers
Remove netonix custom detection as we try ucd on all os now.
Add a few yaml procs.  Fix a couple things.
More processor discovery conversions
Move Calix e7 to standard hrProcessorLoad, but it doesn't fully implement the HR-MIB, move things around to make it work.
Add a few yaml procs.  Fix a couple things. Correct some stupid mib stuff.
Move more, drop php 5.3
Add netscaler which uses string indexes.  Port fiberhome to yaml and use skip_values
More conversions.  BroadcomProcessorUsage Trait
Serveriron and Ironware share some mibs.  Create a common abstract os for them.
Add yaml support for mib specification in each data entry
Make legacy discover_processor() set 0 for hrDeviceIndex

Untangle Dell switch OS processors

Use use shared OS for groups if they don't have a specific group.
fix silly mib mistake

Make index optional

Move HR and UCD to Traits and out of Processor.

* forgot to update the fortiswitch index

* Make sgos and avaya-ers match the old index.

* fix comware test data

* fix merge errors

* fix dsm and remove pointless empty modules

* file not found exception is in the wrong place.

* Updated processor development docs
This commit is contained in:
Tony Murray
2018-02-05 07:39:13 -06:00
committed by GitHub
parent d9e366398e
commit 11147d3bbf
785 changed files with 154492 additions and 59583 deletions

View File

@@ -0,0 +1,174 @@
-- %DNP% $Id: RBN-CPU-METER-CAP.my,v 1.1.2.4.388.5 2011/12/16 22:31:28 chiachun Exp $
-- %DNP% $Source: /cvsroot/pkt/sw/se/xc/bsd/config/snmp/mibs/Attic/RBN-CPU-METER-CAP.my,v $
-- *****************************************************************
-- RBN-CPU-METER-CAP The RBN CPU METER MIB Capabilities
--
-- Copyright (c) 1999, 2003, 2010-2011 Ericsson AB
-- All rights reserved.
--
-- *****************************************************************
RBN-CPU-METER-CAP DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY
FROM SNMPv2-SMI
AGENT-CAPABILITIES
FROM SNMPv2-CONF
rbnCapabilities
FROM RBN-SMI;
rbnCpuMeterCap MODULE-IDENTITY
LAST-UPDATED "201112131800Z" -- Dec 13, 2011
ORGANIZATION "Ericsson Inc."
CONTACT-INFO
" Ericsson, Inc.
Postal: 100 Headquarters Dr.
San Jose, CA 95134
USA
Phone: +1 408 750 5000
Fax: +1 408 750 5599
"
DESCRIPTION
"The Agent Capabilities of the
CPU METER MIB (RBN-CPU-METER-MIB).
If this MIB implementation is platform-dependent,
the PRODUCT-RELEASE clause contains Ericsson SEOS version and
at least one of the following Ericsson product families:
[SE] SmartEdge Multi-service Edge Router (MSER) family
[SM] SM family of Metro Ethernet Service Transport platforms
[SSR] Smart Service Router (SSR) family"
REVISION "201112131800Z" -- Dec 13, 2011
DESCRIPTION
"Added rbnCpuMeterCap6."
REVISION "201106150000Z" -- Jun 15, 2011
DESCRIPTION
"Update DESCRIPTION clause of MODULE-IDENTITY
and PRODUCT-RELEASE clause of AGENT-CAPABILITIES."
REVISION "201011010000Z" -- Nov 1, 2010
DESCRIPTION
"Modified PRODUCT-RELEASE clause for consistent naming.
Updated CONTACT-INFO."
REVISION "200310140000Z" -- Oct 14, 2003
DESCRIPTION
"Added new OID: rbnCpuMeterCap5."
REVISION "200307070000Z" -- Jul 7, 2003
DESCRIPTION
"Added new OID: rbnCpuMeterCap4."
REVISION "200302110000Z" -- Feb 11, 2003
DESCRIPTION
"Added new OID: rbnCpuMeterCap3."
REVISION "200206260000Z" -- June 26, 2002
DESCRIPTION
"Updated CONTACT-INFO. Added new OID: rbnCpuMeterCap2."
REVISION "9906162300Z" -- June 16, 1999
DESCRIPTION
"Initial version."
::= { rbnCapabilities 22 }
rbnCpuMeterCap1 AGENT-CAPABILITIES
PRODUCT-RELEASE "AOS 3.0.X.X"
STATUS current
DESCRIPTION "RBN-CPU-METER-MIB capabilities"
SUPPORTS RBN-CPU-METER-MIB
INCLUDES {
rbnCpuMeterStatsGroup
}
::= { rbnCpuMeterCap 1 }
rbnCpuMeterCap2 AGENT-CAPABILITIES
PRODUCT-RELEASE "SEOS 2.3.3"
STATUS current
DESCRIPTION "RBN-CPU-METER-MIB capabilities"
SUPPORTS RBN-CPU-METER-MIB
INCLUDES {
rbnCpuMeterStatsGroup
}
VARIATION rbnCpuMeterFiveSecondAvg
ACCESS not-implemented
DESCRIPTION
"This object is not supported."
VARIATION rbnCpuMeterFiveMinuteAvg
ACCESS not-implemented
DESCRIPTION
"This object is not supported."
::= { rbnCpuMeterCap 2 }
rbnCpuMeterCap3 AGENT-CAPABILITIES
PRODUCT-RELEASE "AOS 6.0.X.X"
STATUS current
DESCRIPTION "RBN-CPU-METER-MIB capabilities"
SUPPORTS RBN-CPU-METER-MIB
INCLUDES {
rbnCpuMeterStatsGroup,
rbnCpuProcGroup
}
::= { rbnCpuMeterCap 3 }
rbnCpuMeterCap4 AGENT-CAPABILITIES
PRODUCT-RELEASE "SEOS 2.5.4"
STATUS current
DESCRIPTION "RBN-CPU-METER-MIB capabilities"
SUPPORTS RBN-CPU-METER-MIB
INCLUDES {
rbnCpuMeterStatsGroup
}
::= { rbnCpuMeterCap 4 }
rbnCpuMeterCap5 AGENT-CAPABILITIES
PRODUCT-RELEASE "SEOS 2.6.3 [SE]; SEOS 6.3.X [SM]; SEOS 11.1.X [SSR]"
STATUS current
DESCRIPTION "RBN-CPU-METER-MIB capabilities"
SUPPORTS RBN-CPU-METER-MIB
INCLUDES {
rbnCpuMeterStatsGroup,
rbnCpuProcGroup
}
VARIATION rbnCpuProcCalls
ACCESS not-implemented
DESCRIPTION
"This object is not supported."
VARIATION rbnCpuProcLongest
ACCESS not-implemented
DESCRIPTION
"This object is not supported."
::= { rbnCpuMeterCap 5 }
rbnCpuMeterCap6 AGENT-CAPABILITIES
PRODUCT-RELEASE "IPOS 11.2.X"
STATUS current
DESCRIPTION "RBN-CPU-METER-MIB capabilities"
SUPPORTS RBN-CPU-METER-MIB
INCLUDES {
rbnCpuMeterStatsGroup2,
rbnCpuProcGroup
}
VARIATION rbnCpuProcCalls
ACCESS not-implemented
DESCRIPTION
"This object is not supported."
VARIATION rbnCpuProcLongest
ACCESS not-implemented
DESCRIPTION
"This object is not supported."
::= { rbnCpuMeterCap 6 }
END

View File

@@ -0,0 +1,359 @@
-- %DNP% $Id: RBN-CPU-METER-MIB.my,v 1.1.2.2.434.4 2011/12/16 22:31:28 chiachun Exp $
-- %DNP% $Source: /cvsroot/pkt/sw/se/xc/bsd/config/snmp/mibs/Attic/RBN-CPU-METER-MIB.my,v $
-- *****************************************************************
-- RBN-CPU-METER-MIB The RBN CPU utilization MIB
--
-- Copyright (c) 1999, 2003, 2011 Ericsson AB.
-- All rights reserved.
--
-- *****************************************************************
RBN-CPU-METER-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE, Integer32, Unsigned32, Counter32, Gauge32
FROM SNMPv2-SMI
MODULE-COMPLIANCE,
OBJECT-GROUP
FROM SNMPv2-CONF
TEXTUAL-CONVENTION, DisplayString
FROM SNMPv2-TC
rbnMgmt
FROM RBN-SMI
RbnPercentage
FROM RBN-TC;
rbnCpuMeterMIB MODULE-IDENTITY
LAST-UPDATED "201112131800Z" -- Dec 13, 2011
ORGANIZATION "Ericsson AB."
CONTACT-INFO
" Ericsson AB.
Postal: 100 Headquarters Dr
San Jose, CA 95134
USA
Phone: +1 408 750 5000
Fax: +1 408 750 5599
"
DESCRIPTION
"This management information module measures CPU
utilization on a device."
REVISION "201112131800Z" -- Dec 13, 2011
DESCRIPTION
"Added rbnCpuMeterFiveSecondPeak, rbnCpuMeterOneMinutePeak, and
rbnCpuMeterFiveMinutePeak to monitor system peak CPU usage. Updated
conformance information."
REVISION "201101191800Z" -- Jan 19, 2011
DESCRIPTION
"Update CONTACT-INFO & ORGANIZATION. Corrected max length of
rbnCpuProcName"
REVISION "200212160000Z" -- December 16, 2002
DESCRIPTION
"Added a per process table to monitor the cpu usage of
each of the processes on the system."
REVISION "200206260000Z" -- June 26, 2002
DESCRIPTION
"Updated CONTACT-INFO. Deprecated TEXTUAL-CONVENTION: Percentage.
Use RbnPercentage in SYNTAX."
REVISION "200205290000Z" -- May 29, 2002
DESCRIPTION
"Update/correct CONTACT-INFO. Fix syntax errors on IMPORTS list."
REVISION "199906162300Z"
DESCRIPTION
"Creation of the CPU meter MIB."
::= { rbnMgmt 6 }
rbnCpuMeterMIBObjects OBJECT IDENTIFIER
::= { rbnCpuMeterMIB 1 }
rbnCpuMeterMIBConformance OBJECT IDENTIFIER
::= { rbnCpuMeterMIB 2 }
rbnCpuProcMIBObjects OBJECT IDENTIFIER
::= { rbnCpuMeterMIB 3 }
Percentage ::= TEXTUAL-CONVENTION
STATUS deprecated
DESCRIPTION
"This Textual Convention describes an object that stores
a whole integer percentage value."
SYNTAX Integer32 (0..100)
-- MIB Objects
rbnCpuMeterFiveSecondAvg OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides the CPU usage percentage over the first five
second period in the scheduler."
::= { rbnCpuMeterMIBObjects 1 }
rbnCpuMeterOneMinuteAvg OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides a cumulative average of the CPU usage percentage
over a one minute period."
::= { rbnCpuMeterMIBObjects 2 }
rbnCpuMeterFiveMinuteAvg OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides a cumulative average of the CPU usage percentage
over a five minute period."
::= { rbnCpuMeterMIBObjects 3 }
rbnCpuMeterFiveSecondPeak OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The peak CPU usage percentage over the first five
second period."
::= { rbnCpuMeterMIBObjects 4 }
rbnCpuMeterOneMinutePeak OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The peak CPU usage percentage over a one minute
period."
::= { rbnCpuMeterMIBObjects 5 }
rbnCpuMeterFiveMinutePeak OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The peak CPU usage percentage over a five minute
period."
::= { rbnCpuMeterMIBObjects 6 }
--
-- Per Process Table
--
rbnCpuProcTable OBJECT-TYPE
SYNTAX SEQUENCE OF RbnCpuProcEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the objects which identify cpu processes.
With respect to creation and deletion of entries in this table,
rows in the table are created or deleted as processes are started
or terminated."
::= { rbnCpuProcMIBObjects 1 }
rbnCpuProcEntry OBJECT-TYPE
SYNTAX RbnCpuProcEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row in the rbnCpuProcTable."
INDEX { IMPLIED rbnCpuProcName }
::= { rbnCpuProcTable 1 }
RbnCpuProcEntry ::=
SEQUENCE {
rbnCpuProcName DisplayString,
rbnCpuProcPriority Unsigned32,
rbnCpuProcTime Counter32,
rbnCpuProcCalls Counter32,
rbnCpuProc5Sec RbnPercentage,
rbnCpuProc1Min RbnPercentage,
rbnCpuProc5Min RbnPercentage,
rbnCpuProcLongest Gauge32
}
rbnCpuProcName OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..114))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name for this process."
::= { rbnCpuProcEntry 1 }
rbnCpuProcPriority OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The priority of this process. This value ranges
from 0 to 255, with 0 being the highest priority."
::= { rbnCpuProcEntry 2 }
rbnCpuProcTime OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total time, in milliseconds, that has been spent
in this process."
::= { rbnCpuProcEntry 3 }
rbnCpuProcCalls OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times that this process has acquired
the cpu."
::= { rbnCpuProcEntry 4 }
rbnCpuProc5Sec OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The average cpu usage in a 5 second window for this process."
::= { rbnCpuProcEntry 5 }
rbnCpuProc1Min OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The average cpu usage in a 1 minute window for this process."
::= { rbnCpuProcEntry 6 }
rbnCpuProc5Min OBJECT-TYPE
SYNTAX RbnPercentage
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The average cpu usage in a 5 minute window for this process."
::= { rbnCpuProcEntry 7 }
rbnCpuProcLongest OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum time, in milliseconds, spent in this process."
::= { rbnCpuProcEntry 8 }
-- Conformance Information
rbnCpuMeterMIBGroups OBJECT IDENTIFIER ::=
{ rbnCpuMeterMIBConformance 1 }
rbnCpuMeterMIBCompliances OBJECT IDENTIFIER ::=
{ rbnCpuMeterMIBConformance 2 }
rbnCpuProcGroups OBJECT IDENTIFIER ::=
{ rbnCpuMeterMIBConformance 3 }
-- Compliance Statements
rbnCpuMeterMIBCompliance MODULE-COMPLIANCE
STATUS deprecated
DESCRIPTION
"The compliance statement for the CPU meter MIB."
MODULE -- this module
MANDATORY-GROUPS
{
rbnCpuMeterStatsGroup
}
::= { rbnCpuMeterMIBCompliances 1 }
rbnCpuMeterMIBCompliance1 MODULE-COMPLIANCE
STATUS deprecated
DESCRIPTION
"The compliance statement for the CPU meter MIB
with added support for per process monitoring."
MODULE -- this module
MANDATORY-GROUPS
{
rbnCpuMeterStatsGroup,
rbnCpuProcGroup
}
::= { rbnCpuMeterMIBCompliances 2 }
rbnCpuMeterMIBCompliance2 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for the CPU meter MIB
with added support for per process monitoring."
MODULE -- this module
MANDATORY-GROUPS
{
rbnCpuMeterStatsGroup2,
rbnCpuProcGroup
}
::= { rbnCpuMeterMIBCompliances 3 }
-- Units of Conformance
rbnCpuMeterStatsGroup OBJECT-GROUP
OBJECTS
{
rbnCpuMeterFiveSecondAvg,
rbnCpuMeterOneMinuteAvg,
rbnCpuMeterFiveMinuteAvg
}
STATUS deprecated
DESCRIPTION
"A collection of objects providing CPU utilization
information."
::= { rbnCpuMeterMIBGroups 1 }
rbnCpuProcGroup OBJECT-GROUP
OBJECTS {
rbnCpuProcName,
rbnCpuProcPriority,
rbnCpuProcTime,
rbnCpuProcCalls,
rbnCpuProc5Sec,
rbnCpuProc1Min,
rbnCpuProc5Min,
rbnCpuProcLongest
}
STATUS current
DESCRIPTION
"The collection of all objects used for monitoring cpu
utilization of each process."
::= { rbnCpuProcGroups 1}
rbnCpuMeterStatsGroup2 OBJECT-GROUP
OBJECTS
{
rbnCpuMeterFiveSecondAvg,
rbnCpuMeterOneMinuteAvg,
rbnCpuMeterFiveMinuteAvg,
rbnCpuMeterFiveSecondPeak,
rbnCpuMeterOneMinutePeak,
rbnCpuMeterFiveMinutePeak
}
STATUS current
DESCRIPTION
"A collection of objects providing CPU utilization
information."
::= { rbnCpuMeterMIBGroups 2 }
END

164
mibs/ericsson/RBN-TC Normal file
View File

@@ -0,0 +1,164 @@
-- %DNP% $Id: RBN-TC.my,v 1.1.2.8.252.3 2011/02/22 17:26:18 thatcher Exp $
-- %DNP% $Source: /cvsroot/pkt/sw/se/xc/bsd/config/snmp/mibs/Attic/RBN-TC.my,v $
-- *****************************************************************
-- RBN-TC Textual Convention MIB
--
-- Copyright (c) 2000, 2002-2009, 2011 Ericsson AB
-- All rights reserved.
--
-- *****************************************************************
RBN-TC DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
Integer32, Unsigned32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC
rbnModules
FROM RBN-SMI;
rbnTC MODULE-IDENTITY
LAST-UPDATED "201101191800Z" -- Jan 19, 2011
ORGANIZATION "Ericsson AB."
CONTACT-INFO
" Ericsson AB.
Postal: 100 Headquarters Dr
San Jose, CA 95134
USA
Phone: +1 408 750 5000
Fax: +1 408 750 5599
"
DESCRIPTION
"Defines common textual conventions used in RBN mib
modules."
REVISION "201101191800Z" -- Jan 19, 2011
DESCRIPTION
"Update CONTACT-INFO & ORGANIZATION. "
REVISION "200910201700Z" -- Oct 20, 2009
DESCRIPTION
"Added new textual convention: RbnUnsigned64 for read-write
capable 64 bit integer value."
REVISION "200406191700Z" -- June 19, 2004
DESCRIPTION
"Added new textual convention: RbnPortMediumType. Correct
warnings given by smilint."
REVISION "200303171700Z" -- March 17, 2003
DESCRIPTION
"Added new textual convention: RbnVidOrUntagged."
REVISION "200211110000Z" -- November 11, 2002
DESCRIPTION
"Moved definitions of RbnSlot and RbnPort from RBN-PVC-MIB.
Updated range on RbnSlot and RbnPort."
REVISION "200206260000Z" -- June 26, 2002
DESCRIPTION
"Updated CONTACT-INFO. Added new textual conventions:
RbnKBytes and RbnPercentage."
REVISION "200007140000Z" -- July 14, 2000
DESCRIPTION
"Initial version."
::= { rbnModules 2 }
RbnCircuitHandle ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1d:1d:2x-2x-2x"
STATUS current
DESCRIPTION
"A unique identifier for individual circuits. The string is
composed of the following:
Octet 1 slot
2 port
3-8 circuit identifier
slots/ports are numbered 0..n. The SMS CLI also numbers slots/ports
0..n but SE CLI numbers slots/ports 1..n. For example: When the
SE CLI refers to slot/port 1/2, this maps to to the RbnCircuitHandle
slot/port 0/1
"
SYNTAX OCTET STRING (SIZE (8))
RbnKBytes ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"Storage size, expressed in units of 1024 bytes."
SYNTAX Integer32 (0..2147483647)
RbnPercentage ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d%"
STATUS current
DESCRIPTION
"This Textual Convention describes an object that stores
a whole integer percentage value."
SYNTAX Integer32 (0..100)
RbnSlot ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The chassis slot number. This is the physical slot
number as reported in the CLI command 'show hardware'
on SMS and the CLI command 'show port' on SE."
SYNTAX Unsigned32 (0..255)
RbnPort ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The chassis port number. This is the physical port
number as reported in the CLI command 'show hardware'
on SMS and the CLI command 'show port' on SE."
SYNTAX Unsigned32 (0..255)
RbnVidOrUntagged ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The twelve-bit VLAN Identifer (VID) used to uniquely
identify the VLAN to which the frame belongs. The VID is
encoded as an unsigned binary number. An untagged frame
does not carry any identification of the VLAN to which it
belongs and is designated with a value of 4096."
SYNTAX Integer32 (1..4096)
RbnPortMediumType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Medium type of NAS port."
SYNTAX INTEGER {
unknown(0),
dsl(11),
cable(12),
wireless(13),
satellite(14)
}
RbnUnsigned64 ::= TEXTUAL-CONVENTION
DISPLAY-HINT "8d"
STATUS current
DESCRIPTION
"Unsigned 64 bit integer value is represented as an
OCTET STRING. This allows an unsigned integer value in
the range 0..18446744073709551615.
The octets are ordered with the first octet containing
the highest ordered bits of the integer and the 8th octet
containing the lowest ordered bits, corresponding to
network byte order."
SYNTAX OCTET STRING (SIZE(8))
END