有关Debug命令的重要信息

网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息 。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等 。当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段 。一、介绍
本文内容说明了使用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 命令来停止调试 。有关安全使用调试的更多信息,请参考“ 获得调试输出 ”一章 。
二、调试之前应注意的事项
除了上述几点外,还必须了解调试对平台稳定性的影响,并应考虑连接路由器上的哪个接口 。以下的章节提供这方面的一些指导原则 。
获得调试输出
【有关Debug命令的重要信息】路由器可显示各种接口的调试输出,其中包括控制面板、aux和vty端口 。路由器还可将发送到内部缓冲器的日志消息记录到外部unix syslog服务器上 。下面讨论每种方法的使用说明和注意事项:
控制面板端口
若在通常配置下连接到控制面板上,则无需额外工作 。调试输出应自动显示 。但是,必须保证按照要求来设置 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服务器主机以接收日志消息 。参数是主机的IP地址 。通过多次发布此命令,可建立接收日志消息的syslog服务器列表 。通过 no logging 命令,可以删除具有syslogs列表中指定地址的syslog服务器 。有关设置syslog服务器的更多信息,请参照“ 使用调试命令”文献 。

    推荐阅读