簡介
本文描述檢測每個埠的Datalink或NPU計數器錯誤增加的指令碼。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
問題
埠級別的錯誤計數器可以是一個很好的資訊來源,用於診斷StarOS節點的各種問題。
在這種情況下,最有價值的資訊就是這些計數器在一定時間段內的變化。
單個「show」命令輸出中可用的靜態值沒有提供足夠的資訊來做出有意義的結論。
典型的方法是收集show命令的多個輸出,然後手動執行不同操作。
這是一項困難的工作,尤其是當不知道哪個埠會受到真正的影響時。
此指令碼通過提供錯誤計數器在每埠一段特定時間內的變化來簡化此過程。
可以檢測到的問題示例:
- MTU不匹配
- VLAN組態錯誤
- DataLink級別錯誤
指令碼如何工作?
在SSD檔案中,show port npu counters和show port datalink counters以幾分鐘間隔的兩次輸出。
這樣便可以在特定時間檢視埠級別計數器,還可以檢視其動態。
此指令碼正在從命令輸出中檢查錯誤計數器,並在觀察到計數器增加時生成警報。
通常,這表示物理或網路級別有問題。根據情況繼續執行故障排除步驟。
NPU計數器
正在觀察以下NPU計數器:
計數器 |
說明 |
備註 |
硬體錯誤 |
由於先進先出(FIFO)溢位或不足而丟棄的資料包數。 |
|
連線埠無法使用 |
由於埠無法運行而丟棄的資料包數。 |
|
SRC MAC為組播 |
由於源MAC地址為組播而丟棄的資料包數。 |
|
未知VLAN標籤 |
由於無法識別的虛擬區域網(VLAN)標籤而丟棄的資料包數。 |
檢查下一跳交換機上的VLAN配置 |
IPv4標頭錯誤 |
由於IPv4標頭無效而丟棄的資料包數 |
|
已超出IPv4 MRU |
由於資料包長度太長而丟棄的資料包數。 |
|
TCP微小片段 |
由於TCP小片段而丟棄的資料包數 |
|
TTL已過期 |
由於超出其生存時間引數而被丟棄的資料包數。 |
|
太短:IP |
由於IP資料包過短而丟棄的資料包數 |
|
太短:ICMP |
由於ICMP資料包對於查詢金鑰來說太短而丟棄的資料包數 |
|
太短:IGMP |
由於IGMP資料包對於查詢金鑰太短而丟棄的資料包數 |
|
太短:TCP |
由於TCP資料包太短(查詢金鑰不足)而丟棄的資料包數 |
|
太短:UDP |
由於UDP資料包對於查詢鍵來說太短而丟棄的資料包數 |
|
太短:IPIP |
由於UDP資料包對於查詢鍵來說太短而丟棄的資料包數 |
顯然是檔案上的打字錯誤。可能是查詢金鑰要短的IPIP資料包。 |
太短:GRE |
由於GRE報頭大小< 8位元組而丟棄的資料包數 |
|
太短:GRE金鑰 |
由於GRE報頭表示存在金鑰但報頭大小小於13位元組而丟棄的資料包數 |
|
不損壞丟棄項 |
由於IP報頭未設定分段位而被NPU丟棄的需要分段的資料包。 |
|
IPv4VlanMap dropped |
丟棄的IPv4 VLAN對映資料包的總數。 |
|
找不到MPLS流 |
未找到MPLS流時丟棄的資料包總數。 |
|
資料鏈路計數器
分析以下資料鏈計數器:
計數器 |
說明 |
備註 |
RX位元組錯誤 |
接收的位元組數。 |
|
TX位元組錯誤 |
傳輸時出錯的位元組數。 |
|
RX OVF |
接收的溢位的數量。 |
|
TX延遲 |
由於線路繁忙而在第一次嘗試傳輸時延遲的幀數。 |
|
TX COL |
傳輸過程中發生的定期衝突事件的數量。 |
|
RX短CRC |
通過循環冗餘檢查(CRC)錯誤接收的幀數,長度小於64位元組。 |
|
TX SCOL |
在單個衝突之後無任何錯誤地傳輸的幀數。 |
|
RX NO SFD |
未檢測到起始幀分隔符(SFD)但帶有載波斷言的接收幀數。 |
|
TX MCOL |
在發生多次衝突後無任何錯誤地傳輸的幀數。 |
|
TX XCOL |
發生16次或以上連續衝突的幀數。 |
|
TX LCOL |
在傳輸長度為64位元的資料包後由於衝突而導致的傳輸中斷數。 |
|
TX暫停 |
正確傳輸的流量控制幀的數量。 |
|
RX長CRC |
收到大於CRC錯誤的最大幀大小的幀數。 |
|
TX ERR |
由於傳輸FIFO下溢或TXERR訊號斷言而傳送出錯的幀數 |
|
RX暫停 |
正確接收的流量控制幀數。 |
|
RX故障CRS |
檢測到錯誤的載波事件數。 |
|
RX SYM錯誤 |
檢測到物理(PHY)符號錯誤的接收幀數。 |
|
RX壞幀 |
收到出錯的幀數。 |
|
RX殘餘幀 |
小於預期大小的接收幀數。 |
|
RX超大幀 |
接收的超大幀數。 |
可能是文檔中的錯誤。應與「RX OverSize幀」相同 |
RX OverSize幀 |
接收的超大幀數。 |
|
RX規範CRC |
長度介於64位元組和最大幀大小之間的幀數,以整數位元組和循環冗餘檢查(CRC)錯誤接收。 |
|
RX NORM ALI |
長度介於64位元組和最大幀大小之間的幀數,接收時帶有非整數位元組數和循環冗餘校驗(CRC)錯誤。 |
|
RX GPCS ERR |
檢測到物理(PHY)符號錯誤的接收幀數。 |
|
只有在STM介面可以看到一系列資料連結計數器:
計數器 |
說明 |
備註 |
rx幀FECN集 |
|
訊框中繼相關 |
rx幀BECN集 |
|
訊框中繼相關 |
rx CRC錯誤 |
|
|
rx對齊錯誤 |
|
|
rx長度違規 |
|
|
rx FBP為空 |
|
|
rx主機隊列已滿 |
|
|
rx非法標頭 |
|
|
rx abort |
|
|
rx奇偶校驗錯誤 |
|
|
rx unsupported DLCI |
|
訊框中繼相關 |
rx SOP/EOP錯誤 |
|
|
rx total error bytes |
|
|
tx幀FECN設定 |
|
訊框中繼相關 |
tx幀BECN設定 |
|
訊框中繼相關 |
tx underrun |
|
|
tx中止的幀 |
|
|
|
|
|
輸出範例
在提供的SSD中觀察到來自show port npu countersorshow port datalink 計數器輸出的某些錯誤或丟棄計數器增加。
該指令碼突出顯示所有要檢查的計數器,但只必須分析增加後的計數器,也就是包含「Following increment observed for port」語句的計數器
請注意,此類增加並不一定表示節點有問題。通常情況下,這是電纜、SFP、配置錯誤或網路級別的問題。
檢查受影響計數器的定義,然後按照此步驟進行故障排除。
########################## NPU COUNTERS ######################################
No errors increase found during monitoring period
######################## DATALINK COUNTERS ###################################
Errors observed in the output of 'show port datalink counters' between Monday October 01 12:29:49 CDT 2018 and Monday October 01 13:03:24 CDT 2018 on the ports 6/10,6/16,5/15
- Following increase in errors is seen on port 6/10:
RX OverSize frames:Frames: 404
- Following increase in errors is seen on port 6/16:
RX OverSize frames:Frames: 402
- Following increase in errors is seen on port 5/15:
RX OverSize frames:Frames: 3
如何理解輸出?
如果我們在任何埠上感興趣的任何計數器中沒有發現任何變化,則指令碼將返回任何內容。
如果存在與至少一個我們感興趣計數器相關的變體(至少在一個埠上),指令碼將不會生成警報。
警報先按型別(NPU或資料鏈路)分組,然後按埠分組。
首先,將發表一份宣告,概述所有的調查結果和監測週期。
Errors observed in the output of 'show port datalink counters' between Monday October 01 12:29:49 CDT 2018 and Monday October 01 13:03:24 CDT 2018 on the ports 6/10,6/16,5/15
在2018年10月1日12:29:49 CDT和2018年10月1日13:03:24 CDT之間,也就是大約半個小時。
時間戳從show port datalink counters或(分別為)show port npu計數器的輸出中獲取
然後,會提供每個埠識別的問題計數器的摘要。
- Following increase in errors is seen on port 6/16:
RX OverSize frames:Frames: 402
在上述示例中,監控期間(大約半小時)在6/16埠上接收了402個超大幀。