Configuration Logger Persistency

The Configuration Logger Persistency feature increases the operational robustness of Cisco IOS configuration and provisioning actions by implementing a “quick-save” functionality. When the Configuration Logger Persistency feature is configured, Cisco IOS software saves just the commands entered since the last startup-config file was generated, rather than saving the entire startup configuration.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to https://cfnng.cisco.com/. An account on Cisco.com is not required.

Prerequisites for Configuration Logger Persistency

To enable the Configuration Logger Persistency feature, you must have disk0: configured and an external flash card inserted on the router.

To achieve optimum results from the Configuration Logger Persistency feature, you must have Cisco IOS Release 12.2(33)SRA, Release 12.4(11)T, Release 12.2(33)SXH, or Release 12.2(33)SB installed on your system.

Information About Configuration Logger Persistency

Use of Configuration Logger Persistency to Save Configuration Files

Cisco IOS software uses the startup-config file to save router configuration commands across reloads. This single file contains all the commands that need to be applied when the router reboots. The startup-config file gets updated every time a writememory command or copy url startup-config command is entered. As the size of the running-config file grows, the time to save the startup-config file to the NVRAM file system increases as well. Startup-config files can be 1 MB and larger. For files of this size, making a single-line change to the startup-config file requires that the entire startup-config file is saved again even though most of the configuration has not changed.

The Configuration Logger Persistency feature implements a “quick-save” functionality. The aim is to provide a “configuration save” mechanism where the time to save changes from the startup-config file is proportional to the size of the incremental changes (with respect to the startup-config file) that need to be saved.

The Cisco IOS configuration logger logs all changes that are manually entered at the command-line prompt. This feature also notifies the registered clients when changes to the log occur. The contents of the configuration log are stored in the run-time memory--the contents of the log are not persisted after reboots.

The Configuration Logger Persistency feature provides a mechanism to persist the configuration commands entered by users across reloads. Only the commands entered at the command-line interface (CLI) (that is, the commands entered in configuration mode) are persisted across reload. This feature uses the Cisco IOS secure file system to persist the configuration commands that are generated.


Note


The Cisco IOS configuration logger is different from the system message logging (syslog) facility. Syslog is a general logging facility for tracking system messages. The configuration logger tracks information about configuration commands entered at the CLI.


Persisted Commands

The persisted commands from the Cisco IOS configuration logger are used as an extension to the startup configuration. These saved commands provide a quick-save capability. Rather than saving the entire startup-config file, Cisco IOS software saves just the commands entered since the last startup-config file was generated.

Only the logged commands are persisted. The following additional data from the configuration logger are not persisted:

  • User who logged the command

  • IP address from which the user logged in

  • Session and log indexes for the logged command

  • Time when the command was entered

  • Pre- and post-NVGEN output associated with the entered command

  • Parser return code output for the entered command

The persisted commands’ primary purpose is for use as a quick-save extension to the startup-config file. The additional information associated with a configuration command is not useful for quick-save purposes. If you need the additional information to be persisted across reboots (for auditing purposes), complete the following steps:

  1. Enable configuration logger notification to syslog

  2. Enable the syslog persistence feature

Alternatively, Cisco Networking Services, CiscoView, or other Network Management systems that manage Cisco IOS devices to keep track of configuration changes in an off-the-box storage solution can be used.

By default, upon reload, the persisted commands are appended to the startup-config file. These commands are applied only when you explicitly configure this behavior using a CLI configuration command.

How to Configure the Configuration Logger Persistency Feature

Enabling the Configuration Logger Persistency Feature

The Configuration Logger Persistency feature implements a quick-save mechanism so that the time to save changes from the startup configuration is proportional to the size of the incremental changes (with respect to the startup configuration) that need to be saved. The persisted commands from the Cisco IOS configuration logger will be used as an extension to the startup configuration. The saved commands, which are used as an extension to the startup configuration, provide a quick-save ability. Rather than saving the entire startup-config file, Cisco IOS software saves just the commands entered since the last startup-config file was generated.

To enable the Configuration Logger Persistency feature, perform the following task.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. archive
  4. log config
  5. logging persistent auto manual
  6. logging persistent reload
  7. logging persistent size threshold
  8. logging size entries

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

archive

Example:


Router(config)# archive

Enters archive configuration mode.

Step 4

log config

Example:


Router(config-archive)# log config

Enters archive configuration-log configuration mode.

Step 5

logging persistent auto manual

Example:


Router(config-archive-log-cfg)# logging persistent auto

Enables the Configuration Logger Persistency feature:

  • The auto keyword specifies that each configuration command will be saved automatically to the Cisco IOS secure file system.

  • The manual keyword specifies that you can save the configuration commands to the Cisco IOS secure file system on-demand. To do this, you must use the archivelogconfigpersistentsave command.

Note

 

