Intelligent Services Gateway Configuration Guide, Cisco IOS XE Release 2
Troubleshooting ISG with Session Monitoring and Distributed Conditional Debugging
Troubleshooting ISG with Session Monitoring and Distributed Conditional Debugging
Last Updated: August 21, 2011
Intelligent Services Gateway (ISG) is a Cisco IOS XE software feature set that provides a structured framework in which edge devices can deliver flexible and scalable services to subscribers.This document describes ISG session monitoring and distributed conditional debugging. Conditional debugging facilitates debug filtering for ISG and is available as distributed conditional debugging.
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see 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 at the end of this document.
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.
Prerequisites for ISG Session Monitoring and Distributed Conditional Debugging
Before using the information in this module, it is recommended that you be familiar with the use of Cisco IOS debug commands and conditional debugging. See the "Additional References" section to find information about these topics.
Restrictions for Distributed Conditional Debugging
Conditions that are set for an active session take effect only when the session is terminated and reestablished.
Information About ISG Session Monitoring and Distributed Conditional Debugging
ISG Session and Flow Monitoring
ISG introduces a mechanism that allows an administrator to monitor ISG sessions and flows continuously. The show interface monitor command, which displays interface statistics, and the show process cpu monitor command, which displays information about CPU usage, both update the information in their displays at specified intervals. These commands also provide the ability to freeze or clear the information in the display.
ISG Distributed Conditional Debugging
Benefits of Enhanced Conditional Debugging for the ISG Platforms
Because thousands of user sessions run on the ISG platforms, it is not practical to troubleshoot a problem with a session by enabling the various component debug commands that are available and trace through the messages for a single session or user. Instead, it is more practical to filter debugging messages for a single session or call across the various Cisco IOS XE components that a session traverses. For this reason, the conditional debugging previously offered in the Cisco IOS XE software has been enhanced to facilitate debug filtering for ISG and is available as distributed conditional debugging.
Cisco IOS Software Components Supported by Distributed Conditional Debugging
The following components are supported for ISG distributed conditional debugging:
See Table 1 and Table 2 for specific commands that are supported for distributed conditional debugging.
How to Enable ISG Session Monitoring and Distributed Conditional Debugging
Monitoring ISG Sessions and Flows
Perform this task to monitor interface and CPU statistics. The show commands are not required and may be entered in any order.
2. show interface type number monitor [interval seconds]
3. show processes cpu monitor [interval seconds]
Configuring Distributed Conditional Debugging
Two main tasks are required for configuring distributed conditional debugging: enabling conditional debugging, and issuing one or more supported debug commands. These required tasks are described in the following sections:
ISG Debug Condition Commands
The table below lists the debug condition commands that you can issue at the EXEC prompt to enable distributed conditional debugging. You can set more than one condition.
Debug Commands That Are Supported by ISG Conditional Debug
The table below lists the Cisco IOS debugging commands that are supported for distributed conditional debugging. The commands are listed by component. One or more of these commands can be issued after enabling one of the debug condition commands listed in the table above.
The debug condition session-id command filters a session only after the session has been established. The session identifier is a unique dynamic number generated internally by the Cisco IOS software and assigned to each session when the session is established.
In VPDN, the debug commands and messages associated with tunnels cannot be filtered because they are not associated with a session, but are displayed during the tunnel-establishment phase. The debugging messages will be displayed even if filtering is enabled by one of the conditions.
If multiple conditions are set, the debugging messages corresponding to all the sessions that meet any of the conditions will be displayed. Some conditions, such as domain name, will trigger debugging messages for all the sessions that belong to the particular domain.
Enabling Distributed Conditional Debugging
Displaying Debugging Conditions
2. show debug condition
The Cisco IOS software displays messages as you set the conditions for filtering the debugging.
When a condition is set, it is assigned a number, as follows:
Condition 1 set
If a condition has already been set, the following message is displayed:
% Condition already set
The following messages and prompt are displayed when you attempt to disable the last condition using the no form of a debug condition command:
This condition is the last interface condition set. Removing all conditions may cause a flood of debugging messages to result, unless specific debugging flags are first removed. Proceed with removal? [yes/no]: yes Condition 1 has been removed
Configuration Examples for ISG Distributed Conditional Debugging
Monitoring Interface Statistics Example
The following example shows sample output for the show interface monitor command. The display will be updated every 10 seconds.
Router> show interface ethernet 0/0 monitor interval 10 Router Name: Scale3-Router8 Update Secs: 10 Interface Name: Ethernet 0/0 Interface Status: UP, line is up Line Statistics: Total: Rate(/s) Delta Input Bytes: 123456 123 7890 Input Packets: 3456 56 560 Broadcast: 1333 6 60 OutputBytes: 75717 123 1230 Output Packets: 733 44 440 Error Statistics: Total: Delta: Input Errors: 0 0 CRC Errors: 0 0 Frame Errors: 0 0 Ignored: 0 0 Output Errors: 0 0 Collisions: 0 0 No. Interface Resets: 2 End = e Clear = c Freeze = f Enter Command:
Monitoring CPU Statistics Example
The following example shows sample output for the show processes cpu monitor command:
Router> show processes cpu monitor CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 3 772 712 1084 0.08% 0.04% 0.02% 0 Exec 67 276 4151 66 0.08% 0.03% 0.01% 0 L2TP mgmt daemon 116 604 2263 266 0.16% 0.05% 0.01% 0 IDMGR CORE End = e Freeze = f
Enabling ISG Distributed Conditional Debugging Example
The following example shows how to filter PPP, PPPoE, and Session Manager debugs for a PPPoE session with username “email@example.com”. Only debugging messages for the defined user are displayed on the console. Any other debugging messages associated with other users will not be displayed.
Router# debug condition username firstname.lastname@example.org Condition 1 set Router# debug ppp negotiation Router# debug pppoe event Router# debug subscriber session event
Displaying Debugging Conditions Example
Filtering Debug Output Example
In the following example, the output of the debug subscriber packet detail command is filtered on the basis of the username “email@example.com”:
Router# debug condition username firstname.lastname@example.org Condition 1 set Router# show debug Condition 1: username email@example.com (0 flags triggered) Router# debug subscriber packet detail SSS packet detail debugging is on Router# show debug SSS: SSS packet detail debugging is on Condition 1: username firstname.lastname@example.org (0 flags triggered)
Feature Information for Distributed Conditional Debugging
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.
Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at www.cisco.com/go/trademarks. Third party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1005R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.