2月2日
三不五時要對cisco的網路設備做debug及troubleshooting…看了一堆的log message,一般人常不瞭到底怎麼看.下面是這些麻煩的log的解釋.
錯誤消息格式
系統錯誤消息格式如下:
%Facility – subfacility – Severity – Mnemonic : Message Text
Facility 它指出錯誤消息涉及的設備名。該值可以是協定、硬體設備或者系統軟體模組。
Subfacility 它僅與通道介面處理器(CIP)卡有關。
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錯誤消息可以被記錄到以下位置:
控制臺
虛擬終端
Syslog伺服器
內部緩衝區
logging on命令使日誌消息的輸出到上述位置。對於Syslog伺服器,必須使用下述全局配置命令指明伺服器的IP位址:
logging ip-address
通過反覆使用這一命令,可以建立一個伺服器的列表。在管理大型網路時,通常需要設置syslog server。
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
到路由器時在命令行方式下使用。
在大多數情況下,用戶可能需要顯示某一級別的日誌資訊。因此,日誌資訊被分為八個不同的級別,
按照重要程度由高到低排列如下:
Emergencies
Alerts
Critical
Errors
Warnings
Notifications
Informational
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的支持。
結束語
要順利地診斷並排除網路故障,網路工程技術人員必須掌握兩種基本的技能。首先是對網路技術和協議要有清楚的理解,
它是診斷與排除網路故障的基礎。沒有適當的知識和經驗,故障診斷與排除工具比如路由器診斷命令和網路分析儀都不能
發揮其作用。
網路工程技術人員必須掌握的第二種技能是將所掌握的知識以有條理的方式應用於診斷和排除網路故障的過程中。
本文雖然只闡述了一些診斷的命令,但需要強調的是:故障診斷與排除是一種結構化的方法。許多工程技術人員認為故障
診斷與排除計畫不如研究和應用技術本身重要。事實上,正確的計畫在故障診斷與排除過程中往往起決定性的作用。
在故障排除過程中,一個偶然的行為可能使故障得以順利解決,但是它不能替代結構化的故障診斷與排除方法。
網路故障的排除是一項系統工程,應該經過定義問題、搜集事實、基於事實考慮可能性、建立行動計畫、實施計畫、
觀察結果和迴圈過程等步驟,這一過程就如同軟體發展過程的瀑布模型,其重要性是不言而喻的。