Cisco Router Memory Usage

June 21, 2009

Cisco routers with IOS 12.1 and higher provide indexed SNMP tables with multiple statistics for each of the individual memory pools in the router chassis. In particular, the SNMP table stores the number of bytes of memory in use, the number of bytes free, and the number of bytes of contiguous free memory.

In order to accurately capture that information in Cacti, this snmp template enumerates each of the router memory pools, determines the memory pool name, and then captures the readings for each selected memory pool. For illustration purposes, the sample graphs below show the memory usage for a small router with two distinct memory pools.

Figure 1
Figure 1


To use this snmp template, perform the following steps:

  1. Download cacti-cisco-memory.0.3.tar.gz to a temporary directory on the Cacti server machine.
  2. Expand the archive with the command tar -xvzf cacti-cisco-memory.0.3.tar.gz, and change to the cacti-cisco-memory directory that is created.
  3. Copy resource/cisco_memory.xml to the <cacti>/resource/snmp_queries/ directory.
  4. Access the Cacti installation in a web browser, click on the "Import Templates" menu item on the left side of the Console screen, and import the template/cisco_memory_data_query.xml file. Cacti should automatically create the required data query, graph template, and data template objects.
  5. Click on the "Data Queries" menu item on the left side of the Console screen and verify that a "Cisco Router - Memory Usage" data query is present. Click the name of the object and verify that Cacti was able to locate and read the XML resource file that was installed in step 3 above.
  6. Click on the Devices menu item on the left side of the Console screen, select a Cisco router device, and scroll down to the "Associated Data Queries" table at the bottom of the screen. Select "Cisco Router - Memory Usage" in the "Add Data Query" drop-down box, and click the "Add" button.
  7. After the Device screen reloads, verify that the "Cisco Router - Memory Usage" data query is now present, and then click the "Create Graphs for this Host" link at the top of the page.
  8. Locate the "Cisco Router - Memory Usage" data query, select the memory pools that you want to monitor, and click the "Create" button at the bottom of the screen to begin monitoring the selected memory pools. If no memory pools are listed, verify that the correct SNMP values for the host have been defined, and that the router ACLs allow sufficient access privileges to the MIBs.

Note: these files are intended to be used with Cacti 0.8.6 and 0.8.7 and PHP 5.2, and may not operate as expected with other versions.

-- 30 --
Copyright © 2010-2011 Eric A. Hall.