非侵入式空管自动化系统智能运维方法
2022-09-09王蓓蓓余晶鑫
王蓓蓓 余晶鑫
(1.南京莱斯信息技术股份有限公司 江苏省南京市 210007)
(2.中国民用航空新疆空中交通管理局 新疆维吾尔自治区乌鲁木齐市 830016)
1 引言
空管自动化系统作为民航空管部门实施对空指挥的核心系统,通过处理雷达信号等监视数据,为管制员提供空中飞行态势的显示和各种飞行冲突以及各种异常的告警,通过处理飞行计划和动态电报,为管制员提供飞行计划和飞行动态相关信息以及管理手段,在确保民航空管对空指挥任务的安全实施中发挥着重要的作用。随着空管装备的升级换代,我国自主研发的空管自动化系统已经能够较好地满足空中交通管理的各项需求,国产空管自动化系统作为主用、备用以及应急系统的应用越来越多。因此探讨空管自动化系统结构和工作方式,对系统进行精准且细粒度的监控运维,对于保障系统稳定可靠不间断运行具有重要意义。
传统监控运维采用侵入式的方法,通过在各个服务器和终端上部署监控代理,获取必要的监控指标数据。例如NUMEN-3000系统,通过在监控目标上部署监控代理模块,定时采集监控目标的状态数据,通过专有的服务器实现状态数据和告警配置的同步,实现告警判断、模块管理以及设备管理。除此以外,IT行业常用的分布式系统监视解决方案Zabbix,以及互联网行业广泛使用的开源系统监控工具Nagios和Open-Falcon在架构上都是依赖客户端或代理而实现的。如今随着自动化系统功能日益全面,部署模块逐渐增多,导致系统运行资源愈加紧张,部署侵入模块,对运行安全也是重大风险,且侵入式方法很容易占用过多的运行资源。
除此之外通用航空以及无人机航空等新兴领域的兴起,必然导致空管自动化系统在未来面临业务和架构上出现巨大变革。虚拟化、容器、弹性计算以及人工智能等技术的成熟也为空管自动化系统的革新做好了充足的准备。这种技术架构、软硬件设施的巨大变革,以及业务复杂度、系统规模的全面提升,对空管自动化系统的监控运维提出了严峻的挑战。
1.1 空管自动化系统运维体系现状
当前空管自动化系统主要依靠技术监控软件模块和监控席位提供系统运维能力。技术监控席位主要功能体现在能够有效地监视空管自动化系统的运行状态,明确系统中各种软硬件资源的利用情况以及相对应的预警信息。技术监控席位的工作主要依赖于监控软件的监视功能和控制功能,其中监视功能负责将各种数据信息转化为图形呈现,而控制功能则负责为监控人员提供运维的操作入口。
以NUMEN-3000系统为例,该系统凭借SMP软件为技术监控席位提供监控运维的基本能力。在监视功能上,SMP软件采用集中式监视方案,首先通过代理模块采集监控目标(包括监视源、外部链路、服务器、交换机、分区、席位、数据库、运行日志等)的状态信息,其次通过专有的数据库实现数据和告警配置的同步,然后基于告警的配置定时的判断状态信息是否异常,如果出现异常向监控席位发送对应的告警通知;在控制功能上,SMP软件提供了数据库切换、双机切换、监视源切换、服务器席位批量重启/关闭、服务器席位软件批量重启/关闭、全系统重启/关闭、设备上下线、景象记录调用等控制功能。
目前空管自动化系统的监控运维体系仍然具备较大的改进空间,其中存在的问题主要集中在以下2个方面:
(1)侵入式部署和运行:随着功能模块的增多,系统运行资源愈加紧张,系统稳定性可靠性论证的难度有所上升,侵入式方法不仅容易占用过多的运行资源,而且有可能影响到自动化系统核心业务的运行。
(2)缺乏对系统状态进行预判的手段:现有监控运维只具备事后分析的功能,无法对监控数据进行收集整理形成运维经验,缺乏事前分析的手段。
1.2 本文概述
针对以上问题,本文提出一种非侵入式的空管自动化系统智能运维方法,基于旁路审计监听系统的网络端口捕获镜像流量,实现系统状态数据清洗、服务器健康度评估、IO容量智能预测、运维可视化报表等功能。文章接下来的章节安排如下:阐述基于旁路审计的智能运维基础框架和工作流程;介绍本方法的关键功能,包括系统状态数据清洗、服务器健康度评估、IO容量智能预测、运维可视化报表等功能;总结了智能运维体系相关技术的研究现状;最后总结探讨了空管自动化系统智能运维的发展方向。
2 体系框架
2.1 旁路审计原理及组网方式
所谓旁路审计是指为最小程度避免影响原有系统运行,在无须植入插件或者代理模块的前提下,利用交换机将网络流量镜像传输给审计模块,通过监听各类业务端口,实现对网络流量的全量解析和审计。
空管自动化系统的旁路审计组网方式如图1所示。系统按业务功能划分为数据交互区、业务核心区、终端接入区和运维管理区,其中:
图1:空管自动化系统旁路审计组网方式
(1)数据交互区、业务核心区以及终端接入区按照三网(LAN A、LAN B、LAN C)独立运行方式,保证网络数据的可靠传输;
(2)运维管理区采用旁路模式部署进原有网络,即通过接入LAN C交换机的镜像端口,管理区内的审计运维模块对网络内的流量进行全量解析并生成运行日志,运维模块对捕捉的流量进行管理与分析,实现系统状态数据清洗、服务器健康度评估、IO容量智能预测、运维可视化报表等功能。
2.2 基于旁路镜像的智能运维架构
智能运维(Algorithmic IT Operations, AIOps)是由IT研究与顾问咨询公司Gartner于2016年首次提出概念。所谓智能运维是指采用机器学习技术分析从多种运维工具收集到的大数据,实时地、自动地检测并应对运维问题,从而增强运维的自动化水平和智能化水平。所谓智能并不是一种具体的算法,而是集成了许多算法(包括数据挖掘、统计分析、机器学习等算法)形成一套完善的、自动化的运维体系,辅助技术运维团队提供可信的数据分析结果。
智能运维为空管自动化系统的运行保障体系建设提供了一种可行的解决方案。为了解决侵入式部署对系统影响大、缺乏对系统状态进行预判的手段的问题,本文提出一种非侵入式的空管自动化系统智能运维方法,基于旁路审计监听系统的网络端口捕获镜像流量,采集清洗并提取其中的日志数据,设计算法实现对自动化系统的智能运维。体系结构如图2所示,在现有的空管自动化系统基础上利用旁路审计提供数据库审计、日志审计、态势感知等管理功能,再以审计数据为基础,利用时间序列分析算法以及神经网络等机器学习算法实现系统状态数据清洗、IO容量智能预测、服务器健康度评估以及运维可视化报表等智能运维功能。
图2:体系结构图
3 运维核心功能
3.1 系统状态数据清洗
旁路审计采集的相关数据来源为日志审计系统、数据库审计系统以及态势感知系统。本功能将这些系统作为数据源开展定时的清洗工作,其中主要包括:
(1)系统IO资源相关数据:包括计算IO、存储IO以及网络IO等,数据源以日志审计系统采集数据为止;
(2)数据库相关:主要为数据资产数据以及与数据库操作相关的数据,包括数据资产、告警防护以及审计追溯等数据,数据源为数据库审计系统;
(3)态势感知系统:主要收集系统安全防护相关的数据,包括资产管理、流量分析以及终端安全等数据。
我们将清洗后得到的系统状态数据按照数据大类、数据小类以及具体指标进行分类,如表1所示详细列出了部分涉及的主要指标,用以后续服务器健康度评估、IO容量预测以及可视化报表的生成。
表1:系统状态数据清洗获取的主要指标
3.2 服务器健康度评估
服务器健康度评估功能主要涵盖以下4个模块:
(1)服务器整体资源占用评估:对物理服务器、虚拟服务器的CPU使用率、MEM使用率、文件系统使用率、网络带宽占用率进行统计和转换,对计算设备资源占用进行健康度评估,当占用比例过高时发出系统扩容建议。
(2)业务模块进程资源占用评估:通过加载DBMS获取不同设备上运行的业务进程,获取不同时间点的业务进程状态数据统计计算业务进程的状态变化,对于经常掉线、重启、存在内存泄漏的进程,发出相应运维建议。
(3)网络接口状态评估:统计计算不同设备上的网卡管理状态和运行状态,对于经常出现状态异常的网卡发出相应的运维建议。
(4)服务器安全状态评估:利用态势感知系统收集的流量分析数据和终端安全数据,统计评估服务器安全状态,对于安全状态较低的服务器给出相应的运维建议。
服务健康度模型的语义如图3所示,即通过以上三个模块得到的评估结果,共同构成对服务器效用价值和保障价值的量化,从而最终基于效用价值和保障价值得到服务器的整体健康度量化评分,评分的功能原型展示如图4所示。
图3:服务器健康度模型语义
图4:服务器健康度评估功能原型展示
3.3 IO容量智能预测
IO容量智能预测功能是指对计算IO行为、存储IO行为以及网络IO行为进行解析,抽取出历史数据,对历史数据进行分析,从而实现IO容量的准确预测。
IO容量智能预测功能主要涵盖以下3个模块:
(1)计算IO容量预测:包括对CPU使用率、CPU负载、上下文交换的历史数据进行异常点标注,以及对未来的趋势进行预测,例如在图5所示的功能原型展示中,给出了CPU负载容量的历史数据和未来容量的预测;
(2)存储IO容量预测:包括对内存占用率、交换区空间占用率、磁盘空间占用率的历史数据进行异常点标注,以及对未来的趋势进行预测,例如通过趋势预测发现内存占用逐渐增高,则发出可能存在内存泄漏风险的运维建议;
(3)网络接口速率预测:包括对网络接口的读写行为进行解析,生成网络接口的读写模式,通过模式判断网络接口状态是否正常,预测某些时间段的网络接口流量压力。
3.4 运维可视化报表
运维可视化报表从全局级、业务级以及主机级别三种颗粒度提供配置报表、性能报表以及事件报表。
(1)配置报表:包括不同区域的设备数量、设备型号、操作系统的分布可视化;不同业务模块的版本、设备数量、主机配置可视化;各服务器的资源配置、操作系统版本、运行模块可视化。
(2)性能报表:包括全系统在某时间段的设备资源占用率、网络资源占用率、磁盘读写速率分布可视化;不同设备在某个时间段的设备资源占用率、网络资源占用率、磁盘读写速率分布可视化;不同业务模块在某个时间段的设备资源占用率、网络资源占用率、磁盘读写速率分布可视化。
(3)事件报表:全系统在某个时间段的告警数量及趋势、告警严重程度分布可视化;不同设备在某个时间段的告警数量及趋势、告警严重程度分布可视化;不同业务模块在某个时间段的告警数量及趋势、告警严重程度分布可视化。
4 关键技术解析
4.1 时间序列分析算法
时间序列是一种数据的表现形式,指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。对于时间序列的数据挖掘起始于20世纪90年代,时间序列的研究涵盖了相似性查询、时序模式挖掘、时间序列分类和聚类、时间序列异常检测等领域。其中时间序列异常检测作为数据挖掘的重要领域,室各行各业尤其室大型工程项目密切关注的内容。目前空管自动化系统在内许多性能指标的表现形式都是时间序列。因此从服务器IO日志中抽取IO行为中涵盖的数据构成时间序列,利用时间序列分析算法对IO时间序列进行分析是构建运维体系的关键技术之一。
时间序列分析的代表算法是差分整合移动平均自回归模 型(Auto-Regressive Integrated Moving Average model,ARIMA),最初是用于气象数据以及传染病数据等具有明显季节性或周期性的单维时间序列的异常检测。序列平滑算法是一类快速的时间序列分析方法。传统的平滑算法包括移动平均算法、权重移动平均算法,主要想法是基于前n个序列值的平均值逼近序列的运动趋势,这一类平滑算法的思想较为朴素,一方面运动趋势的预判极易收到离群点的影响,另一方面如何确定序列窗口n的大小是一个在实际应用中值得思考的棘手问题。另一类时间序列分析算法是指数平滑,指数平滑假设之前所有的观察值对当前的运动趋势都会产生影响,通过递归的方式分析时间序列的运动趋势。
在实际的运维场景中,时间序列往往表现为多维有序数据集的形式。多维时间序列带来了维数灾难问题以及随时间推移的信息膨胀问题。针对以上问题,不少学者提出了序列降维的方法。文献提出了一种基于Galerkin的KL扩展(KL Expansion,KLE)计算方法实现时间序列降维并将其应用于流量异常检测中,实验结果显示能够考虑时间的相关性,其异常检测结果由比较显著的改善。文献提出了一种多元统计网络监测(Multivariate Statistical Network Monitoring,MSNM)方法,将多元统计过程控制技术运用到网络监测领域,实验证明该方法能够降低主成分分析对异常值的高敏感度。文献提出了一种基于插值边缘算子的时间序列分段线性表示(piecewise linear representation based on Interpolation Edge Operators,IEO)方法,不仅可以有效压缩数据,并且对数据噪声以及陡峭点不敏感,在异常检测中能够具有更好的表现效果。
4.2 深度学习算法
随着空管自动化系统日趋复杂化、大型化和智能化,高效获取准确、完备的监控运维信息越来越困难。以往的智能运维技术很可能将不再满足未来空管自动化系统的监控运维需求,迫切需求能够将故障机理、模型建立、特征提取与分析方法等相关问题相融合的智能运维技术,而深度学习的出现为这一技术的实现提供了新的思路和途径。典型的五种深度学习模型包括自动编码器(Auto-Encoder,AE),深度置信网络(Deep Belief Network,DBN)、卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)以及生成对抗网络(Generative Adversarial Network,GAN)。下面按照模型分类分别介绍若干具有显著参考意义的研究成果。
Lin等人考虑到日志文件标注的困难性,尝试利用日志相似性对系统日志进行聚类实现无监督的日志异常检测。Qiu等人提出的SyslogDigest模型将非结构化的日志消息映射到消息模板上以解析日志消息,然后基于消息模板的序列生成高层次的事件记录。Zhang等人提出了一种称为频繁模板树(Frequent Template Tree,FT-Tree)的模型,对消息日志当中不同单词组合的频率进行统计和排序,通过一个经过剪裁的树形结构表示较为频繁的单词组合,并将其作为消息日志的模板,最后通过隐式半马尔可夫模型实现基于日志序列的故障预测功能。文献提出使用快速的n-gram语言模型对消息的类型进行预过滤,然后利用隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)从大量未标记消息日志中构建语义空间,最后使用标准的前馈神经网络来实现分类。张圣林等人基于GloVe框架提取日志中的语义信息并构造了日志的模板向量,在一定程度上克服了不同语法造成的跨类型日志融合困难的问题。
4.3 技术评价
在学术界,智能运维技术研究正在如火如荼的开展,相关的技术探索成果也随之不断涌现,然而智能运维仍然存在很多的挑战。空管自动化系统的大规模、多模态、多时段、时间相关性等特性给智能运维的技术研发更是带来了难点,其中可能存在的问题包括:
(1)空管自动化系统的设备存在数量众多、结构复杂的特点,这对监控数据的采集造成了一定的困难,且各地自动化系统处于信息孤岛的状态,不利于支撑大规模的数据分析;
(2)海量数据中的有效信息有限,数据类别不平衡,例如极端工况下的故障样本数目十分有限;
(3)现有技术大多关注某一设备的异常或故障,缺少对多个监控目标的关联分析;
(4)深度学习虽然在智能运维当中展现了很多的优点并取得了一定的成绩,但是现有的深度学习技术还无法执行关于过程推理和模式解释的高阶运维任务。
5 结束语
随着空管自动化系统的建设和发展,智能运维体系的探索必将成为其中不可或缺的重要组成部分。本文围绕下一代空管自动化系统建设,论述了基于智能运维的保障体系关键技术,包括基于时间序列分析的方法、基于文本挖掘的方法以及基于深度学习的方法,整理总结各个技术领域的研究现状。在未来,空管自动化系统智能运维有赖于以下方面的推动:
(1)民航数据治理在深度和广度上的拓展:只有更加全面的数据支撑,才能更有效的推动智能运维水平的提升;
(2)数据挖掘以及人工智能技术层面的进步:当前溯因推理技术的研究有望突破目前深度学习的局限性,有利于提高智能运维的智能水平。