史纪强 任恩茂 张敏
油田大力推进“两化”深度融合,通过“两化”本质贯标,着力培育构建智能勘探开发、创新驱动发展、价值创造推动能力,应用安全也成为重要的基石。经过多年的建设,油田信息设施已具有一定的规模,各种各样的应用系统持续上线运行。由于应用系统分散部署,错综复杂,难以准确发现、监管和管控,给日常管理、维护带来很大的障碍。如何保证计算机系统及应用系统的正常运行,并实现高效安全的运转成了一个艰巨的任务。为实现应用系统的集中管控,集成基础服务和业务应用数据,系统管控的可视化、规范化和精细化,为生产、办公、决策等提供更大的价值,有效提高应用系统资源的利用率,最终达到统筹管理、运维和使用的目的,油田应用系统集成整合势在必行。为了完成油田应用系统的整合,首先要进行对各个应用系统进行探测发现。在应用主动发现的基础上,通过对发现应用系统的运行现状、软件功能等情况进行多维分析和实际效果评估,最终形成一套应用系统主动发现和智能诊断方法,准确发现油田网上运行的应用系统,实现应用系统的优化管理。
为了判断各服务器部署和发布的疑似应用系统,将采用网络爬虫技术,Web内容扫描技术以及桌面管理系统的数据挖掘相结合的方法,对疑似应用系统特征信息进行收集、分析和识别,多方式综合判定。综合利用三种技术,弥补了单种技术所带来局限性,形成一套完整的逻辑处理方法,较大程度实现了对应用系统的主动探测。
(一) 爬虫技术
要实现应用系统的主动发现,首先要使用爬虫技术。在对应用系统的主动发现过程中,网络爬虫和扫描插件在调度中心的统一调度下工作。选取固定入口,设计应用特征库解析关联链接,逐级“爬行”遍历,探找未注册、未登记应用。与一般爬虫相比,主动发现技术所使用的网络爬虫不仅要发现在页面内的正常链接,也需要发现目标服务器上存在的一些特殊文件数据用来分析,比如相关脚本的备份文件以及配置信息等。因此,要实现应用系统信息的有效爬行抓取,提高解析速度和准确性,动态扩展网页分析能力,对深层网页分析及JS脚本分析,提供更丰富的爬行信息和技术方法是应用系统主动发现技术网络爬虫的主要特点。网络爬虫工作机理如图1所示。
(二) Web信息扫描
对一些爬虫技术没有发现的孤立系统,可以依据油田安全漏洞扫描的结果数据来比对应用特征库,开展定点排查,追踪疑似应用。借鉴扫描工具的功能,对Web进行内容扫描,对应用系统路径、暴露关键问题信息等进行收集、分析。这里主要研究开源的Web内容扫描软件,建立数据分析和特征库,形成应用识别模型和算法。
(三) 油田桌面管理系统的数据挖掘
为了全面实现服务器部署和发布的疑似应用系统的主动探测。采用桌面管理系统的数据挖掘来弥补爬虫技术和Web信息扫描对探测的不足之处。按照油田网络管理规定,油田桌面管理系统安装率100%。因此可以对油田桌面管理系统的数据分析和挖掘,监控主机下IIS、Tomcat等進程及配置数据,辅助实现应用系统的发现。
(四) 建立综合应用识别方法
每种技术方法都一定的局限性,如爬虫方式需要有链接关系,需要几种技术要综合应用,从多维度综合判定。桌面系统根据进程监控,通知爬虫系统对疑似URL遍历;根据油田信息安全扫描数据,对可能的Web应用进行爬行遍历;通过内容扫描,进一步识别。
在应用主动发现的基础上,通过对发现应用系统的运行现状、用户粘度、分布状况、应用范围、软件功能等情况进行多维分析和实际效果评估,形成一套完整的发现应用运行状况评估技术方案;建立应用质量评估模型,形成应用性能监测诊断技术体系。最终达到为应用瘦身、停用替代、提供诊断的目的,使油田网络资源达到统一管理、安全运维和节约化使用,实现应用系统集中管控,有效提高应用系统利用率。
(一) 性能监控
分为模拟性能监控和真实用户监控。模拟性能监控通过嵌码和探针等方法从应用前后端获取不同性能参数,设计算法形成应用性能综合评价。定期访问网站并记录每次运行的性能数据。测量的流量并非实际用户所产生的,而是用于收集页面性能时生成的。真实用户监控由供应商提供嵌入到每个页面的代理(JavaScript脚本),报告当前页面的每个请求的加载数据,观测实际用户的交互,分析数据,最终形成应用性能指标。
(二) 性能分析与量化评估数据处理
1、 数据整理
在获取了大量的有关应用系统的数据之后,这些数据中可能包含一些不一致、重复、不完整、存在错误或异常(偏离期望值)的数据,为了使后续预测阶段有较好的表现,需要对这些数据进行:数据清洗,去掉噪声和无关数据;数据集成,将多个数据源中的数据结合起来存放在一个一致的数据存储中;数据变换,把原始数据转换成为适合数据挖掘的形式;数据归约,数据立方体聚集,维归约,数据压缩,数值归约,离散化和概念分层等。
2、关联分析
两个或两个以上变量的取值之间存在某种规律性,就称为关联。数据关联是数据中存在的一类重要的、可被发现的知识。关联分为简单关联、时序关联和因果关联。关联分析的目的是找出数据中隐藏的关联网。一般用支持度和可信度两个阀值来度量关联规则的相关性,还不断引入兴趣度、相关性等参数,使得所挖掘的规则更符合需求。
3、序列模式
时间序列分析则侧重研究数据序列的互相依赖关系。实际上是对离散指标的随机过程的统计分析,所以又可看作是随机过程统计的一个组成部分。在一组有序的数据列组成的数据集中,经常出现的那些序列组合构成的模式。跟我们所熟知的关联规则挖掘不一样,序列模式挖掘的对象以及结果都是有序的。在经过了数据处理之后所得到的数据可以直接用于预测模型,可以提高后期工作效率。
(三) 应用性能指数(Apdex)
Apdex 是用户对应用性能满意度的量化值,提供统一的测量和报告用户体验方法,把最终用户的体验和应用性能作为一个完整指标进行度量。采样结果被量化为一个0 到 1之间的数值即 “Apdex 指数”,0 代表没有满意用户,1则代表所有用户都满意。经过统计,Apdex 把这个数值与用户满意程度细化对应,如图4所示.
对于应用性能的 Apdex 评分与用户的体验紧密关联,为管理者提供了一种通过应用性能量化值来评估用户满意度的方法。
(四) 量化分析指标
采集系统模块访问量、在线人数、停留时间、数据库增量、更新时间、数据更新情况等数据;通过指标对比、应用对比、分单位应用情况、数据库更新对比等。建立符合实际的量化分析指标,在此基础上形成可视化的性能分析。
针对应用系统难以准确掌握,低效无效应用占用资源,存在安全风险的问题,借鉴国内外相关应用优化最新成果,采用网络爬虫技术,Web内容扫描技术以及桌面管理系统的数据挖掘相结合的方法,多维度综合判定存在的应用系统;对所发现应用系统的运行现状、用户粘度、分布状况、应用范围、软件功能等情况进行多维分析,建立应用智能识别和评估模型和算法,开发应用发现与诊断系统,对应用系统进行性能分析与量化评估,达到高效利用有限网络资源,提高用户体验和降低维护成本的目的。
平台架构如图5所示,分为三层。
数据采集层:获取用户访问信息、响应时间等;
数据分析层:利用应用系统性能分析与量化评估技术对采集到的数据进行多维度分析;
告警层:通过应用性能监测及故障诊断技术对出现的异常情况告警可视化。
平台通过高速数据采集设备对核心交换机骨干链路的业务流量进行实时采集和 DPI 分析,通过系统性能分析、量化评估和应用系统异常预警进行端到端的性能测量和管理,帮助网络运维部门预先和实时掌握网络应用系统运行质量状况。
首先,在系统性能与量化评估分析方面,平台具备数据流量透视能力,可实现对链路层、网络层、传输层的流量和流数目进行统计分析。从应用、用户、外部地址三个不同的角度对流量的趋势、排名进行统计分析,查看最近5分钟、最近3小时、 最近1天、最近一月、最近一年等不同时间段里哪些应用所 产生的流量最大,可确定异常流量来源、识别其所对应的应用类型、记录其发生的时刻和存在的时间、追踪其传输的路径和目的地,对异常流量进行定位、跟踪、溯源。传统的网管监测,对链路性能进行监测时,只有通过运维人员 ping 链路 IP,才能看出链路的延迟、丢包率 等数据,无法监测出链路实时带宽。而应用性能监测及故障诊断平台可以实时看出应用服务器网络的延迟、抖动、丢包率,甚至是可用带宽、 瓶颈带宽等性能参数。能对链路上运行的应用进行深度分析得出有价值的性能数据和统计数据,依据统计数据可分析出链路中哪种应用运行更加顺畅,定位应用性能瓶颈,有助于合理分配网络应用资源,快速解决因资源分配不合理导致的网络拥塞现象。
其次,在智能诊断方面,针对油田内部网络各类业务(包括 Web、DNS、视频、流媒体、FTP、数据库、邮件、内部生产业务等)实时运行性能进行可视化深度分析,可实时感知DDos攻击、蠕虫爆发、大规模病毒传播和非规律的流量变化等网络异常情况,精准定位问题根源组件,有助于区分故障是在网络侧还是服务器侧。 通过对应用网络流量动态基线分析,维护人员无须为每一异常流量数据包特征寻求或开发专属的侦测程序,高精度、高同步性的动态流量监测测量数据为运维人员提供了更可靠、 更精确网络应用流量告警。使运维人员对油田内部网络应用巡视维护效率大大提升;从传统的被动排查,到现在及时主动发现,提高故障响应速度,降低应用网络性能分析成本,从而提升整个油田内部应用的可靠性及运维效率。有助于即时发现网络应用配置故障、路由环回故障、显著性能下降等服务器网络故障,避免了传统排查的费时费力。
通过研究,形成一套应用系统主动发现和智能诊断方法,准确发现油田网上运行的应用系统,实现应用系统的优化管理。对于进一步整合油田应用系统,高效利用网络资源具有重要意义。可以实现油田应用系统的有效管控,对整个油田应用系统的分布状况,应用范围,利用率,运行现状等全面及时了解。明确油田各應用系统之间的关系,为应用的故障预测提供依据。使油田网络资源达到统一管理、安全运维和节约化使用。分析应用系统的功能和业务,在更高层次上分析业务关联,为信息化顶层设计提供科学的决策依据。为云平台的推广应用,基于组件复用集成稳定运行提供保障。
基金项目:中国石化胜利油田分公司科研项目“应用系统主动发现与诊断处置技术分析”,项目编号:YKJ1904-1