树莓派在云网端到端运营支撑中的应用与探讨
2021-12-27揭凌雁王荣胡凯中国电信股份有限公司江西分公司南昌市330046
揭凌雁 王荣 胡凯 中国电信股份有限公司江西分公司 南昌市 330046
关键字:企业上云 定界定段定位 树莓派 探针 客户感知
0 背景及问题
云网融合是运营商正在积极推进的发展战略,随着企业IT上云进程加快,云网业务亦进入快速发展时期,但先于客户发现故障、快速故障定界定段定位、及时感知客户异常等问题也随之凸显。某医院为首批上云的大客户,客户使用了云专线、云安全、云主机及负载均衡等云网业务,将医疗影像、医信息系统、实验室信息系统、电子票据、移动支付、内部OA等信息化生产系统全部迁移到专属云上。随着应用越来越多,客户对云网业务平均修复时间MTTR、平均无故障工作时间MTBF提出了更高的要求,如业务单次中断小于15分钟,一年中故障发生不超过3次。
运营商面对客户服务要求亟待解决两方面的问题,一方面监控手段“触角”需要深入客户内网,对客户侧网络、电信运营商承载网络、云服务提供商云侧应用进行监测,做到分钟级发现客户故障;另一方面故障定界定段定位必须高效及时,在故障排查过程中各个专业需联动作战才能满足平均修复时间MTTR的要求。
针对于此,中国电信江西公司采用树莓派硬件探针方式进行自主研发,树莓派(Raspberry Pi)是一款基于 ARM CPU架构的微型电脑主板 ,是各种“派”中最早开始流行起来的一个嵌入式Linux板卡,其本质是尺寸仅有信用卡大小的一个微型电脑,以SD/MicroSD卡作为硬盘存储,主板支持 2 * USB 3.0 + 2 * USB 2.0接口以及 100 /1000 Mbps 网卡接口,可将树莓派连接电视、显示器、键盘鼠标等设备当一台正常Linux电脑使用,具有以下特点适合作为客户内网硬件探针:
(1)树莓派支持Linux系统,拥有海量的开源软件仓库基础。
(2)树莓派拥有GPIO硬件模块,同时支持Python语言的GPIO库,使得它能和开源硬件进行完美的结合。
(3)树莓派接口丰富,同时支持WiFi无线网卡以及扩充4G LTE上网模块,开发者可以利用远程网络对树莓派进行控制。
(4)树莓派支持多种语言进行应用开发,包括C语言和Python脚本等。树莓派预装了Python运行环境,由于Python语言的简单易用,使得Python开发在树莓派上非常流行。Python是一门解释型语言,这意味着代码运行前不需要编译,即程序直接执行而不需要编译为机器语言,Python用在树莓派上进行编程开发就非常方便。Python语言发展多年,有着成熟而广泛的开发者社区,使得树莓派上的Python开发者具备了强大的社区支持。
1 解决方案
中国电信江西公司采用树莓派硬件探针方式,从客户内网及电信运营商承载网络定界定段、感知模拟拨测、端口一键检测等三个方面入手,并结合数据中台解决方案,提升云网通端到端运营支撑能力。
1.1 网络定界定段
按照网络逐段嗅探原理进行设计,将PING及TRACERT工具内嵌至探针内,由探针程序完成至客户局域网出口交换机、至云侧的网络PING、TRACERT网络嗅探功能,通过逐段网络PING及TRACERT数据基本可以判断是客户内网、运营商承载网络、云侧网络出现中断。
表1 云探针采集网络时延及网络跳数示例
1.2 感知模拟拨测
实际维护工作中也常常遇到客户网络通畅,但业务服务器访问缓慢、WEB门户网站打开时延大等问题,针对于此,在专属云侧搭建了WEB服务器(靶标平台),通过靶标平台和云探针形成CLIENT/SERVER的数据互通模式,从云探针侧完成客户内网至云侧WEB感知类的数据(首屏时间)纂取,从而实现感知端到端的监测目的。
WEB网站首屏时延是指客户访问WEB网站时,第一次完成用户终端侧首页渲染所消耗的时间,采集指标集包括总下载时间、白屏时间、首屏时间、可用性、DNS时间、建立连接时间、SSL握手时间、首包时间、内容下载时间、客户端时间、重定向时间、发出请求时间、网络层时间、DNS解析次数、建立连接次数、交互时间、开始加载内容时间、结束加载内容时间、元素错误量、页面对象数、首屏对象数等,云探针开发基于三个方面:
(1)利用HTML5 Performance特性纂取:Performance是HTML5的新特性之一,通过它,可以非常精确的统计到网站页面的表现情况,从而有针对性的进行感知数据的纂取。
(2)利用Chromium Webdriver组件纂取:模拟Chromium 浏览器访问网站网页,通过Chromium Webdriver组件,实现感知指标的纂取。
(3)基于Python3开发探针脚本:使用树莓派自带的Thonny Python IDE,基于Python 3.7.x 开发脚本,调用pycurl库,根据网站特征,实现https认证、http、post、http put、ftp上传、代理、Cookies、基本身份验证、ftp文件断点继传、http代理通道等功能脚本,达到感知数据的纂取
图1 基于树莓派开发的云探针应用部署——网络拓扑架构图
表2 云探针采集WEB网站性能指标数据(单位:ms)
1.3 端口一键检测
医院云侧服务器众多,涉及挂号、影像、病例等多个应用系统,任何一台服务器应用异常均会影响医院的正常运行。针对客户服务器群组的特点,在明确云侧主机组上所运行的主要服务/端口信息之后,探针作为云侧服务器对应端口访问是否Open/Enable的监测工具,一方面支持实时监测客户服务器运行情况,另一方面如果客户出现任何访问类问题,可配合判障使用,云探针开发基于三个方面:
(1)关系矩阵图:基于用户组网的业务构成,初步建立业务和端口的关联关系,形成端口组,再由端口组关联到服务器,形成主要业务对应端口的关系矩阵图。
(2)探针云侧Iperf客户端部署:Iperf是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。利用Iperf这一功能,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
表3 Iperf性能测试数据
(3)客户端口一键检测:支持一键触发模式,以业务类型、端口号作为输入参数,通过脚本程序,对服务器群组进行轮询探测,探针将一键检测功能封装成一个后台服务,可以针对服务进行灵活定制。以下为Iperf应用程序所支持的命令行参数,以及在树莓派终端上执行远程测速脚本运行示例。
表4 Iperf应用程序所支持的命令行参数示例
表5 批量测试某医院云侧服务器群组上对应服务端口状态
1.4 数据中台
除了云探针纂取的数据之外,数据中台完成电信运营商STN链路、设备的告警、链路流量等常态数据纂取,作为告警的输入数据集合地,主要检测对象为客户IT上云承载网络的各类网元健康度、STN链路是否中断/流量是否有突发、客户链路带宽是否异常波动,数据中台需和STN网管实时信息交互,最终呈现为云网业务的端到端资源视图。
图2 告警接口逻辑示意图
2 成效
目前树莓派探针已在医疗云的部分客户成功上线,后续还将在教育云进行推广使用,相对于市场上专线探针3000-5000的成本造价,树莓派探针不仅极大降低了成本,而且更贴近一线维护人员,解决维护工作“痛点”需求,后续还将在大文件上传下载、网页版游戏的应用感知模拟进行迭代开发,丰富树莓派探针应用场景,以提升云网业务端到端的服务质量,提高客户满意度。
3 结束语
基于树莓派的体系架构可方便、灵活地开发测试应用场景,结合小巧、便携特性,可面向重要云网客户进行部署,实现先于客户发现故障、快速故障定界定段定位、及时感知客户异常的能力,对相关运营商而言,具有可实施性和一定的参考实用价值。