无处不在的TROUBLESHOOTING 8月01

Tags

Related Posts

无处不在的TROUBLESHOOTING

18世纪60年代第一次工业革命以蒸汽机的改良和广泛应用使人类用机器生产代替手工劳动进入了蒸汽时代;19世纪70年代第二次工业革命以电力的发现和广泛应用使人类从蒸汽时代进入电气时代;20世纪四五十年代第三次工业革命以原子能、计算机、航天技术、生物工程等领域取得重大突破使人类进入了信息时代;2012年Netis自主研发的Crossflow NPM助力IT的网络部门,从网络层面故障诊断的手工劳动逐步进入了自动化运维时代,Netis从来没有想过要与工业革命媲美,但Netis的自主创新精神与工业革命却不谋而合。

Netis一直致力于将TCP/IP的Troubleshooting变得更加简单,我们在实践中不断的成长,长期致力于在各大运营商、银行、证券行业,不断做着各种具有挑战性的Troubleshooting,当然,不仅仅是网络故障,还包括应用或者主机故障。

我在考CCIE的西天取经途中,经常听到老师或者师兄弟讲,如果你会配置简单的路由交换协议,搞定低端的交换机,路由器,那么你算是一个合格的CCNA。如果你会玩BGP、MPLS、VPN,搞定65、76级别设备,那么你算是一个合格的CCNP。如果前面的活你同时能干好,而且你还能在设备上把Debug玩的很熟练,能够处理各种复杂的网络出现的异常,不管是BGP也好,组播也罢,那么你算是一个合格的CCIE了。问题来了,如果某个客户端到某个应用主机的访问有少量的丢包,你怎么办?如何确定是网络层设备丢包还是主机侧没有给予响应。有人说我在我的网络设备一路ping应用主机有没有丢包就好了,路由器当前理论值支持ping的精度达到1ms发出一个ping包,即1S发出1000个数据包,我曾经测试过如果你把发出ping包的精度设置到1ms,实际测试的结果要远远小于1000这个数值。而且对于1000M端口的网络设备而言,1S处理上百万个数据包只是家常便饭,更别说当前华为发布CloudEngine 12812交换机可支持的96个100G以太网端口,1S发出的数据包数量那就是天文数字。但是当把这些问题交给Netis 的Crossflow NPM就好办了。

Netis的工程师不光只是在客户那里做着各种各样复杂万千的Troubleshooting,在Netis的Office里,我们也会分析当前自己遇到的各种问题,下面列举一二以做抛砖引玉:

一、        登录web页面被弹出

登录某web页面进入后,约5S后被弹出界面,于是开启Sniffer Portable进行抓包分析,定位精准的时间点:

  • 时间:2012-05-09
  • 故障现象:登录 web界面5s左右弹出
  • 故障次数:2次

–      9:45 登录被弹出

–      9:50 登录被弹出

分析步骤:用Sniffer Portable进行源和目的IP地址的过滤分析172.16.26.153à172.16.11.161

9:45过滤的数据包:

9:50过滤的数据包:

从上面过滤出来的两个数据包,我们很容易就找到了登录后被web页面弹出问题的原因,从而得出分析结论:

1、数据包显示两次流量网页未被授权Unauthorized访问;

2、显示HTTP 401 错误,导致web访问被弹出,需要重新登录。

我们再Google搜索一下就知道有哪些原因会导致未被授权访问了,并且还给出了对应的解决方法。

a)     错误号401.1未经授权:访问由于凭据无效被拒绝。

b)     错误号401.2未经授权:访问由于服务器配置被拒绝。

c)      错误号401.3未经授权:访问由于 ACL 对所请求资源的设置被拒绝。

二、Solarwinds网管软件报交换机重启

某日Solarwinds网管软件发出Alert交换机发出重启的告警信息,但是telnet登录到交换机,发现交换机并没有重启,没有任何重启的log信息,而且显示该交换机的uptime时间已经是运行了118weeks。

  • 时间:2012-5-18
  • 12:47:35:Solarwinds报交换机重启的Alert
  • 登录交换机检查设备没有重启

分析步骤:从Netscout的Infinistream提出交换机与Solarwinds访问的数据包,过滤出源和目的ip地址。

过滤数据包如下:

从12:47和12:49的数据包对比看出交换机Uptime时间从2863305004ticks减少到了5600ticks,意味着交换机只是运行了56S(1S=100ticks)

从数据包层面我们看出交换机在12:47发出的系统启动时间Uptime是2863305004ticks的时间,我们再来看一下什么是CPU Ticks时间: CPU的ticks时间计算方法100ticks=1s,Ticks时间的范围0~2*32-1(4294967295),过了这个值之后会重新计数(大概是497天)而此时交换机运行时间2863305004 ticks< 4294967295 ticks。设备正常工作时CPU ticks的时间随运行时间的增加而不断增加,如果设备重启,那么CPU ticks会重新从0开始计算。

分析结论:交换机的CPU ticks 时间出现了减少(在设备没有重启的情况下)异常,交换机主动发出了标示系统运行时间减少的Uptime时间的报文,此时Solarwinds收到该数据包即认为该设备出现重启的现象。

后续:我将该事件发在了Solarwinds的官方论坛里以便同大家一起探讨一下,得到了Solarwinds官方的积极响应。诊断结论也不谋而合。

在生活中,我们也经常会面临着各种各样的棘手问题需要去处理,但是我想只要我们把它分析的像数据包一样,理解每一个字段的内容含义,做到多段事情的关联分析,也许事情会简单很多。

Neil