在云环境下,云平台的运维更离不开运维可视化。在上次文章《智能运维 | 可视化让你一眼看出内网故障》中,我们详细介绍了内网可视化的事件流图。本文继续从可视化角度分析,百度内网监测系统(NetRadar)如何展示在某个时刻的内网异常,从而让运维工程师直观地了解情况。
什么是机房连通性可视化
当运维工程师发现自己的系统出现异常,并通过事件流图得知内网存在异常后,他需要进一步得知这些异常影响了内网的哪些部分,从而判断内网的异常是否造成了自己系统的故障。在这种情况下,运维工程师希望能够有一个视图直观地展示异常的影响范围。具体来说影响范围包括:
• 哪些机房之间的连通性有异常
• 哪些机房的内部网络存在异常
• 连通性异常是否是地域性的
备注:一个区域包含多个机房,比如华北区域包括4个机房,华东区域包括4个机房,华南区域包括3个机房。区域之间通常用跨区域的链路连接。跨区域链路出现故障时,会导致两个区域中的机房互相不能连通。
检测可视化网络状态的方法包括两种:图(graph)和连通性矩阵。
• 在图中,每个节点代表一个网络实体,比如交换机、路由器、主机等,每条边代表网络实体之间的链路。
• 在连通性矩阵中,网络实体对应矩阵的行和列,矩阵中的元素表示所在行和列对应的网络实体之间的链路。
根据上述的需求,我们可以看出工程师们主要关注机房之间的连通性情况。如果用图的方式表达,就会形成一个全连通图,图中大量的边不利于工程师掌握网络总体状态。因此,我们决定使用连通性矩阵的可视化方法。
1、连通性矩阵
假设有a1、a2、a3、a4四个机房,可以用一个4行4列连通性矩阵来表示,其中机房ai对应矩阵中的第i行和第i列。矩阵中第i行第j列的元素描述的就是机房ai到机房aj的连通性状态,如下图:
图1 连通性矩阵
我们不妨用bij来表示矩阵中位于第i行第j列的元素。图中存在一个红色的圆点,位于b32,以及一个灰色的三角形,位于b44。
b32的红色的圆点代表机房a3到机房a2的链路出现了异常。在矩阵中,与b32对称的元素b23代表的是机房a2到机房a3的链路状态。b23和b32说的都是机房a2和机房a3之间的链路,只是方向不同,这正好可以表达内网监控系统的探测方向。
为了探测网络连通性,监控系统在服务器之间发送探测包。比如,服务器x给服务器y发送了一个探测包,y收到探测包后给x发送一个响应包。如果x收到了响应包,就认为x到y的链路没有问题。反过来,y也可以给x发送探测包,x发送响应包。这说明内网监控系统的探测是存在方向性的。
所以图中b32有红点,b23没有点的意思就是:机房a3的服务器主动发送探测包探测机房a2中的服务器,存在大量丢失响应包或者延迟显著增大的情况,连通性有异常;而机房a2的服务器主动发送探测包探测机房a3中的服务器,响应包基本都能正常到达。两个探测方向结论不一致主要是由机房的网络出口和入口设备不同,并且单一设备出故障导致。
b44的灰色三角形代表的是机房a4的机房内网络存在异常。连通性矩阵的主对角线元素bii都代表机房内网络的状态。为了能够与机房间网络有更直观的区分,我们选择了三角形来表示。
最后,颜色代表了异常的程度,红色代表异常程度比较严重,灰色代表异常程度比较轻微。所以图1中a3到a2的机房间网络存在比较严重的连通性异常,而a4的机房内网络则存在比较轻微的连通性异常。
当连通性矩阵中存在多个异常点时,这些点可以形成特定的模式,分别代表不同的网络问题。
下面,我们就来分析几种常见的模式。
2、单机房出/入口链路问题
在连通性矩阵图中,可能会出现整行红色圆点。
图2.1 单机房出口链路问题
图2.1存在三个红色的圆点,分别位于b31、b32、b34位置。这就是整行红色圆点的情况。 每个点的含义如下:b31代表的是a3到a1的链路有异常,b32是a3到a2的链路有异常, b34 表示a3到a4链路有问题, 从这几个链路问题来看,链路都是从a3出来的,所以a3的出口链路出现了故障。
当然有可能出现整列红色圆点的情况,如下图所示:
图2.2 单机房入口链路问题
图2.2的三个红色圆点,分别在b13、b23、b43位置。同理:b13表示a1到a3的链路有问题, b23说明a2到a3链路有故障, b43呈现a4到a3的链路问题,这一列的链路问题,说明a3的入口链路出现的异常。
是不是有整行、整列的红点情况呢?
图2.3 单机房出入口链路问题
图2.3包含了6个红色圆点,是图2.1与图2.2的集合, 整行与整列的异常代表a3的出/入链路都出现异常。
3、单机房核心设备问题
图2.1、图2.2、图2.3都看到b33这个点是没有状态的,那如果在b33的点的异常情况也加上有表示什么呢?看如下可视化方式:
图3 单机房核心设备问题
图3所示,除了图2.2中的6个红色圆点,还在b33中有个红色的三角,b33位置的三角刚好在矩阵图的主对角线上,代表a3机房内网络出现故障。图3的6个红色圆点说明a3的出/入链路出现网络异常,红色三角说明a3单机房核心设备也出现故障。
4、区域链路问题
通常,网络不是只在某一个区域,有可能同时有华北区域a1、a2、a3、a4四个机房,华东区域b1、b2、b3、b4四个机房,华南区域c1、c2、c3、c4四个机房,如下图所示。
图4.1 区域链路问题
图4.1,我们可以看出机房分别用三个颜色来标识:紫色、蓝色、绿色。这几个颜色在右上角有说明分别代表华北区域、华东区域与华南区域。同时,图中在蓝色区块的华东区域(b1、b2、b3、b4机房)两个区块有大批红点出现,呈现两个矩阵形状的圆点,这说明华东区域的链路问题导致机房互相不能连通。那如果,我们想对区域进行筛选,只查看华北、华南的区域之间的情况呢?如下图所示:
图4.2 区域筛选链路问题
如图4.2中只有一个红色三角与红色圆点,与图4.1相比,这里筛选掉了图4.1华东区域的所有异常。 我们从图4.2中,能看到一个细节问题,鼠标移动到异常点的时候,出现“进入c3-a4机房详情页 ”tooltip信息,点击这个异常点,可以进一步查看这俩机房间的异常事件与相关的指标趋势。如果想要知道a4机房内的详情,可以点击这个异常点查看详情,然后我们可以进一步观察a4内部集群之间的网络连通性, 集群的网络连通性跟机房连通性矩阵的方式是一样的,就不详细展开了。
总 结
矩阵图的最大优点在于,寻找对应元素的交点很方便,而且不会遗漏,显示对应元素的关系也很清楚。所以是一种很好的方式来可视化机房连通性的异常状况。从内网连通性矩阵图来看,可视化能让运维由繁化简,关键是我们如何从业务角度出发,用可视化手段来表达运维数据。在智能运维场景中,我们结合业务,抽象出这些可视化组件,单独看这些可视化组件没那么神奇,但是如果我们把它们放在一起,就得到了运维通用的解决方案。
后面我们还会持续发布可视化相关的文章,请关注百度云微信公众号。
免责声明:此文内容为第三方自媒体作者发布的观察或评论性文章,所有文字和图片版权归作者所有,且仅代表作者个人观点,与 无关。文章仅供读者参考,并请自行核实相关内容。投诉邮箱:editor@fromgeek.com。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。