|
This chapter explains how you can use debug commands to diagnose and resolve internetworking problems. Specifically, it covers the following topics:
All debug commands are entered while in privileged EXEC mode and most debug commands do not take any arguments. For example, to enable the debug broadcast command, enter the following in privileged EXEC mode at the command line:
debug broadcastTo turn off the debug broadcast command, in privileged mode, enter the no form of the command at the command line:
no debug broadcastAlternately, in privileged mode, you can enter the undebug form of the command line:
undebug broadcastTo display the state of each debugging option, enter the following at the command line in privileged EXEC mode:
show debuggingTo list and briefly describe all of the debugging command options, enter the following command in privileged mode at the command line:
debug ?To enable all system diagnostics, enter the following command in privileged EXEC mode at the command line:
debug allThe no debug all command turns off all diagnostic output. Using the no debug all 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 example shown in Figure 1-1 for the debug broadcast command.
The router continues to generate such output until you enter the corresponding no debug command (in this case, no debug broadcast).
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 using a VTY connection, rather than the console port.
To redirect debugging output, use the logging command options within configuration mode.
Possible destinations include the console terminal, virtual terminals, and UNIX hosts running a syslog server. The syslog format is compatible with 4.3 BSD UNIX and its derivatives.
To configure message logging, you need to be in the configuration command collection mode. To enter this mode, use the EXEC command configure terminal at the EXEC prompt.
The following sections describe how to implement the redirection options.
To enable message logging to possible destinations other than the console, enter the following:
logging onThis behavior is the default.
To direct logging to the console terminal only, enter the following:
no logging onYou can set the logging levels when logging the following:
Table 1-1 lists and briefly describes the logging levels and corresponding keywords that you can use to set the logging levels for these types of messages. For information about limiting these messages, see sections later in this chapter.
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 |
To limit the types of messages that are logged to the console, use the logging console router configuration command. The full syntax of this command follows:
logging console levelThe logging console command limits the logging messages displayed on the console terminal to messages with a level number at or below the specified severity level, which is specified by the level argument.
The level argument can be one of the keywords listed in Table 1-1. They are listed in order from the most severe level to the least severe.
The no logging console command disables logging to the console terminal.
This command sets console logging of messages at the debugging level:
!
logging console debugging
!
The default logging device is the console; all messages are displayed on the console unless otherwise specified.
To log messages to an internal buffer, use the logging buffered router configuration command. The full syntax of this command follows:
logging bufferedThe 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 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 (the default).
To limit the level of messages logged to the terminal lines (monitors), use the logging monitor router configuration command. The full syntax of this command follows:
logging monitor levelThe logging monitor command limits the logging messages displayed on terminal lines other than the console line to messages with a level at or above the value of the level variable. The level argument is one of the keywords described for the logging console command in Table 1-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.
This command sets the level of messages displayed on monitors other than the console to notification:
!
logging monitor notification
!
To log messages to the syslog server host, use the logging router configuration command. The full syntax of this command follows:
logging internet-addressThe logging command identifies a syslog server host to receive logging messages. The internet-address argument is the Internet address of the host. By issuing this command more than once, you build a list of syslog servers that receive logging messages.
The no logging command deletes the syslog server with the specified address from the list of syslogs.
To limit how many messages are sent to the syslog servers, use the logging trap router configuration command. Its full syntax follows:
logging trap levelThe logging trap command limits the logging messages sent to syslog servers to messages with a level at or above the value of the level variable. The level argument is one of the keywords described for the logging console command in Table 1-1.
To send logging messages to a syslog server, specify its host address with the logging command.
The default trap level is informational.
The no logging trap command disables logging to syslog servers.
The current software generates four categories of syslog messages:
The EXEC command show logging displays the addresses and levels associated with the current logging setup. The command output also includes ancillary statistics.
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.debug /usr/adm/logs/tiplog
The local7 keyword specifies the logging facility to be used.
The debug argument specifies the syslog level. See Table 1-1 for other arguments that can be listed.
The UNIX system sends messages at or below this level to the file specified in the next field. The file must already exist, and the syslog daemon must have permission to write to it.
|