QCon 全球软件开发大会(北京站)门票 9 折倒计时 4 天,点击立减 ¥880 了解详情
写点什么

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

2019 年 9 月 11 日

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

对于运维可视化,在前面的文章《运维可视化 | 漫谈内网监控可视化》中详细介绍了能将内网监控中的异常情况可视化的事件流图。本文将从可视化角度继续分析,百度内网监测系统(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



2019 年 9 月 11 日 23:30982

评论

发布
暂无评论
发现更多内容

让理性思维走进我们的生活,帮助我们做出更好的决策。

叶小鍵

心理学 基思. 斯坦诺维奇 超越智商 认知科学

你可能需要一个脱机状态

非著名程序员

学习 程序员 个人成长 工作方式

惠普精灵家族助力IMC上海站,极致体验尽享电竞狂欢

intel001

ARTS 挑战打卡第十一周(200720-200726)

老胡爱分享

ARTS 打卡计划

图解javascript——基础篇(以思维导图总结js中关键技术点,为面试及工作助力)

执鸢者

Java 前端

战斗还是逃避,或许可以考虑一下合作?

escray

学习 面试 面试现场

Flink水位线和时间戳理解-7

小知识点

scala 大数据 flink 模块化流程

Netty之旅二:口口相传的高性能Netty到底是什么?

一枝花算不算浪漫

你可能不知道的计算机基础

书旅

c 常量 计算机 基础

Docker搭建项目环境实战

书旅

Docker Dockerfile Docker-compose

week 11学习总结

Geek_2e7dd7

Postman生成接口文档

书旅

Postman 接口文档

java安全编码指南之:基础篇

程序那些事

Java 安全编码 安全编码指南

13年毕业,用两年时间从外包走进互联网大厂!

小傅哥

成长 小傅哥 经历 工作 入职

ARTS 挑战打卡第十二周(200727-200802)

老胡爱分享

ARTS 打卡计划

SQL查询语句执行顺序详解

书旅

MySQL SQL语法 sql查询

十一周作业

olderwei

极客大学架构师训练营

前端分页组件实现逻辑

书旅

php 前端 分页

「零代码」搭建简易招聘管理系统

Tony Wu

效率工具 SaaS 招聘管理 HRIS

追逐影子的人,最终只会是影子

小隐乐乐

新晋“网红”Cat1 是什么

华为云开发者社区

后端 物联网 华为云 无线通信 Cat.1

完了,这个硬件成精了,它竟然绕过了 CPU

简爱W

不想做经理的程序员

escray

学习 面试 面试现场

Docker 最常用的镜像命令和容器命令

哈喽沃德先生

Docker 容器 微服务 容器技术 容器化

七夕节来啦!AI一键生成情诗,去发给你的女朋友吧!

华为云开发者社区

AI 智能高效 华为云 modelarts 七夕

week 11

Geek_2e7dd7

POI 之 策略游戏

zhoo299

随笔杂谈

大数据技术思想入门(四):分布式文件的元数据是怎么存储的

抖码算法

Java 大数据 hadoop 分布式

ARTS 挑战打卡第十周(200713-200719)

老胡爱分享

ARTS 打卡计划

【解Bug之路】——Nginx 502 Bad Gateway

简爱W

区块链数字钱包开发方案,持币生息理财钱包搭建

WX13823153201

钱包系统开发

边缘计算隔离技术的挑战与实践

边缘计算隔离技术的挑战与实践

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