---
name: "SNMP::Info::CiscoStats"
section: "3pm"
platform: "linux"
package: "libsnmp-info-perl"
version: "3.972002-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SNMP::Info::CiscoStats"
---

# SNMP::Info::CiscoStats(3pm)

Perl5 Interface to CPU and Memory stats for Cisco Devices

## 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*

  ## 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"`
