The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SNMP::Info::CiscoStats - Perl5 Interface to CPU and Memory stats for Cisco Devices

AUTHOR

Eric Miller, Max Baker, Sam Stickland

SYNOPSIS

 # Let SNMP::Info determine the correct subclass for you. 
 my $ciscostats = new SNMP::Info(
                    AutoSpecify => 1,
                    Debug       => 1,
                    # These arguments are passed directly on to SNMP::Session
                    DestHost    => 'myswitch',
                    Community   => 'public',
                    Version     => 2
                    ) 
    or die "Can't connect to DestHost.\n";

 my $class      = $ciscostats->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";

DESCRIPTION

SNMP::Info::CiscoStats is a subclass of SNMP::Info that provides cpu, memory, os and version information about Cisco Devices.

Use or create in a subclass of SNMP::Info. Do not use directly.

Inherited Classes

None.

Required MIBs

CISCO-PRODUCTS-MIB
CISCO-PROCESS-MIB
CISCO-MEMORY-POOL-MIB
SNMPv2-MIB
OLD-CISCO-SYSTEM-MIB
CISCO-STACK-MIB
CISCO-ENTITY-VENDORTYPE-OID-MIB
CISCO-FLASH-MIB
ENTITY-MIB
CISCO-IMAGE-MIB

MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz

GLOBALS

$ciscostats->cpu()

Returns ios_cpu() or cat_cpu(), whichever is available.

$ciscostats->cpu_1min()

Returns ios_cpu_1min() or cat_cpu1min(), whichever is available.

$ciscostats->cpu_5min()

Returns ios_cpu_5min() or cat_cpu5min(), whichever is available.

$ciscostats->mem_total()

Returns mem_free() + mem_used()

$ciscostats->vendor()
 'cisco'
$ciscostats->os()

Tries to parse if device is running 'IOS', 'CatOS', 'IOS-XE' or something else from description()

Available values:

 'ios'          for Cisco IOS
 'ios-xe'       for Cisco IOS XE
 'ios-xr'       for Cisco IOS XR
 'pix'          for Cisco PIX
 'asa'          for Cisco ASA
 'fwsm'         for Single-mode FWSM
 'fwsm-admin'   for Admin context of multi-context FWSM
 'fwsm-context' for Standard context of multi-context FWSM
 'ace-admin'    for Admin context of ACE module
 'ace-context'  for Standard context of ACE module (NB: No OS version
                     detection is available, but will be the same as it's
                     'ace admin')
 'css'          for Cisco Content Switch
 'css-sca'      for Cisco Content Switch Secure Content Acceleration
 'san-os'       for Cisco SAN-OS
$ciscostats->os_ver()

Tries to parse device operating system version from description(), falls back to parsing CISCO-IMAGE-MIB::ciscoImageString if needed

$ciscostats->os_bin()

Tries to parse ROMMON version from rom_id() string

$ciscostats->ios_cpu()

Current CPU usage in percent.

1.3.6.1.4.1.9.2.1.56.0 = OLD-CISCO-CPU-MIB:avgBusyPer

$ciscostats->ios_cpu_1min()

Average CPU Usage in percent over the last minute.

1.3.6.1.4.1.9.2.1.57.0

$ciscostats->ios_cpu_5min()

Average CPU Usage in percent over the last 5 minutes.

1.3.6.1.4.1.9.2.1.58.0

$ciscostats->cat_cpu()

Current CPU usage in percent.

CISCO-PROCESS-MIB::cpmCPUTotal5sec.9

$ciscostats->cat_cpu_1min()

Average CPU Usage in percent over the last minute.

CISCO-PROCESS-MIB::cpmCPUTotal1min.9

$ciscostats->cat_cpu_5min()

Average CPU Usage in percent over the last 5 minutes.

CISCO-PROCESS-MIB::cpmCPUTotal5min.9

$ciscostats->mem_free()

Main DRAM free of the device in bytes.

CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolFree

$ciscostats->mem_used()

Main DRAM used of the device in bytes.

CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolUsed

$ciscostats->mem_total()

Main DRAM of the device in bytes.

CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolFree + CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolUsed

$ciscostats->flashmem_total()

Flash memory of the device in bytes.

CISCO-FLASH-MIB::ciscoFlashDeviceSize

TABLE METHODS

Cisco Memory Pool Table (ciscoMemoryPoolTable)

$ciscostats->cisco_mem_free()

The number of bytes from the memory pool that are currently unused on the managed device.

(ciscoMemoryPoolFree)

$ciscostats->cisco_mem_used()

The number of bytes from the memory pool that are currently in use by applications on the managed device.

(ciscoMemoryPoolUsed)

Cisco Flash Device Table (ciscoFlashDeviceTable)

$ciscostats->cisco_flash_size()

Total size of the Flash device. For a removable device, the size will be zero if the device has been removed.

(ciscoFlashDeviceSize)

Cisco Image Table (ciscoImageTable)

$ci->ci_images()

Returns the table of image strings.

ciscoImageString