运维可视化 | 漫谈内网连通性可视化

阅读数:757 2019 年 9 月 11 日 23:30

运维可视化 | 漫谈内网连通性可视化

对于运维可视化,在前面的文章《运维可视化 | 漫谈内网监控可视化》中详细介绍了能将内网监控中的异常情况可视化的事件流图。本文将从可视化角度继续分析,百度内网监测系统(NetRadar)如何通过可视化手段展示在某个时刻内网中存在哪些异常,从而让运维工程师直观地知道内网的哪些部分受到了异常的影响。

机房连通性可视化

当运维工程师发现自己的系统出现异常,并通过事件流图得知内网存在异常后,他需要进一步得知这些异常影响了内网的哪些部分,从而判断内网的异常是否造成了自己系统的故障。在这种情况下,运维工程师希望能够有一个视图直观地展示异常的影响范围。具体来说影响范围包括:

1. 哪些机房之间的连通性有异常

2. 哪些机房的内部网络存在异常

3. 连通性异常是否是地域性的

备注:一个区域包含多个机房,比如有华北区域包括 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 内部集群之间的网络连通性, 集群的网络连通性跟机房连通性矩阵的方式是一样的,就不详细展开了。

总结

矩阵图的最大优点在于,寻找对应元素的交点很方便,而且不会遗漏,显示对应元素的关系也很清楚。所以是一种很好的方式来可视化机房连通性的异常状况。从内网连通性矩阵图来看,可视化能让运维由繁化简,关键是我们如何从业务角度出发,用可视化手段来表达运维数据,在智能运维场景中,我们结合业务,抽象出这些可视化组件,单独看这些可视化组件没那么神奇,如果我们把它们放在一起,就得到了运维通用的解决方案。后面我们还会持续发布可视化相关的文章,请持续关注百度的 AIOps 智能运维公众号。

作者介绍:
莫莫,百度资深前端研发工程师,负责百度智能运维(Noah)相关产品的前端设计和研发,在运维数据可视化方向有着丰富的实践经验。

本文转载自公众号 AIOps 智能运维(ID:AI_Ops)。

原文链接:

https://mp.weixin.qq.com/s/M_teW4hNNaLWbWghA02j9A

评论

发布