随着企业数字化转型带来效率和灵活性提升的同时,也导致IT系统日趋复杂,从而增加了问题定位难度,导致对运维人员数量和技能要求也急速增长,运维成本越来越高;现有的运维系统是分钟级数据采集,无法做到实时、精准采集,从而无法确认故障的准确发生时间;现有的运维基本是故障驱动,缺乏有效的事前预测和干预手段;现有的运维系统侧重网络监控,无法准确感知用户体验,缺少用户和网络的关联分析。传统的网络运维模式在问题发现、定位和解决的过程中逐渐变得力不从心、难以维系。
智能运维(AIOPS,Artificial Intelligence for IT Operations)因此应运而生。智能运维将AI(Artificial Intelligence,人工智能)应用于运维领域,基于已有的运维数据(日志、监控信息、应用信息等),借助大数据和AI技术,通过机器学习和深度学习算法,从应用的视角来观察网络,主动感知网络和应用存在的问题。并针对业务问题提供自动化排障能力,帮助用户快速进行故障定界和恢复。实现降低运维成本,提高企业产品的竞争力的目标。
SeerAnalyzer(先知分析器)作为SNA(SeerNetworkArchitecture,先知网络架构)的核心组件,采用Telemetry等技术实时全量采集网络状态数据,利用大数据技术对这些数据进行高效的组织和存储。使用大数据分布式计算进行海量数据分析、实时分析,洞察全网状态,并且为上层应用提供开放的API接口;同时,基于机器学习算法对实时数据及历史数据进行在线/离线学习,不断提升分析结果的准确性、合理性,有效地帮助用户进行异常检测、性能分析、关联分析及辅助根因定位,有效的提升网络服务质量及上层业务可靠性。
SeerAnalyzer分析器基于DataEngine大数据平台构建,通过gRPC、ERSPAN、INT等Telemetry技术接收来自网络设备的数据上报,运用智能算法对网络数据进行分析、呈现。
图1 SNA整体架构
SNA整体架构如图1所示,可分为基础网络、SeerEngine(先知引擎)控制器、SeerAnalyzer分析器和SNA Center(先知网络中心)这四个部分:
基础网络: 基础网络负责采集网络相关数据并上送给SeerAnalyzer采集器。
SeerEngine控制器:SeerEngine作为统一网络控制器,负责从上向下的设备管控及策略下发,可以提供全场景网络的自动化部署能力,加速网络业务的快速上线。
SeerAnalyzer分析器:SeerAnalyzer分析器作为SNA整体的智能分析引擎,借助大数据和人工智能技术完成网络数据的采集、存储、分析及应用功能。
SNA Center:SNA Center作为网络全生命周期管理平台,提供对用户的统一业务入口,统一的业务逻辑呈现,配合控制器和SeerAnalyzer分析器实现业务自动化、智能保障、运维监控功能,提高用户体验。
图2 SeerAnalyzer分析器整体架构
图3 SeerAnalyzer分析器详细架构
SeerAnalyzer分析器整体架构如图2和图3所示,从设备数据上报到页面呈现,数据流处理过程经历数据采集、数据存储、数据分析和数据呈现这四个部分:
数据采集
SeerAnalyzer采集器负责收集基础网络的场景数据和运行数据。场景数据可来自于控制器和北向API接口,包括物理网络中各个设备的类型、角色、连接关系,以及逻辑网络中的各个逻辑元素,如虚拟网络、子网等内容。运行数据来自于物理网络中的各个网络设备,网络设备通过Telemetry方式上报的数据:包括采用ERSPAN/INT技术采集的网络设备的流量数据、基于gRPC协议上报的性能Metrics数据、基于SNMP/NETCONF协议上报的设备的运行状态数据等。采集器收集的所有数据都具有时间属性,代表了某一时刻网络的运行状态。对于ERSPAN采集的流量数据报文,采集器会对收到的报文打时间戳,INT数据报文内部已经携带时间戳。之后将采集报文打包发送给分析器进行分析。SeerAnalyzer采集器通过分布式部署架构,实现数据采集层的按需扩容,来满足海量数据的采集需求。
数据存储
采集的数据根据业务需要,分类分级进行存储。存储要包括原始数据库、基础数据库、业务主题库、应用库。不同数据的保存周期需要可管理。并且,因SNA应用场景的差异,SeerAnalyzer分析器支持大小数据模式。SeerAnalyzer分析器采用DataEngine大数据平台完成海量数据的分布式存储。
数据分析
SeerAnalyzer分析器能够对网络进行完整的透视,理解整个网络物理拓扑和业务运行状态。对采集的数据从业务需求角度进行计算,包括实时计算和离线计算。SeerAnalyzer分析器采用Spark、Flink等分布式计算引擎完成数据在线、离线分析任务,来满足分析任务的计算能力需求。
数据呈现
数据分析结果在业务上可以呈现如下需求:设备360度健康度分析和检测、链路及网络的360度健康度分析和检测、网络流量分布分析、业务流流量路径及质量分析、应用多维度分析和用户360度分析。
Telemetry(遥测)是一项远程的从物理设备或虚拟设备上高速采集数据的技术。设备通过推模式(Push Mode)周期性的主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统拉模式(Pull Mode)的一问一答式交互,提供了更实时更高速的数据采集功能。
Telemetry技术可以支持多种实现方式,主要包括gRPC(Google Remote Procedure Call,Google远程过程调用)、INT(In-band Network Telemetry,带内网络遥测)和ERSPAN(EncapsulatedRemote Switch Port Analyzer,封装远程端口镜像),满足用户的不同需求,支持智能运维系统管理更多的设备、监控数据拥有更高精度和更加实时、监控过程对设备自身功能和性能影响小,为网络问题的快速定位、网络质量优化调整提供了最重要的大数据基础,将网络质量分析转换为大数据分析,有力的支撑了智能运维的需要。
gRPC是Google发布的基于HTTP 2.0传输层协议承载的高性能开源软件框架,提供了支持多种编程语言的、对网络设备进行配置和管理的方法。通信双方可以基于该软件框架进行二次开发,从而使得双方可以聚焦于业务,无需关注gRPC软件框架实现的底层通信。
采用基于gRPC的Telemetry技术时,网络设备和SeerAnalyzer分析器建立gRPC连接后,设备自动读取各种统计信息,根据SeerAnalyzer分析器的订阅要求将采集的信息通过gRPC协议上报给SeerAnalyzer分析器,实现了比传统监控方式更加实时、高效的数据采集功能。
gRPC采集数据包括网络设备的实时资源信息、RDMA统计信息、RDMA告警信息等。
INT是一项从设备上采集数据的网络监控技术,是可视化网络解决方案中的重要组成部分,是让网络管理和运维走向真正自动化的第一步,也是最关键的一步。
通过INT技术,可以获知报文实际转发路径上的每台网络设备信息、报文在每台设备上的入出端口信息和队列信息以及相应的时间戳信息等,并且在路径探测的最后一跳上,对监测的数据进行UDP头及IP头封装,发送给SeerAnalyzer分析器。最终,SeerAnalyzer分析器通过分析INT报文头信息,精确计算应用转发路径,通过实时分析INT报文中携带的时间戳分析每台设备和链路的转发延迟,快速找到拥塞节点。
ERSPAN是一种三层远程端口镜像技术,通过复制指定端口、VLAN或CPU的报文,并通过GRE隧道将复制的报文发送到SeerAnalyzer分析器,使用户可以利用SeerAnalyzer分析器分析这些镜像报文,以进行网络监控和故障排除。
SeerAnalyzer分析器可以利用网络设备的ERSPAN技术,在TCP报文转发路径上下发流匹配规则,将TCP报文镜像到SeerAnalyzer采集器。SeerAnalyzer分析器通过对TCP特征报文进行深度分析,来实现应用流的流量统计、路径还原、延时计算、应用识别、异常检测等分析处理动作。
SeerAnalyzer分析器根据客户现网的实际应用场景,对采集上来的ERSPAN流数据、INT流数据、Telemetry性能Metrics等数据,从网络分析、应用分析、用户分析三个维度,进行大数据分析,并将这些数据之间的内在关系有机的整合起来,形成多维度的关联。同时,结合异常检测动态基线等AI算法进行智能分析,主动感知网络是否存在潜在风险并预警。
网络分析主要是对网络拓扑、网络设备、以及设备资源进行动态实时监控,通过智能分析,来判断是否发生突变,从而进行预警。如网络链路流量监控、光模块监控、设备CPU、内存占用率监控、芯片转发层面表项资源监控等。
网络健康度,以设备的运行状态作为健康度指标,从系统平面、数据平面、控制平面三个维度对网络设备进行360度监控,对指标数据根据一定权重进行综合衡量,得出网络设备健康度指标。健康度变化趋势即代表网络设备的运行状态。按照功能分为两类,一类是交换路由设备,如交换机和路由器,一类是无线接入设备,如AC和AP设备。其中交换路由设备的指标包括CPU、内存、电源、风扇、温度、链路带宽利用率、链路错包率、链路丢包率、转发表项资源,综合这些数据指标计算健康度值,如图4所示。
图4 网络健康度
应用分析,主要侧重与识别应用的交互行为是否出现异常、应用的服务质量是否出现异常等,如TCP异常检测、应用的转发路径可视及延时分析等,如图5所示。
应用的健康度主要从两个指标对应用进行360度监控:应用数据报文的可达性指标和应用数据报文的时间指标。其中可达性指标用丢包来衡量,时间指标从延迟和抖动两个指标衡量,所以整体上分三类指标:
1. 是否丢包以及丢包的比例。
2. 传输延迟有多大,理论上这个传输延迟包括从客户端Socket到服务端Socket的端到端单向时间或者往返时间,但实际监测点署受限,只能监测某一段路径的时间。从用户体验的角度,以最接近客户端的监测点测量的往返时间,最能体现应用的服务质量。
3. 抖动有多大。
图5 TCP质量分析
用户分析侧重于用户的体验,如用户的接入异常或失败问题等。如通过统计一段时间内,出现接入异常人数与总关联人数的对比值作为KPI,来进行基线分析和异常检测,如图6所示。
图6 用户业务分析
用户健康度,从无线服务、认证服务、网络服务、网管服务几个维度,对用户接入网络的过程进行360度监控,综合得出用户健康度指标。健康度指标分为登陆质量和连接质量,登陆质量包括登陆认证和获取IP两步,两者都顺利通过才代表登陆质量好,连接质量和丢包、信噪比有关,发生丢包或者信噪比差都意味着健康度低,无线用户和有线用户的计算方式相同,如图7所示。
图7 用户健康度
SeerAnalyzer分析器收集各种类型的数据,包括网络设备、用户终端、应用流的运行状态和传输状态,也包括业务配置和策略配置,将这些数据之间的内在关系有机的整合起来,形成多维度的关联。多维度关联的意义在于及时预警和发现网络中的问题和故障,从网络交换设备和控制平面协议进行分析:
网络交换设备的告警,比如设备端口/光模块检测到异常,该异常会影响哪些用户侧服务器,影响哪些南北向的业务流。
控制平面协议的告警,比如BGP邻居的连接状态发生了异常,该异常会影响该邻居之间的哪些业务,哪些租户的服务器之间的业务访问受到影响。
SeerAnalyzer分析器采用时序数据特征分解、机器学习等AI算法,支持对某些网络指标数据进行异常分析和动态预测。其中异常分析用于检测历史点是否存在异常,动态预测则可以对后续一定时间内的数据趋势进行预测,给出一个预测的曲线图。
异常分析用到了动态基线方法,对设备采集的历史数据进行建模训练,形成一个动态预测基线,作为异常检测阈值。并且动态基线能够基于一段时间的历史数据不断自动学习,反复修正。
动态基线使用离线计算方式,如根据历史14天数据每隔一天计算一次,一次计算出未来一天的指标基线预测值。生成的动态基线数据粒度与原始数据粒度一致。完整的动态基线数据流图如图8所示。
图8 动态基线数据流程图
SeerAnalyzer分析器通过SIP(Session Initiation Protocol,会话初始协议),监控SIP控制报文,识别过路的音视频流量,并通过eMDI(Enhanced Media Delivery Index,增强型媒体传输质量指标)对流量的多个指标(丢包、时延、抖动、乱序等)进行实时监控。通过结合多个网络节点上的的监控结果,实现对故障网位置的快速定界,如图9所示:
展示会话建链失败、建链成功和异常掉线数的统计信息、各时间段流量趋势情况以及所有会话详细信息列表。
会话质量信息:链路中接入的所有设备的MOS值分布以及丢包率、最长连续丢包数、乱序率、抖动、包速率和字节速率等指标。
会话路径:绘制该会话从发起方到响应方的整条链路拓扑情况,可以看到会话经过的交换机、路由器等设备,当某台设备出现问题时,该设备会被标红,显示为质差。
点击某台设备可以看到在该条会话中,该设备的上下行节点性能指标以及质量分析,指标包括MOS值、丢包率、最长连续丢包数、抖动、乱序率、包/字节速率和劣化时间占比。
图9 音视频质量分析
采用ERSPAN技术采集网络TCP特征报文,上送SeerAnalyzer采集器。如图10所示,SeerAnalyzer分析器通过TCP流分析技术,实现如下功能分析:
分析沿途交换机上报的TCP镜像报文可获得应用流量转发路径。
分析采集TCP报文时间戳可获得应用建立TCP连接时延及沿途交换机转发时延,定位应用体验差是因为网络慢还是应用本身的问题。
分析TCP报文头可获取应用TCP连接持续时间及流量大小。
根据TCP流生命周期的交互协议报文,结合大数据分析算法,实现TCP连接和TTL会话的异常检测。
图10 TCP质量分析
SR(Segment Routing,分段路由)采用源路径选择机制,预先在源节点封装好路径所要经过节点分配的SID(Segment Identifier,段标识),当报文经过SR节点时,该节点根据报文的SID对报文进行转发。除源节点外,其它节点无需维护路径状态。MPLS SR(Segment Routing with MPLS,MPLS段路由)是指在MPLS网络中使用SR、将标签作为SID对报文进行转发。
SeerAnalyzer的SR隧道流量分析,实现对指定时间点或时间段内网络中的隧道拓扑信息和指定时间段内网络中隧道的流量进行统计分析,包括隧道拓扑、隧道列表、隧道分析、隧道流量占比、隧道吞吐量时间趋势、丢包错报排行和隧道结点信息等。
光模块是网络组网的关联互联组件;实际应用中,由于光模块老化导致的性能衰减,进而引起网络业务异常问题屡见不鲜,并且大都难以定位。
SeerAnalyzer分析器借助H3C公司光模块故障处理的多年历史经验数据,基于机器学习算法,对光模块的在网运行状况进行健康度评估;实现对光模块的健康趋势、故障概率进行预测;从而达到在故障发生前就识别预警的目的。
光模块诊断主要实现如下功能:
• 光模块健康度评估及趋势预测:基于机器学习算法,对现网光模块的接收光功率、发送光功率、偏置电流、电压、温度等KPI指标数据进行监控训练,实时呈现全网光模块的健康度变化趋势及分布统计,先于光模块故障发生前预警。
• 光模块故障概率预测:基于指数平滑算法,参考新华三光模块故障处理的多年历史经验数据,对现网光模块的故障概率进行预测。
毋庸置疑,运维未来的方向肯定是智能运维。SeerAnalyzer作为新华三推出的下一代先知网络架构SNA的网络智能分析组件,采用大数据和AI技术,将机器学习和深度学习算法功能结合起来,主动感知网络和应用存在的问题,针对业务问题提供自动化排障能力,提前预测网络故障和性能瓶颈,为网络、应用和用户提供保障,并且适应于数据中心、园区和广域网。SeerAnalyzer将开启智能运维新时代。