|
|
This appendix provides an overview of the debug commands that may be helpful when troubleshooting your ATM switch.
This appendix consists of the following sections:
Use debug commands to isolate problems, not to monitor normal network operation. Because the high overhead of debug commands can disrupt switch operation, use debug commands only when you are looking for specific types of traffic or problems and have narrowed your problems to a likely subset of causes.
To minimize the negative impact of using debug commands, use the following commands as well:
Step 1 Use the no logging console global configuration command on your switch. This command disables all logging to the console terminal.
Step 2 Use Telnet to connect to a switch port, and enter the enable EXEC command.
Step 3 Use the terminal monitor command to copy debug command output and system error messages to your current terminal display.
As a result you can view debug command output remotely, without being connected through the console port.
Because the console port no longer has to generate character-by-character processor interrupts, following this procedure minimizes the load created by using debug commands.
If you intend to keep the output of the debug command, spool the output to a file. The procedure for setting up such a debug output file is described in the Debug Command Reference publication. This publication provides complete details regarding the function and output of debug commands and includes specific debug commands that are useful when troubleshooting specific problems.
This section explains how to diagnose and resolve internetworking problems using debug commands and covers the following topics:
| Caution Because debugging output is assigned a high priority in the CPU process, it can render the system unusable. For this reason, use debug commands only to troubleshoot specific problems or during troubleshooting sessions with customer support. Moreover, it is best to use debug commands during periods of lower network traffic and fewer users. Debugging during these periods decreases the likelihood that the increased overhead of debug command processing will affect system use. |
All debug commands are entered in privileged EXEC mode, and most debug commands take no arguments. For example, to enable the debug atm packet command, enter the following in privileged EXEC mode at the command line:
Switch# debug atm packet
ATM packets debugging is on Displaying all ATM packets
To display the state of each debugging option, enter the show debugging command in privileged EXEC mode:
Switch# show debugging
Generic ATM: ATM packets debugging is on Switch#
To turn off the debug atm packet command in privileged EXEC mode enter the no form of the command at the command line:
Switch# no debug atm packet
ATM packets debugging is off Switch#
Alternately, in privileged EXEC mode, you can enter the undebug form of the command:
Switch# undebug atm packet
ATM packets debugging is off Switch#
To list and see a brief description of all the debugging command options, enter the debug ? command in privileged EXEC mode at the command line as shown in the following example:
Switch# debug ?
aaa AAA Authentication, Authorization and Accounting all Enable all debugging arp IP ARP and HP Probe transactions async Async interface information atm ATM interface packets broadcast MAC broadcast packets callback Callback activity cdp CDP information ces-iwf CES-IWF Info chat Chat scripts activity compress COMPRESS traffic custom-queue Custom output queueing dialer Dial on Demand dnsix Dnsix information domain Domain Name System eigrp EIGRP Protocol information ethernet-interface Ethernet network interface events filesys File system information general Rhino General Debug ip IP information ipc Interprocess communications debugging lane LAN Emulation list Set interface or/and access list for the next debug command modem Modem control/process activation ntp NTP information nvram Debug NVRAM behavior packet Log unknown packets ports Rhino Ports Info ppp PPP (Point to Point Protocol) information priority Priority output queueing probe HP Probe Proxy Requests rif RIF cache transactions serial Serial interface information snmp SNMP information sscop SSCOP standby Hot standby protocol tacacs TACACS authentication and authorization tag-switching Tag Switching telnet Incoming telnet connections tftp TFTP packets token Token Ring information tunnel Generic Tunnel Interface
Switch#
To enable all system diagnostics, you can enter the debug all command in privileged EXEC mode at the command line.
| Caution Because debugging output takes priority over other network traffic, and because the debug all command generates more output than any other debug command, it can severely diminish switch performance or render the switch unusable. Use more specific debug commands. |
The no debug all command turns off all diagnostic output. Using the this command is a convenient way to ensure that you have not accidentally left any debug commands turned on.
Enabling a debug command can result in output similar to the following example for the debug lane client all command.
Switch# debug lane client all
Switch# LEC ATM13/0/0.1: action A_RESEND_JOIN_REQ LEC ATM13/0/0.1: sending LANE_JOIN_REQ on VCD 303 LEC ATM13/0/0.1: Status 0 LEC ATM13/0/0.1: LECID 0 LEC ATM13/0/0.1: SRC MAC address 00e0.4fac.b402 LEC ATM13/0/0.1: SRC ATM address 47.00918100000000E04FACB401.00E04FACB402 .01 LEC ATM13/0/0.1: LAN Type 1 LEC ATM13/0/0.1: Frame size 1 LEC ATM13/0/0.1: LAN Name eng_elan LEC ATM13/0/0.1: LAN Name size 8 LEC ATM13/0/0.1: state JOIN_CTL_DIST_CONN event LEC_TIMER_JOIN => JOIN_CTL_DIST_ CONN %LANE-3-NOREGILMI: ATM13/0/0 LECS cannot register 47.00918100000000E04FACB401.00 E04FACB405.00 with ILMI LEC ATM13/0/0.1: action A_RESEND_JOIN_REQ LEC ATM13/0/0.1: action A_TEARDOWN_LEC LEC ATM13/0/0.1: sending RELEASE LEC ATM13/0/0.1: callid 0x60EBB48C LEC ATM13/0/0.1: cause code 31 LEC ATM13/0/0.1: sending CANCEL LEC ATM13/0/0.1: ATM address 47.00918100000000E04FACB401.00E04FACB402.01 LEC ATM13/0/0.1: state JOIN_CTL_DIST_CONN event LEC_TIMER_JOIN => TERMINATING LEC ATM13/0/0.1: received RELEASE_COMPLETE LEC ATM13/0/0.1: callid 0x60EBB48C LEC ATM13/0/0.1: cause code 31 LEC ATM13/0/0.1: action A_PROCESS_TERM_REL_COMP LEC ATM13/0/0.1: state TERMINATING event LEC_SIG_RELEASE_COMP => IDLE LEC ATM13/0/0.1: received CANCEL LEC ATM13/0/0.1: state IDLE event LEC_SIG_CANCEL => IDLE LEC ATM13/0/0.1: state IDLE event LEC_CTL_ILMI_SET_RSP_POS => IDLE %LANE-3-NOREGILMI: ATM13/0/0 LECS cannot register 47.00918100000000E04FACB401.00 E04FACB405.00 with ILMI %LANE-3-NOREGILMI: ATM13/0/0 LECS cannot register 47.00918100000000E04FACB401.00 E04FACB405.00 with ILMI Switch# %LANE-3-NOREGILMI: ATM13/0/0 LECS cannot register 47.00918100000000E04FACB401.00 E04FACB405.00 with ILMI Switch# Switch# Switch# nodebug lane client all
All possible debugging has been turned off Switch#
The switch continues to generate such output until you enter the corresponding no debug command (in this case, no debug lane client all).
If you enable a debug command and no output is displayed, consider the following possibilities:
By default, the network server sends the output from debug commands and system error messages to the console terminal. If you use this default, monitor debugging output with a virtual terminal connection, rather than the console port.
To redirect debugging output, use the variations of the logging command within configuration mode as described in the following sections.
Possible destinations include the console terminal, virtual terminals, internal buffer, and UNIX hosts running a syslog server. The syslog format is compatible with 4.3 Berkeley Standard Distribution (BSD) UNIX and its derivatives.
To configure message logging, you need to be in configuration command mode. To enter this mode, use the configure terminal command at the EXEC prompt.
By logging messages you can redirect debug output to a file, memory, or a remote host connection.
This section contains the following:
To configure message logging, perform the following task in global configuration mode. Use the no form of this command to assign the default value:
| Command | Task |
|---|---|
configure | At the privileged EXEC prompt, enter configuration mode from the terminal. |
logging on | Enable message logging. |
logging hostname or IP_address | Enable logging to a sys server host. |
logging buffered 4096-2147483647 [alerts |critical | debugging | emergencies | errors | informational | notifications | warnings] | Enable logging to an internal buffer instead of writing to the console, and configure the buffer size. |
logging console [alerts |critical | debugging | emergencies | errors | informational | notifications | warnings] | Enable logging to the console, and configure the level displayed. |
logging facility {auth | cron | daemon | kern | loca7-local10 | lpr | mail | news | sys9 - sys14 | user | uucp} | Enable logging to a specific facility. |
logging monitor {alerts |critical | debugging | emergencies | errors | informational | notifications | warnings} | Enable logging to a monitor, and configure the level displayed. |
logging source-interface {atm card/subcard/port | async 1-1| bvi 0-2147483647 | dialer | ethernet card/subcard/port | lex 0-2147483647 | loopback 0-2147483647 | null 0-0 | tunnel 0-2147483647 | virtual-template 1-25 | virtual-tokenring 0-2147483647 | vlan 0-1000} | Enable logging from a specific source interface. |
logging trap [alerts |critical | debugging | emergencies | errors | informational | notifications | warnings] | Enable logging SNMP1 traps. |
| 1SNMP = Simple network Management Protocol |
To enable message logging to all supported destinations other than the console, enter the logging on command as in the following example:
Switch(config)# logging on
Switch(config)#
Switch(config)# no logging on
Switch(config)#
You can set the logging levels when you log messages to the following devices:
Table A-1 lists and briefly describes the logging levels and corresponding keywords you can use to set the logging levels for these types of messages. The highest level of message is level 0, emergencies. The lowest level is level 7, debugging, which also displays the largest number of messages.
| Level | Keyword | Description | Syslog Definition |
|---|---|---|---|
0 | emergencies | System is unusable. | LOG_EMERG |
1 | alerts | Immediate action is needed. | LOG_ALERT |
2 | critical | Critical conditions exist. | LOG_CRIT |
3 | errors | Error conditions exist. | LOG_ERR |
4 | warnings | Warning conditions exist. | LOG_WARNING |
5 | notification | Normal, but significant, conditions exist. | LOG_NOTICE |
6 | informational | Informational messages. | LOG_INFO |
7 | debugging | Debugging messages. | LOG_DEBUG |
For information about limiting these messages, refer to the sections that follow.
The logging console command limits the logging messages displayed on the console terminal to messages up to and including the specified severity level, which is specified by the level argument.
The level argument is one of the keywords listed in Table A-1. Keywords are listed in order from the most severe level to the least severe level.
The no logging console command disables logging to the console terminal.
The following example sets console logging of messages at the debugging level, which is the least severe level and displays all logging messages:
Switch(config)# logging console debugging
Switch(config)#
The logging buffered command copies logging messages to an internal buffer instead of writing them to the console terminal. The buffer is circular in nature, so newer messages overwrite older messages. To display the messages that are logged in the buffer, use the privileged EXEC command show logging. The first message displayed is the oldest message in the buffer. The no logging buffered command cancels the use of the buffer and writes messages to the console terminal, which is the default setting.
The following example copies logging messages to buffered memory and sets the memory buffer space as 10,000 bytes:
Switch(config)# logging buffered 10000
Switch(config)#
The logging monitor command limits the logging messages that are displayed on terminal lines---other than the console line---to messages with a level up to and including the specified level argument. The level argument is one of the keywords listed in Table A-1. To display logging messages on a terminal (virtual console), use the privileged EXEC command terminal monitor.
The no logging monitor command disables logging to terminal lines other than the console line.
The following example sets the level of messages displayed on monitors other than the console to notification level:
Switch(config)# logging monitor notification
Switch(config)#
The no logging command deletes the syslog server with the specified address from the list of syslogs.
The following example configures syslog server host diablo.cisco.com to receive the logging messages:
Switch(config)# logging diablo.cisco.com
Switch(config)#
The logging trap command limits the logging messages sent to syslog servers to messages with a level up to and including the specified level argument. The level argument is one of the keywords listed in Table A-1.
To send logging messages to a syslog server, specify its host address with the logging command. The default trap level is the informational level.The no logging trap command disables logging to syslog servers.
The following example configures traps sent to the syslog server as informational:
Switch(config)# logging trap informational
Switch(config)#
To display the logging configuration, perform the following task in user EXEC mode:
| Command | Task |
|---|---|
Display the logging configuration. |
The following example shows the addresses and levels associated with the current logging setup. The command output also includes ancillary statistics.
Switch# show logging
Syslog logging: disabled (0 messages dropped, 3 flushes, 0 overruns)
Console logging: level critical, 130 messages logged
Monitor logging: level notifications, 0 messages logged
Trap logging: level informational, 132 message lines logged
Buffer logging: level debugging, 127 messages logged
Log Buffer (10000 bytes):
Switch#
To set up the syslog daemon on a 4.3 BSD UNIX system, include a line such as the following in the file /etc/syslog.conf:
local7.debugging /usr/adm/logs/tiplog
The local7 keyword specifies the logging facility to be used. The debugging keyword specifies the syslog level. See Table A-1 for other keywords that can be listed.
The UNIX system sends messages at or above this level to the specified file, in this case /usr/adm/logs/tiplog. The file must already exist, and the syslog daemon must have permission to write to the specific file. For System V UNIX systems, the line should read as follows:
local7.debug /usr/admin/logs/cisco.log
|
|