简介
本文档介绍检测每个端口错误Datalink或NPU计数器增加的脚本。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
问题
端口级错误计数器可能是StarOS节点的各种问题故障排除的重要信息来源。
在本例中,最有价值的信息是这些计数器在一定时间段内的变化。
单个“show”命令输出中可用的静态值不能提供足够的信息来得出有意义的结论。
典型的方法是收集show命令的多个输出,然后手动进行区别。
这可能是一项艰巨的任务,尤其是当不知道具体会影响哪个端口时。
此脚本通过提供每个端口在特定时间段内的错误计数器变化来简化此过程。
可检测到的问题示例:
脚本如何工作?
在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已丢弃 |
已丢弃的IPv4 VLAN映射数据包总数。 |
|
找不到MPLS流 |
找不到MPLS流时丢弃的数据包总数。 |
|
数据链路计数器
分析以下数据链路计数器:
计数器 |
描述 |
备注 |
RX字节错误 |
接收的字节数。 |
|
TX字节错误 |
传输时出错的字节数。 |
|
RX OVF |
收到的溢流数。 |
|
TX延迟 |
因线路繁忙而在首次尝试传输时延迟的帧数。 |
|
TX列 |
传输过程中发生的常规冲突事件数。 |
|
RX短CRC |
接收的帧数(长度小于64字节),带有循环冗余校验(CRC)错误。 |
|
TX SCOL |
单次冲突后传输的帧数,无任何错误。 |
|
RX无SFD |
未检测帧首定界符(SFD)但带载波断言的接收帧数。 |
|
TX MCOL |
在多次冲突后无错误传输的帧数。 |
|
TX XCOL |
经历16次或更多次连续冲突的帧数。 |
|
TX LCOL |
在传输长度为64by的数据包后发生的冲突导致传输中断的次数。 |
|
TX暂停 |
正确传输的流量控制帧数。 |
|
RX长CRC |
接收的帧数(大于最大帧大小),并带有CRC错误。 |
|
TX错误 |
由于传输FIFO下流或TXERR信号断言而传输的帧数 |
|
RX暂停 |
正确接收的流控帧数。 |
|
RX FALS CRS |
检测到的误载事件数。 |
|
RX SYM错误 |
检测到物理(PHY)符号错误的已接收帧数。 |
|
RX错误帧 |
收到的有错误的帧数。 |
|
RX残帧 |
接收的小于预期大小的帧数。 |
|
RX超大帧 |
收到的超大帧数。 |
可能是文档出错。应与“RX OverSize帧”相同 |
RX OverSize帧 |
接收的超大帧数。 |
|
RX范数CRC |
接收的帧数(长度介于64字节和最大帧大小之间),包含整数字节数和循环冗余校验(CRC)错误。 |
|
RX范数ALI |
接收的帧数(长度在64字节和最大帧大小之间),其中字节数非整数,并且存在循环冗余校验(CRC)错误。 |
|
RX GPCS错误 |
检测到物理(PHY)符号错误的已接收帧数。 |
|
仅对STM接口可见一系列数据链路计数器:
计数器 |
描述 |
备注 |
rx帧FECN集 |
|
帧中继相关 |
rx帧BECN集 |
|
帧中继相关 |
Rx CRC Errors |
|
|
RX校准错误 |
|
|
RX长度违规 |
|
|
rx FBP为空 |
|
|
rx host queue full |
|
|
RX非法报头 |
|
|
rx abort |
|
|
RX奇偶校验错误 |
|
|
rx不支持的DLCI |
|
帧中继相关 |
rx SOP/EOP错误 |
|
|
接收总错误字节 |
|
|
tx帧FECN集 |
|
帧中继相关 |
tx帧BECN集 |
|
帧中继相关 |
tx underrun |
|
|
tx中止帧 |
|
|
|
|
|
输出示例
在提供的SSD中观察到show port npu countersorshow port datalink countersoutput中的某些错误或丢弃计数器的增加。
脚本突出显示所有要检查的计数器,但必须只分析增加的计数器,即包含“观察到端口的增加后”语句
请注意,此类增加不一定指向节点问题。通常,这是电缆、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或Datalink)分组,然后按端口分组。
首先,会有一份声明,总结所有调查结果和监控期。
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 2018年10月1日(星期一),即大约半小时。
时间戳取自show port datalink计数器或show port npu计数器的输出或输出。
之后,每个端口都会发现问题计数器的摘要。
- Following increase in errors is seen on port 6/16:
RX OverSize frames:Frames: 402
在上述示例中,在监控期间(大约半小时),6/16端口上收到402个超大帧。