一、介紹
本文內(nèi)容說明了使用Cisco IOS(r)平臺(tái)上所提供的調(diào)試功能的一些基本指導(dǎo)原則,以及正確使用 debug ip packet 命令和有條件調(diào)試的示例。
注: 對于如何使用并解釋特定的debug命令和輸出,本文不加以說明。有關(guān)特定 debug 命令的信息,請參考相應(yīng)的Cisco debug 命令參考文獻(xiàn)。
debug 特權(quán)EXEC命令的輸出提供有關(guān)各種網(wǎng)際互聯(lián)事件的診斷信息,這些事件一般涉及到協(xié)議狀態(tài)和網(wǎng)絡(luò)行為。
前提條件 本文讀者應(yīng)了解以下方面的一些知識(shí):
通過控制面板、aux和vty端口與路由器相連。
基本IOS配置問題。
解釋IOS調(diào)試命令輸出。
警告:請謹(jǐn)慎使用 debug 命令。當(dāng)解決具體問題時(shí),通常只推薦在路由器技術(shù)支持人員提供指導(dǎo)的情況下使用這些命令。
在互聯(lián)網(wǎng)絡(luò)處于高負(fù)載的情況下,啟用調(diào)試功能會(huì)中斷路由器的運(yùn)行。因此,若啟用日志功能,則在控制面板端口日志消息超載的情況下,訪問服務(wù)器可能會(huì)出現(xiàn)間歇性的中斷。
在啟動(dòng) debug 命令之前應(yīng)始終考慮此命令將生成的輸出及所花費(fèi)的時(shí)間。例如,若您配置了有一個(gè)基本速率接口(BRI)的路由器,則 debug isdn q931 可能不會(huì)對系統(tǒng)產(chǎn)生危害。但是,在具有全部E1配置的AS5800上進(jìn)行相同的調(diào)試,則可能生成許多輸入,以致使系統(tǒng)“掛起”或停止響應(yīng)。
在調(diào)試之前,通過 show processes cpu show processes cpu命令來查看CPU負(fù)載情況。開始調(diào)試之前應(yīng)驗(yàn)證是否有足夠的CPU。有關(guān)處理高CPU負(fù)載方面的信息 ,請參考“解決Cisco路由器上高CPU利用率問題”的文獻(xiàn)。例如,若通過具有ATM接口的Cisco 7200路由器來進(jìn)行橋接,那么根據(jù)所配置子接口數(shù)量的不同,重新啟動(dòng)路由器可能會(huì)使用大量的CPU。這是因?yàn)椋簩τ诿總€(gè)虛電路(VC),都需要生成網(wǎng)橋協(xié)議數(shù)據(jù)單元(BPDU)數(shù)據(jù)包。在這樣的重要時(shí)間內(nèi)啟動(dòng)調(diào)試功能可能會(huì)使CPU利用率急劇增加,并導(dǎo)致系統(tǒng)掛起或網(wǎng)絡(luò)斷開。
注: 在運(yùn)行調(diào)試功能時(shí),特別是進(jìn)行大量調(diào)試時(shí),通常不出現(xiàn)路由器提示。但是,在大多數(shù)情況下,可以通過 no debug all 或 undebug all 命令來停止調(diào)試。有關(guān)安全使用調(diào)試的更多信息,請參考“ 獲得調(diào)試輸出 ”一章。
二、調(diào)試之前應(yīng)注意的事項(xiàng)
除了上述幾點(diǎn)外,還必須了解調(diào)試對平臺(tái)穩(wěn)定性的影響,并應(yīng)考慮連接路由器上的哪個(gè)接口。以下的章節(jié)提供這方面的一些指導(dǎo)原則。
獲得調(diào)試輸出
路由器可顯示各種接口的調(diào)試輸出,其中包括控制面板、aux和vty端口。路由器還可將發(fā)送到內(nèi)部緩沖器的日志消息記錄到外部unix syslog服務(wù)器上。下面討論每種方法的使用說明和注意事項(xiàng):
控制面板端口
若在通常配置下連接到控制面板上,則無需額外工作。調(diào)試輸出應(yīng)自動(dòng)顯示。但是,必須保證按照要求來設(shè)置 logging console level ,并保證日志功能沒有由 no logging console 命令而禁用。有關(guān)更多信息,請參考“ 使用Debug命令 ”的文獻(xiàn)。
警告: 對路由器控制面板端口進(jìn)行過多的調(diào)試可能引起路由器處于“掛起”狀態(tài)。這是因?yàn)椋涸趫?zhí)行路由器其他功能之前,路由器對控制面板輸出自動(dòng)劃分優(yōu)先權(quán)。若路由器處理發(fā)送到控制面板端口的大型調(diào)試輸出,路由器可能處于掛起狀態(tài)。所以,若出現(xiàn)過多的調(diào)試輸出,則使用vty (telnet)端口或日志緩沖器來獲得調(diào)試輸出。下面提供這方面的更多信息。
注: 在缺省情況下,控制面板端口上的日志功能處于啟用狀態(tài)。即使實(shí)際上使用一些其他端口或方法(如:Aux、vty或緩沖器)來捕獲輸出,控制面板端口通常也要處理調(diào)試輸出。所以,在通常條件下,推薦始終啟用 no logging console 命令,并使用其他方法來捕獲調(diào)試輸出。在需要使用控制面板的情況下,暫時(shí)將 logging console 設(shè)置為啟用狀態(tài)。
Aux端口
若通過輔助端口進(jìn)行連接,則鍵入 terminal monitor命令。 還要驗(yàn)證路由器上 no logging on 命令是否處于禁用狀態(tài)。 注: 若使用Aux端口來監(jiān)視路由器,則時(shí)刻注意:在路由器重新啟動(dòng)的情況下,Aux端口不顯示啟動(dòng)序列輸出。若要查看啟動(dòng)序列,需連接控制面板端口。
VTY端口
若要通過輔助端口或遠(yuǎn)程登錄進(jìn)行連接,則鍵入 terminal monitor 命令,并驗(yàn)證no logging on 命令是否處于未用狀態(tài)。
將信息記錄到內(nèi)部緩沖器
缺省的日志設(shè)備是控制面板;除非指定其他設(shè)備,否則在控制面板上顯示所有消息。若要將日志信息記錄到內(nèi)部緩沖器上,則使用日志緩沖路由器配置命令。
此命令的全部句法如下:
logging buffered
no logging buffered
logging buffered 命令將日志消息復(fù)制到內(nèi)部緩沖器上,而不是將這些消息寫在控制面板中。緩沖器具有循環(huán)特性,新消息將覆蓋舊消息。若要顯示緩沖器中所記錄的消息,則使用show logging特權(quán)EXEC命令。所顯示的第1個(gè)消息是緩沖器中最舊的消息。可以指定緩沖器的大小,以及要記錄的信息的重要級別。
提示:在輸入緩沖器大小之前,要保證設(shè)備有足夠的可用內(nèi)存。使用 show proc mem IOS命令來查看可用內(nèi)存。通過 no logging buffered 命令,可禁用緩沖器,并將消息寫入到控制面板中(缺省條件下)。
將信息記錄到UNIX Syslog服務(wù)器
若要將日志信息記錄到syslog服務(wù)器主機(jī)上,則使用日志路由器配置命令。此命令的全部句法如下:
logging
no logging
通過 logging 命令確定syslog服務(wù)器主機(jī)以接收日志消息。