基于APM技术的电信企业网络性能管理系统的设计
2018-12-17凌云
凌云
摘要:随着电信企业业务规模的不断扩大,网元数量不断增多,待处理和维护的数据量也与日俱增,数据类型更呈多样化发展,这给企业信息网络的管理与维护工作提出了新的要求。传统的管理模式过于细化,将网络内的所有组件作为管理单元,在大规模网络中的运行效率低下,同时也缺乏针对应用性能的统一监测,更无法满足端到端的用户管理要求,迫切需要改进。APM模式以业务整体为管理对象,很好地提高了网络性能管理效率,该文结合电信企业业务实际,对传统监控模式存在的问题进行了细致的分析,以APM技术为核心,设计了一款实用性的网络性能管理系统,具有一定的推广应用价值。
关键词:应用性能;端到端;APM
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)25-0027-02
1 引言
APM(Application Performance Management)是近年来衍生的一种新型应用性能管理理念,该技术通过高效的网络通信大规模的数据分析,将管辖区域内的各类网元设备集中协调、统一管理,将原本垂直模式的分散管理工作转变为基于某条业务对应的数据传输链整体进行管理,并从多个层面对网络性能进行评测。APM针对业务逻辑中可能出现的性能异常情况能够进行快速的预判与分析,并采取合理的应对措施予以快速排查与处理,尽可能地减少异常与故障情况带来的负面影响。APM技术的出现,极大地提高了原信息网络系统中故障点搜索的准确性与快捷性,因此从整体上显著提高了系统的表现性能。本文将该技术同电信企业业务性能管理工作相结合,设计了一套实用性较高的网络性能管理系统,显著地改善了电信企业对网络性能的监控效率。
2 传统的监控模式存在的问题分析
在传统的电信网络性能管理工作中,绝大多数采取的都是“自下而上”的监控模式,即首先针对底层的各个节点设施(包括各类网络节点设备、服务器、存储设备、中间件和数据库等IT资产)的工作状态,或者根据底层的数据流量的变化情况进行监控与统计,并将这些可能存在故障的信息结合上层的工作状态(如数据层、网络层、APP层等)进行综合分析,直至判断出导致用户端出现性能异常的根本原因。该模式针对单一化的网络和小规模的节点设施群较为有效,但其缺点是缺乏统一的业务和IT视图,只能针对各个设备的运行状态进行监管,而无法从业务角度去衡量IT服务质量,因此在大规模数据存储及通信的场合中,无法实现高效的端到端的用户体验和应用管理,另一方面,随着企业规模的不断扩大,目前在电信企业中,云化分布式X86、SOA架构机器繁多,而在这种异构性较大的设施群中进行大规模的数据交换与资源调用,其业务关系的复杂程度是非常高的,这都给网络性能管理工作的开展造成了困难。图1描述了在分布式应用的复杂环境中可能会出现的各种故障。
观察图1可以发现,在众多异构节点群中,应用性能瓶颈与故障可能发生于各个层次中的设施,而对这些故障信息的判断难度是非常高的,也几乎不可能根据用户端出现的异常类型来准确定位故障发生的具体位置,出现该问题的原因就是传统的监控与管理模式存在的以下不足之处:
(1)信息采集手段单一,技术缺乏多样化,无法延展至客户端的“最后一公里”,尤其是针对客户端的感知方法功能不足;
(2)云化分布式、SOA架构的大规模运用导致系统业务复杂性大大提高,目前的监控方法缺少对业务办理全路径下各个环节的统一管控,故障定位困难;
(3)缺乏高效的IT技术工具,无法为管理人员提供快捷可靠的功能辅助。
因此,采用多样化的监控技术,改变传统模式下针对各个节点设施的自下而上的监控方法,转为使用针对业务性能的从端到端的统一的监管模式,将会大大提高电信网络的管理效率,及时排查与解决异常,改善用户体验。
3 APM系统的设计与实现
3.1 APM系统监控方案的设计
APM系统同传统的IT管理系统相比,其最大的特点是更加侧重从应用表现方面来对网络和数据处理服务的性能状态进行监测与分析,并从全局角度快速判定故障与异常的发生点。因此,APM首先就将各种应用服务与业务作为监管对象,并采用各种技术对其进行实时监测,收集大量的性能数据后加以提煉分析,其数据采集的方式主要有以下两种:
(1) 模拟用户监控方式:该方法属于主动监测方法,需要在APM系统中配置一定数量的测试终端,用以模拟真实用户向各类服务器发起服务请求,从而记录这些服务器的反馈信息以及响应时延,最终得出监测对象较为精确的应用运行状态和服务质量,尤其对于测试范围广、测试对象明确的场合,该方法能够充分地体现其准确性和针对性的优势,但由于该方法的测试过程等同于用户的直接操作行为,因此其测试精度随着测试终端数量的增长而提高,但后者的增多将会不可避免的增大整个网络的开销,以及各个服务器的负载,形成负面影响。
(2) 监听型方式:该方法属于被动监测方法,主要通过监听端口镜像、多路转发以及链路串接等方式收集网络中传输的用户数据报、信令数据包(OAM) 或者管理信息(SNMP MIB/RMON),同时监测通过这些网络节点的数据流量,从而对该区域内的应用服务性能进行评估。该方法的优点在于不会对网络通信资源和服务器资源造成额外的消耗,但缺点在于仅能获得局部网络的信息,评估结论有一定的片面性,尤其对于大型网络而言,该方法无论在精确性方面还是在稳定性方面都无法达到令人满意的水平。
本次APM系统的设计方案采取了将以上两种方法有机结合的方式,既考虑到了监控系统本身对网络性能造成的影响,又确保了数据采集的准确性,保障了网络和应用服务的正常运行。图2给出了本系统的网络拓扑结构。
如上图所示,系统中的测试终端可对任一服务器发送服务申请,并记录该服务器的应答状况,将采集到的信息进行分类汇总后,传输至系统中的APM服务器进行后续的分析计算,并得出对被测对象的性能评估结果,同时也针对异常数据的特征来对本系统内的性能瓶颈和故障点进行快速的定位于排查;测试终端的位置可灵活的根据测试需求配置到最接近待测用户的区域,以确保测试结果最大限度地贴近用户的真实体验;各测试终端的开启测试时间也可由管理员进行灵活调整,以达到最佳测试效果。监听型方式的采集器可针对某个应用服务在运行过程中发生的数据流进行监听,分析获取到的应用数据包的数量与状态是否处于正常范围之内,从而判断是否出现了应用性能问题,同时也可通过过滤分析计算出该应用服务的业务量和使用频率。这些数据汇总后传输至APM系统中,通过一系列的优化管理措施,可有效地实现负载均衡的效果。此外,APM系统将获取的各种应用性能数据持久化,通过数据的不断累积,向管理员提供更加直观的数据变化趋势,帮助管理员更好地调整监控策略,不断改善系统性能。
3.2 APM系统层次框架设计
由于电信企业应用服务种类众多,采用的技术也多种多样,因此本系统在设计过程中,充分强调了其兼容性能,目前,该系统可有效地对J2EE、.Net、PHP、Python等多种技术或平台研发的信息系统进行管理,图3则以J2EE技术为了进行了说明。
本系统主要包括的组件如下:
(1) Application探针:该部件部署在各个应用服务器中的Java虚拟机上,负责与各种类型的监听设备进行交互,接受末梢节点反馈回的各种性能参数并加以分析,其管理与分析的数据对象包括J2EE服务器进程的运行状态、EJB和Java Bean中的对象与方法状态信息等。如图可见,该组件在完成其任务后,需将分析结果通过HTTP协议传输至Application管理服务器。
(2) Application管理服务器:该组件首先负责接受从Application探针处传来的性能数据,在对数据进行审核确认后,将其分类存储,并通过数据库进行可靠管理;另一方面,该服务器同样需要采用各类分析软件对这些数据进行加工,最终形成可视化的图表呈交用户;在处理异常方面,该服务器采用快速匹配关联的方法,结合预设的安全指标阈值判断网络中的各项业务是否出现异常,需要时将启动报警功能,确保系统的安全性。
(3) Application人机交互界面:为了提高系统的可维护性与灵活性,本次设计工作采用了Web技术完成了人机交互操作的各项功能,经过实地测试,功能分布合理,界面跳转与管理业务逻辑相吻合,较为可靠的实现了系统的实用性和便捷性。
4 总结
本文对目前电信企业网络和业务性能管理工作中存在的问题进行了细致的分析与探讨,并提出了采用APM技术构建新型网络及业务性能管理系统的设计思路,以此为基础,结合多种网络性能监测技术,对企业级网络运维系统进行了改进和优化,实现了端到端的网络性能监控目标。目前在网络通信和大規模数据处理领域,更多学者提出采用智能算法参与到数据分析和判别过程,从而提升网络性能监控质量的技术路线。相信随着更多研究成果的问世,电信企业网络性能管理将会更上一个台阶,为用户提供更优质的服务。
参考文献:
[1] 陈鹏.基于Android应用的性能监控系统的研究与实现[D].广州:华南理工大学, 2015.
[2] FelixW,Wolfgang G,Helmut K. Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications[C].Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering. ACM,2015:103-104.
[3] 梁晟,李明树,梁金能等.一种模拟驱动的Web应用程序性能测试方法[J].计算机研究发展,2003,40(7):1069-1075.
【通联编辑:代影】