一、介绍
本文内容说明了使用Cisco IOS(r)平台上所提供的调试功能的一些基本指导原则,以及正确使用 debug ip packet 命令和有条件调试的示例。
注: 对于如何使用并解释特定的debug命令和输出,本文不加以说明。有关特定 debug 命令的信息,请参考相应的Cisco debug 命令参考文献。
debug 特权EXEC命令的输出提供有关各种网际互联事件的诊断信息,这些事件一般涉及到协议状态和网络行为。
前提条件 本文读者应了解以下方面的一些知识:
通过控制面板、aux和vty端口与路由器相连。
基本IOS配置问题。
解释IOS调试命令输出。
警告:请谨慎使用 debug 命令。当解决具体问题时,通常只推荐在路由器技术支持人员提供指导的情况下使用这些命令。
在互联网络处于高负载的情况下,启用调试功能会中断路由器的运行。因此,若启用日志功能,则在控制面板端口日志消息超载的情况下,访问服务器可能会出现间歇性的中断。
在启动 debug 命令之前应始终考虑此命令将生成的输出及所花费的时间。例如,若您配置了有一个基本速率接口(BRI)的路由器,则 debug isdn q931 可能不会对系统产生危害。但是,在具有全部E1配置的AS5800上进行相同的调试,则可能生成许多输入,以致使系统“挂起”或停止响应。
在调试之前,通过 show processes cpu show processes cpu命令来查看CPU负载情况。开始调试之前应验证是否有足够的CPU。有关处理高CPU负载方面的信息 ,请参考“解决Cisco路由器上高CPU利用率问题”的文献。例如,若通过具有ATM接口的Cisco 7200路由器来进行桥接,那么根据所配置子接口数量的不同,重新启动路由器可能会使用大量的CPU。这是因为:对于每个虚电路(VC),都需要生成网桥协议数据单元(BPDU)数据包。在这样的重要时间内启动调试功能可能会使CPU利用率急剧增加,并导致系统挂起或网络断开。
注: 在运行调试功能时,特别是进行大量调试时,通常不出现路由器提示。但是,在大多数情况下,可以通过 no debug all 或 undebug all 命令来停止调试。有关安全使用调试的更多信息,请参考“ 获得调试输出 ”一章。
二、调试之前应注意的事项
除了上述几点外,还必须了解调试对平台稳定性的影响,并应考虑连接路由器上的哪个接口。以下的章节提供这方面的一些指导原则。
获得调试输出
路由器可显示各种接口的调试输出,其中包括控制面板、aux和vty端口。路由器还可将发送到内部缓冲器的日志消息记录到外部unix syslog服务器上。下面讨论每种方法的使用说明和注意事项: …… 下载网络技术应用使用,安卓用户请点击>>>网络技术应用 下载网络技术应用使用,IOS用户请点击>>>IOS 网络技术应用 扫描二维码,直接长按扫描哦!
控制面板端口
若在通常配置下连接到控制面板上,则无需额外工作。调试输出应自动显示。但是,必须保证按照要求来设置 logging console level ,并保证日志功能没有由 no logging console 命令而禁用。有关更多信息,请参考“ 使用Debug命令 ”的文献。
警告: 对路由器控制面板端口进行过多的调试可能引起路由器处于“挂起”状态。这是因为:在执行路由器其他功能之前,路由器对控制面板输出自动划分优先权。若路由器处理发送到控制面板端口的大型调试输出,路由器可能处于挂起状态。所以,若出现过多的调试输出,则使用vty (telnet)端口或日志缓冲器来获得调试输出。下面提供这方面的更多信息。
注: 在缺省情况下,控制面板端口上的日志功能处于启用状态。即使实际上使用一些其他端口或方法(如:Aux、vty或缓冲器)来捕获输出,控制面板端口通常也要处理调试输出。所以,在通常条件下,推荐始终启用 no logging console 命令,并使用其他方法来捕获调试输出。在需要使用控制面板的情况下,暂时将 logging console 设置为启用状态。
Aux端口
若通过辅助端口进行连接,则键入 terminal monitor命令。 还要验证路由器上 no logging on 命令是否处于禁用状态。 注: 若使用Aux端口来监视路由器,则时刻注意:在路由器重新启动的情况下,Aux端口不显示启动序列输出。若要查看启动序列,需连接控制面板端口。
VTY端口
若要通过辅助端口或远程登录进行连接,则键入 terminal monitor 命令,并验证no logging on 命令是否处于未用状态。
将信息记录到内部缓冲器
缺省的日志设备是控制面板;除非指定其他设备,否则在控制面板上显示所有消息。若要将日志信息记录到内部缓冲器上,则使用日志缓冲路由器配置命令。
此命令的全部句法如下:
logging buffered
no logging buffered
logging buffered 命令将日志消息复制到内部缓冲器上,而不是将这些消息写在控制面板中。缓冲器具有循环特性,新消息将覆盖旧消息。若要显示缓冲器中所记录的消息,则使用show logging特权EXEC命令。所显示的第1个消息是缓冲器中最旧的消息。可以指定缓冲器的大小,以及要记录的信息的重要级别。
提示:在输入缓冲器大小之前,要保证设备有足够的可用内存。使用 show proc mem IOS命令来查看可用内存。通过 no logging buffered 命令,可禁用缓冲器,并将消息写入到控制面板中(缺省条件下)。
将信息记录到UNIX Syslog服务器
若要将日志信息记录到syslog服务器主机上,则使用日志路由器配置命令。此命令的全部句法如下:
logging
no logging
通过 logging 命令确定syslog服务器主机以接收日志消息。