錯誤消息格式
系統錯誤消息格式如下:
%Facility – subfacility – Severity – Mnemonic : Message Text
Facility 它指出錯誤消息涉及的設備名。該值可以是協議、硬件設備或者系統軟件模塊。
Subfacility 它僅與通道接口處理器(CIP)卡有關。詳細的信息可以參見Cisco文檔的相關章節。
Severity 它是壹個範圍在0到7之間的數字。數字的值越小,嚴重程度越高。
Mnemonic 唯壹標識錯誤消息的單值代碼。該代碼通常可以暗示錯誤的類型。
Message Text 它是錯誤消息的簡短描述,其中包括涉及的路由器硬件和軟件信息。
下面是壹些錯誤消息的示例。用戶可以查閱CCO ISO文檔的系統錯誤消息壹節,以查找這些錯誤消息的說明。
%DUAL-3-SIA:Route 171.155.148.192/26 stuck-in-active state in IP-EIGP 211. Cleaning up
%LANCE-3-OWNERR: Unit 0, buffer ownership error
需要注意的是,並不是所有的消息都涉及到故障或者問題的狀況。某些消息顯示的是狀態方面的信息。例如,以下消息僅表明ISDN BRI 0接口與特定的遠端數據連接。
%ISDN-6-CONNECT: Interface BRI0 is now connected to 95551212
Traceback Report
某些與路由器內部錯誤相關的錯誤消息包含了traceback信息。在向Cisco TAC報告錯誤時,應在錯誤描述中加入這些信息。
錯誤消息和事件信息的日志
根據錯誤消息的重要性和有效性,Cisco錯誤消息可以被記錄到以下位置:
& #61550; ;; 控制台
& #61550; ;; 虛擬終端
& #61550; ;; Syslog服務器
& #61550; ;; 內部緩沖區
logging on命令使日志消息的輸出到上述位置。對于Syslog服務器,必須使用下述全局配置命令指明服務器的IP地址:
logging ip-address
通過反複使用這壹命令,可以建立壹個服務器的列表。在管理大型網絡時,通常需要設置冗余服務器。
logging buffered命令用于將日志信息發送到內部緩沖區。緩沖區的大小必須在4096字節以上。缺省值根據系統平台的不同而不同。用戶需要選擇適合環境的緩沖區大小。如果緩沖區太小,新的消息將會覆蓋舊的消息。這有可能會導致問題。但是,如果緩沖區大小過大將會浪費系統緩存。no logging buffered命令將禁止消息被寫入內部緩存。
用戶可以使用show logging命令顯示內部緩沖區的內容。如果用戶需要某壹時間段的信息,首先使用NTP或者手工設置時鍾,具體操作爲:
YH-Router#clock set 11:37:00 December 2000
YH-Router#sh clock
11:37:03.596 PST Fri Dec 11 2000
日志消息的時間戳和調試信息可以使用以下全局配置命令:
YH-Router (config)#service timestamps log datetime
YH-Router (config)#service timestamps debug datetime
terminal monitor命令將在當前終端上顯示調試時的日志信息。該命令不是壹個配置命令。相反,它可以通過telnet到路由器時在命令行方式下使用。
在大多數情況下,用戶可能需要顯示某壹級別的日志信息。因此,日志信息被分爲八個不同的級別,按照重要程度由高到低排列如下:
& #61550; ;; Emergencies
& #61550; ;; Alerts
& #61550; ;; Critical
& #61550; ;; Errors
& #61550; ;; Warnings
& #61550; ;; Notifications
& #61550; ;; Informational
& #61550; ;; Debugging
例如,需要在控制台上顯示嚴重程度等于或者大于警告(Warning)的所有日志信息,可以使用下述全局配置命令:
logging console warning
類似的,將某種類型的日志信息發送到當前的終端時,使用
logging monitor level
或者將信息發送到Syslog服務器時使用
logging trap level
與terminal monitor命令不同,logging monitor命令是路由器配置的壹部分。前壹種命令不允許在不同的安全級別下執行。
需要注意的是,將日志記錄到不同的位置時,系統開銷變化很大。將日志記錄到控制台的開銷比較大,然而將日志記錄到虛擬終端時開銷較小。使用Syslog服務器時開銷更小。系統開銷最小的日志寫入方式是寫入內部緩沖區。
核心轉儲(Core Dump)
爲了查找路由器崩潰的原因,我們可以使用許多命令來獲取有效的信息。其中我們已經講解了show stacks命令的用法。核心轉儲是系統內存映象的拷貝,它可以被寫入到TFTP服務器中。從這個二進制文件中,我們可以獲得與路由器崩潰或者嚴重誤操作相關的信息,通過這些信息可以排除可能的故障。
下面的配置命令將核心轉儲寫入到命令中IP地址對應的TFTP服務器上:
exception dump ip-address
write core命令通常用于路由器發生嚴重的誤操作但是沒有完全崩潰時,保存核心映像。
只有運行IOS v 9.0或更高版本的服務器才可以使用核心轉儲。但是,需要注意的是,在使用核心轉儲時,最好獲取有經驗的工程師或者Cisco TAC的支持。
結束語
要順利地診斷並排除網絡故障,網絡工程技術人員必須掌握兩種基本的技能。首先是對網絡技術和協議要有清楚的理解,它是診斷與排除網絡故障的基礎。沒有適當的知識和經驗,故障診斷與排除工具比如路由器診斷命令和網絡分析儀都不能發揮其作用。
網絡工程技術人員必須掌握的第二種技能是將所掌握的知識以有條理的方式應用于診斷和排除網絡故障的過程中。本文雖然只闡述了壹些診斷的命令,但需要強調的是:故障診斷與排除是壹種結構化的方法。許多工程技術人員認爲故障診斷與排除計劃不如研究和應用技術本身重要。事實上,正確的計劃在故障診斷與排除過程中往往起決定性的作用。在故障排除過程中,壹個偶然的行爲可能使故障得以順利解決,但是它不能替代結構化的故障診斷與排除方法。
網絡故障的排除是壹項系統工程,應該經過定義問題、搜集事實、基于事實考慮可能性、建立行動計劃、實施計劃、觀察結果和循環過程等步驟,這壹過程就如同軟件開發過程的瀑布模型,其重要性是不言而喻的。