To enable the loggingpersistentauto command, you must have disk0: configured and an external flash card inserted on the router.

Step 6

logging persistent reload

Example:


Router(config-archive-log-cfg)# logging persistent reload

Sequentially applies the configuration commands saved in the configuration logger database (since the last writememory command) to the running-config file after a reload.

Step 7

logging persistent size threshold

Example:


Router(config-archive-log-cfg)# logging persistent size  threshold

Specifies the disk space size for writing log messages in the configuration logger database; triggers an alert on the console or syslog server when the log size exceeds the threshold (specified in percentage).

Step 8

logging size entries

Example:


Router(config-archive-log-cfg)# logging size 10

Specifies the maximum number of entries retained in the configuration log.

  • Valid values range from 1 to 1000.

  • The default value is 100 entries.

Verifying and Troubleshooting the Configuration Logger Persistency Feature

Three commands can be used to verify, archive, and clear the contents of the configuration log. For troubleshooting purposes, the command in Step 4 turns on debugging.

SUMMARY STEPS

  1. show archive log config persistent
  2. clear archive log config persistent
  3. archive log config persistent save
  4. debug archive log config persistent

DETAILED STEPS


Step 1

show archive log config persistent

This command displays the persisted commands in the configuration log. The commands appear in a configlet format. The following is sample output from this command:

Example:


Router# show archive log config persistent
!Configuration logger persistentarchive 
 log config 
 logging persistent auto 
 logging persistent reload 
archive 
 log config 
logging size 10
logging console 
interface loop 101 
 ip address 10.1.1.1 255.255.255.0
 ip address 10.2.2.2 255.255.255.0
 no shutdown 

Step 2

clear archive log config persistent

This command clears the configuration logging persistent database entries. Only the entries in the configuration logging database file are deleted. The file itself is not deleted because it will be used to log new entries. After this command is entered, a message is returned to indicate that the archive log is cleared.

Example:


Router# clear archive log config persistent 
Purged the config log persist database entries successfully 
Router# 

Step 3

archive log config persistent save

This command saves the configuration log to the Cisco IOS secure file system. For this command to work, the archivelogconfigpersistentsave command must be configured.

Step 4

debug archive log config persistent

This command turns on the debugging function. A message is returned to indicate that debugging is turned on.

Example:


Router# debug archive log config persistent 
debug archive log config persistent debugging is on

Configuration Examples for the Configuration Logger Persistency Feature

Configuration Logger Persistency Configuration on a Cisco 7200 Series Router Example

In this example, each configuration command is saved automatically to the Cisco IOS secure file system, configuration commands saved in the configuration logger database (since the last writememory command) are applied sequentially to the running-config file, and the maximum number of entries retained in the configuration log is set to 10:


Router> enable
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z. 
Router(config)# archive
Router(config-archive)# log config
Router(config-archive-log-config)# logging persistent auto
configuration log persistency feature enabled. Building configuration... [OK] 
Router(config-archive-log-config)# logging persistent reload
Router(config-archive-log-config)# logging persistent size 16384 threshold 10
Router(config-archive-log-config)# logging size 10
Router(config-archive-log-config)# archive log config persistent save
Router(config-archive-log-config)# end
Router#

Additional References

The following sections provide references related to the Configuration Logger Persistency feature.

Related Documents

Related Topic

Document Title

Comprehensive command-reference information

Cisco IOS Configuration Fundamentals Command Reference

Standards

Standard

Title

No new or modified standards are supported by this feature.

--

MIBs

MIB

MIBs Link

No new or modified MIBs are supported by this feature.

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFC

Title

No new or modified RFCs are supported by this feature.

--

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/techsupport

Feature Information for Configuration Logger Persistency

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for Configuration Logger Persistency

Feature Name

Releases

Feature Information

Configuration Logger Persistency

12.2(33)SRA

12.4(11)T

12.2(33)SXH

12.2(33)SB

Cisco IOS XE Release 3.9S

The Configuration Logger Persistency feature increases the operational robustness of Cisco configuration and provisioning actions by implementing a “quick-save” functionality.

Effective with Cisco IOS Release 12.2(33)SRA, Release 12.4(11)T, Release 12.2(33)SXH, and Release 12.2(33)SB, Cisco software saves just the commands entered since the last startup-config file was generated, rather than saving the entire startup configuration.

This feature was integrated into Cisco IOS XE Release 3.9S.

Glossary

API --application programming interface.

CAF --command action function.

CDP --Cisco Discovery Protocol.

CSB --Command Status Block.

HA --high-availability architecture.

MIB --Management Information Base.

NAF --NVGEN action function.

NVGEN --nonvolatile generation.

NVRAM --nonvolatile Random Access Memory.

parse chain --A sequence of C language macros defining the syntax of a Cisco IOS command.

RP --Route Processor.

SNMP --Simple Network Management Protocol.

XML --eXtensible Markup Language.