循迹Log日志,巧辟蹊径揭开FIT AP历经心酸去往AC的“东归路”
FIT AP是一位虔诚的信徒,其精神信仰就是前往东方寻找AC,甘拜AC为领袖并接受其驯化,否则终日昏然,好似一具行尸走肉,无法开展任何工作。每当FIT AP上电苏醒时,遂即走上寻找宿主AC的荆棘之路,期间它会和AC飞鸽沟通,也会一路上勤于记录,其中的艰辛可以通过很多方法得以窥视,一如debugging这种找臭虫方式来搜索失误,再如通过SNMP对其行程进行“棱镜门”式监控,还有通过软件抓包进行“拦路设卡”式盘问,以及通过类似史官写传记的Log日志方式进行旅途轶事记录,可谓各有千秋,而本篇将就Log日志这种方式进行展开,一窥FIT AP去往AC注册的一段坎坷路程。
一、 解读AC上关于AP前来注册的相关Log信息,以明就里
循迹AC上关于AP注册信息的日志,即通过解读Log日志中关于LWAPP隧道的相关信息,来获知AP和AC之间的注册状态以及相关动作失败的原因,从而搞清楚FIT AP在注册过程中发生的各种情况。
默认情况下AC上没有开启记录AP相关注册信息的Log开关,所以首先需要开启LWAPP隧道的Log开关,然后可以通过display logbuffer进行日志信息查看。由于AC设备日志记录为覆盖方式,超出部分会覆盖掉旧的日志,如果需要长时间留存Log记录,可以采取配置日志主机的方式。AC上开启隧道相关日志信息开关的命令(系统视图):
[H3C]info-center source lwps channel logbuffer
//启动隧道相关的日志信息开关
[H3C]info-center logbuffer size 1024
//设置AC设备记录的日志条数为1024,超出部分会覆盖最老的日志
1. Connection with AP [xxx] goes operational
该段日志信息直接解读为与某AP的连接处于运行状态,说明AP [xxx]成功与AC建立连接关系,即AP成功注册到AC上,LWAPP隧道完整建立,可以进行正常的通信了。这时候AP信徒可以当面聆听AC的教诲,从此不再彷徨了。
2. Connection with AP [xxx] goes down by reason of No.ID
该段日志解读为AC和某AP的连接由于某种原因断开了,说明AP由之前和AC保持连接状态转变为断开状态了,且这种转变是有原因的。这里需要搞清楚这个“reason of No.ID”,从而获知链接断开的原因。
这些原因码(reason of No.ID)一般作如下解读:
原因码 | 说明 |
0 | 处理出现内部错误引起TUNNEL DOWN时或是TUNNEL DOWN不好归类的原因 |
1 | 定时器超时引起TUNNEL DOWN时 |
3 | 在AC上reset wlan ap时引起的TUNNEL DOWN |
5 | 在AC上删除AP引起TUNNEL DOWN |
6 | 配置引起的TUNNEL DOWN |
2162689 | Response定时器超时引起TUNNEL DOWN |
1966081 | Neighbor dead定时器超时引起TUNNEL DOWN |
说明中的“TUNNEL DOWN”指的是AC和AP间的LWAPP隧道down掉了。AC和AP之间的LWAPP隧道是建立在UDP之上的协议,分为控制隧道和数据隧道,而隧道建立成功后,AP和AC互相视为Neighbor,从而会定时进行握手保活(echo-interval),如果规定时间内没有按时交互保活报文,必然引起各种定时器超时,进而造成AC和AP之间关系破裂。
通过解读此日志信息可以分析出AP之所以突然不辞而别的原因,对于发现非法操作、理清AP到AC的征途路况以及探明AC圣地内部存在的可能问题具有指导作用。
3. Failed to connect to AC for AP xxx [Serial-ID yyyy]
该段日志解读为某AP与AC建立连接失败。这里需要分析该AP无法与AC建立连接的原因,从而进行纠错整顿,实现AP成功连接AC。
FIT AP欲与AC建立连接,AC会对AP进行一系列的信息匹配检查,当检查过程中发现任何错误,AC将拒绝该AP的注册请求。这种错误可能是AC上没有配置AP序列号、AP射频radio出现异常、请求的版本信息返回错误以及AC上可连接的AP数达到规格等等,需要进行具体交互信息的分析,建议通过debugging方式获取细节,可配置debugging wlan lwapp error和debugging wlan lwapp event进行调试信息收集,从而定位问题发生的环节和原因。
4、Image download process completed for AP [xxx]
该段可解读为版本(image)下载完成,表明AP从AC上成功下载了版本。FIT AP默认是零配置无版本,所以AP所用软件版本要从AC上获取,并且软件版本必须与AC版本匹配,否则AP还是无法正常运行。
版本是AC授予AP的装备,用于AP信徒将来的行为实践,所以一要保证安置于AC存储空间里的版本是与AC版本匹配的,避免AP千里迢迢到此白费一场。二要确保对于不同的AP类型,AC上需放置不同的AP匹配版本,且版本文件命名也需要按照规定命名,否则会造成AP无法读懂版本文件,从而造成其无法成功下载版本,到头来同样是空欢喜一场。
5、Image download in progress for AP [xxx]
该段可解读为AP正在下载软件版本,表明AP正在进行从AC下载版本的动作。如果日志信息里面只有该段信息而没有软件成功下载的日志,即没有日志image download process completed for AP [xxx],说明AP在下载软件版本的过程中出现了问题,可能是网络出现了问题使得版本image下载失败,也可能是AP本地内存空间有限无法存放下版本,这时需要聚焦网络链路和AP内存进行定位。如果是某台AP反复出现此信息,说明很大可能是该AP存在问题。
6、Failed to notify Wmac (New AP Config) for AP xxx
该段可解读为某AP通知其他模块信息失败,表明该AP出现问题,且意味着该AP会下线。
二、 循迹AP本地自动记录的Log信息,以究原因
得益FIT AP良好的日记习惯,AP上默认情况下会记录相关Log日志信息。通过获取这些AP的Log记录信息并进行解读分析,亦可揭开AP前往AC注册的征途状况。
1、[State : %s] Enough space is not available in flash
该段日志解读为AP下载版本后写flash时提示空间不够,表明版本无法成功保存在AP本地空间,从而无法运行版本。这种情况下,需要分析一下版本的大小和flash空间大小,确定版本正确无误,然后删除flash中没用的文件,最后清除recycle回收站。
2、[Tunnel : %s State : %s] Error in opening image file in flash
该段可解读为AP下载版本后无法打开版本文件,表明AP无法读取版本并在本地运行。这种情况下,可以尝试对AP进行格式化操作即进行format flash,然后再尝试进行测试,如果还是不行,则需要考虑手动进行AP版本升级,即使用版本文件传输工具给AP进行版本导入,看AP能否读取版本启动。如果还是不行且无法恢复,则可按流程进行返修和分析了。
3、[Tunnel : %s State : %s] Start writing image file into flash
该段可解读为AP下载版本完成,开始向flash写文件,表明AP在本地处理版本正常。
4、[Tunnel : %s State : %s] Error in writing image file into flash
该段解读为AP下载版本完成,但向flash写文件失败,表明版本在AP本地处理失败。这种情况下,如果多尝试几次后依然如故,则AP可进行format flash操作,如果未能起效,则考虑进行手动版本升级,而手动升级依然不奏效的话,可按流程进行返修和分析。
5、No AC has responded to the Unicast Discovery request
该段日志解读为AP发送的单播发现请求没有AC回应,表明AP通过三层注册方式进行发现AC,但没有AC响应,属于不正常情况。这种情况下,可检测DHCP Option43配置状况,或者DNS的配置正确与否,同时确保AC到AP的网络连通状况正常。
AP与AC处于三层拓扑结构下才会进行单播报文发现请求,这种情况下AC没有响应可能的原因有:(1) 由于网络链路原因造成AP发送的请求报文丢失,AC没有收到请求报文所以不会响应;(2) AP请求的单播报文目的地址错误,报文没有发给AC,AC自然也不会响应。这种情况可能是DHCP Option43配置错误,也可能是DNS对应的AC主机IP地址配置错误;(3)AC收到AP的发送报文,但该AP在AC上没有注册权限;(4) AC发生故障,无法接收和处理报文
6、Change State : Unicast Discovery to Join
该段日志解读为AP从发现状态切换至链接加入状态,表明AP进入与AC建立隧道的启动阶段。
7、[Tunnel : %s State : %s] Unable to find AC to join
该段日志解读为AP没有发现可以加入的AC,表明AP无法找到合适的AC发起注册和建立隧道的动作。这种情况的发生可能是由于AC和AP间的链路发生了问题,导致AC的Join响应报文丢失而无法送达AP;也可能是AC上的AP License资源不足,无法再接入新的AP,所以没有响应AP的Join请求报文。可检查AP到AC的链路状况,以及AC上的AP数量License配置状况。
8、[Tunnel : %s State : %s] Image download successful
该段解读为AP下载版本完成,并成功写入flash。这个状况是正常状态,如果看到这个日志,表明后续LWAPP协议会进行Reboot设备操作了。
9、Connection with AC [%s] goes operational
该日志表明AP成功地和AC建立了连接,可以进入“Run”状态了。
10、Connection with AC [%s] goes down by reason of No.%d
该段日志解读为AP和AC链接成功后由于某种原因发生断开,表明AP失去和AC的隧道关系。这里的原因码可以帮助进行问题分析:
原因码 | 说明 |
1 | 一般是处理出现错误引起TUNNEL DOWN或是TUNNEL DOWN不好归类的原因 |
2 | 定时器超时引起TUNNEL DOWN |
917506 | response定时器超时引起的TUNNEL DOWN |
983042 | echo定时器超时引起的TUNNEL DOWN |
3 | 配置引起的TUNNEL DOWN |
4 | AP重启引起的TUNNEL DOWN |
5 | AP主备隧道的切换引起的TUNNEL DOWN |
11、[Tunnel : %s State : %s] System Rebooting, Cause %d
该段日志解读为AP设备发生重启。由于设备本地的日志在设备重启后会丢失,相关重启的可能原因需要通过其他方式进行定位。
12、Slave tunnel becomes master tunnel
该日志解读为AP与备份AC的隧道变成了“主”隧道,表明AP和主备AC之间的隧道关系发生了改变,AC主备关系发生了切换,属于正常的行为动作。
通过解读Log日志,可以勾勒出一幅AP去往AC注册的“东归图”,只要细心辨析,从中可发现很多问题的“蛛丝马迹”,进而“按图索骥”,找到排查问题的又一蹊径,抹掉AP注册征途上的心酸回忆。