APM在中国联通IT运营平台应用方案研究
李 衡1,杨洁艳1,莫 穹2(1.中国联合网络通信集团有限公司,北京 100033;2.中讯邮电咨询设计院有限公司郑州分公司,河南 郑州 450007)
摘 要: 作为全栈监控的重要环节,目前中国联通对机房、IT设备等基础设施的监控管理体系已成熟完善,但对于IT 应用的监控管理还相对薄弱。主要针对中国联通IT 运营平台应用性能管理模块建设模式进行研究,从APM 技术模型、核心功能、应用价值入手,提出中国联通IT运营平台APM 模块的建设需求、目标、系统定位,功能需求,并探讨APM使用场景。
关键词: IT运营平台;应用性能管理;建设模式
0 前言
应用性能管理(APM)是实现对应用程序性能管理和故障管理的系统化解决方案。
共设7个污泥栽培基质处理水平和1个对照组。表1中处理①至处理⑦为不同城市污泥堆肥基质配比,经堆积发酵后作为栽培基质。处理⑧为对照组(CK)是由椰糠和泥炭土按体积比为1∶2配成栽培基质。选取生长状态基本一致,5~6片叶子,高约15 cm的锦紫苏扦插苗[13]。用处理①至处理⑧栽培基质种植,每盆1株,每组6盆,设3个重复,按常规管理进行。
随着分布式系统和微服务架构的应用和发展,应用性能管理成为系统运维管理和网络管理的一个重要方向,它能够对整个企业的IT 系统各个层面进行集中的性能监控,并对有可能出现的性能问题进行及时、准确的分析和处理。它能轻松地从一个IT 应用系统中找到故障点,并提供相关解决建议或方法,从而提高整体的系统性能。一个企业的关键业务应用的性能强大,可以保证企业业务应用系统的高效性和稳定性,提升企业的核心竞争力。
本文主要研究中国联通IT 运营平台应用性能管理模块建设模式,从APM 技术模型、核心功能、应用价值入手,提出中国联通IT运营平台APM 模块的建设需求、目标、系统定位、功能需求,并对APM 使用场景作出探讨。
1 研究背景
1.1 APM技术简介
1.1.1 APM模型
随着互联网技术和应用的快速发展,应用程序的管理变得越来越难,因为它们从单体架构转向高度分布的、多层、多元素的分布式应用架构,应用系统在许多情况下依赖于应用程序的开发框架。APM 概念框架旨在帮助企业考虑在IT 系统架构中需要首先关注的方法,以便企业能够快速实施并全面了解五维APM模型。APM 五维模型如图1所示。
图1 APM 五维模型
终端用户体验:图形化或数据化展示最终用户使用应用的可用性、时延、交易执行等用户视角体验。
应用架构映射:实时发现应用相关的硬件、软件组件,并对这些组件之间的交互关系以及实时交易路径进行清晰的图形化展示。
应用事务分析:记录用户的所有访问行为,并根据相应事件追踪用户的访问在架构中的路径,以及交易在路径各个节点上的性能表现。
深度应用诊断:深度代码诊断和分析,跟踪记录每个交易的代码级上下文关联,以及对资源的消耗。
数据分析:根据采集的各项应用系统指标数据,进行应用性能分析。
中国联通IT 运营平台中的应用性能管理模块应能够提供面向应用的性能管理整体解决方案,提供自动应用拓扑图,根据总部运维支撑系统部署应用的现有状况,针对Java 和.net等语言提供代码层事务追踪,整合浏览器与主机层面的功能,能够从应用的宏观视角分析系统运行的整体状态,同时基于端到端细化追踪分析代码及SQL执行性能。应用监控需同时支持应用端、浏览器端和移动端的应用性能监控。
他的身前,是一整块青玉雕凿成的天葬台。台身高三尺三寸,围圈精雕细琢着云斑羽纹,不时有矮细的蛇尾旋风在周围徘徊飘荡,为这个炎炎烈日下的晌午,平添了几分阴森凉意。
APM 主要包含应用程序性能指标检测(存活、资源占用、时延等)、应用程序关键事件检测、服务调用跟踪、监控告警等核心功能。
1.1.3 APM主要应用价值
对于IT 管理层:用户体验可量化,并与同行业的性能体验比较可以发现自身差距并进行优化,提升客户满意度。
对于IT 运维人员:实现了以应用运行情况分析为核心的运维,提高运维价值,对运维数据可视化,更快发现、更准确定位、更精准地做出应急决策。
对于业务:掌握用户体验关键业务的关系,提高业务决策。
1.2 网络IT运营平台建设要求
中国联通网络IT 运营平台通过大数据、云计算技术整合网络IT 运营资源,系统采用微服务架构、容器化部署,针对中国联通总部运营支撑自身系统及运维部OSS2.0 相关业务系统,主要包括智能监控、沃运维、资源管理、客服支撑、统一采集与指令适配、数据共享、沃网络、统一流程平台与省分平台系统等,实现对各业务系统自动化、智能化、可视化的运营,面向各级管理单位与建设商提供统一的IT运营与运维服务能力。
2 建设思路
2.1 IT运营平台对应用性能管理的需求
2.1.1 主动化管理需求
随着IT 技术的不断发展、IT 架构的日趋复杂,影响IT 系统可用性的主要因素不仅仅是基础设施的性能,更多的是上层应用的问题。而中国联通传统的基础资源监测自底向上对网络、服务器、存储、中间件、数据库等基础设备进行监测,这种条块化的监测方式,因为技术原因无法深入到应用系统内部进行监测,无法从应用角度去衡量应用可用性,应用出现异常后无法主动定位异常根源。本文所述项目需要通过字节码技术、网络旁路镜像收集与分析技术、日志分析技术等,收集应用系统运行状态和性能,自动生成应用系统组件调用关系,主动快速定位故障根源,为系统性能分析、优化、故障诊断提供准确依据。
通背拳在我国的流传区域较广,北方地区流传尤盛,有三个地区具有代表性:一是大连,二是沧州,三是北京牛街.由于各流派众多、内容风格不同,即使同为一个流派也会因传承分散的关系而存在不同程度的差异.通背拳一直存在多种叫法,一种是手臂的“臂”字,一种是脊背的“背”字.在拳义上,“背”与“臂”同义,已通贯之,似无原则区别[4].目前武术界多数人熟知这两种叫法,直至1983年《中国大百科全书·体育卷》发行,该书在武术类中把通背拳的“背”字,定写为脊背的“背”字,在名称上突出通背拳腰背发力、贯达肢体的技术特点.但迄今为止,在民间其它叫法仍在沿用[5].
2.1.2 一体化管理需求
系统支持对JVM 运行状态进行数据获取,包含JVM 中堆内存、非堆内存的使用情况、垃圾回收情况、会话和线程情况、异常散点捕获和展示。可以帮助分析系统是否有内存溢出或应用运行异常。
2.2 IT运营平台中APM建设目标
在种植高粱之前,种植人员需要采取筛选方式预先筛选饱实的种子。然后在对种子进行日晒,确保种子的出芽率。此外,种植人员还需要结合高粱种植的技术要点,加强对种子浸泡、以及日晒,提升种子的成活率,提升种子抵御能力,避免病虫害的侵袭。
出站的路上,几位火车站的保安大叔半开玩笑的关怀,一下就让人感受到了天津人的热情,似乎身上也暖和了许多!再往前走,一个开出租车的女司机,看我穿得清凉,主动要给我外套,我说不要紧,一会儿上车就暖和了,她还一个劲儿地要我赶紧穿上,而关键问题是我并不是她的客户。最后我还是固执地没有接受她的外套,只好道声“感谢”!
覆盖通信协议1~7层,通过事务处理过程的监控、模拟等手段实现OSS各业务系统端到端应用监控。
2.2.2 应用性能故障快速定位
配合饲料和血液饲养对菲牛蛭碱性磷酸酶(AKP)的影响见图2。配合饲料组肠道AKP活力显著高于血液组(P<0.05),AKP活力分别为(148.317±8.144)U/mg prot.和(18.664±1.627)U/mg prot.;配合饲料组嗉囔AKP活性稍高于血液组,差异性不显著(P>0.05),AKP活力分别为(14.333±1.154)U/mg prot.和(6.333±0.577)U/mg prot.。
2.2.3 应用性能全面优化
2.4.8 外部服务性能监控
2.3 APM在IT运营平台定位
1.1.2 APM核心功能
2.4 APM建设功能要求
根据中国联通OSS 各运维应用系统技术架构现状,提出如下IT运营平台APM模块建设功能要求。
2.4.1 多种开发语言与架构支持
可以对多种开发语言、框架及应用中间件的应用代码行执行时间、SQL 语句的执行时间以及应用中调用其他服务的时间等提供监控支持,多种开发语言支持,支持对J2EE,.net,PHP,Python,Ruby,Node.js 等开发语言的应用性能监控,支持的框架包括:
开发框架:CXF、JSF、Spring、Hibernate、HttpClient、Struts、EJB2、EJB3、OSB、Apache Turbine、Dorado、Netty。
应用服务器:Weblogic、Websphere、Tomcat、Jboss、Jetty、Resin、TongWeb。
传输中间件:RabbitMQ、ActiveMQ、IBM MQ、Tonglinkq、RocketMQ。
数据库:Oracle、SqlServer、MySQL、Postgres、DB2、Sybase、Informix、Mongodb、Redis、Memcached。
分布式协议:XMLRPC、hsfRPC、phpRPC、RMI、Dubbo、HTTP、Thrift。
2.4.2 应用拓扑自动发现
系统能够根据应用中间件的部署、URL 请求及参数,自动识别出不同的业务系统,并能跟踪、串联应用系统从前端至后端的整个交互过程,自动识别并生成业务应用端到端交易拓扑;能够在调用链视图上展示节点自身响应时间、调用的响应时间及吞吐量等关键性能指标。能够根据应用代码的调用关系,自动呈现该应用的全局调用拓扑图及单事务调用拓扑图,将性能瓶颈通过不同颜色及数据进行展现,基于应用环境建模,应用拓扑提供调用层、节点、事务、SQL、层间事务调用等性能信息,实现将业务、应用、逻辑的资源关联图展现。
2.4.3 跨应用调用链追踪
针对复杂的应用架构,提供“应用系统→集群→Agent”3层应用监控模型,能够将相同业务功能的节点定义为同一集群,通过3层应用架构视图,能够在一张拓扑中自动发现和展示完整的跨应用调用关系,从业务请求入口的角度,端到端地分析复杂应用系统分布式应用的运行情况。
2.4.4 异常性能剖析
2)生活习性。苹小食心虫在渭北果区每年发生2代,以老熟幼虫在树皮裂缝、剪锯口四周皮缝、吊枝绳等隐蔽处结茧越冬。渭北6月初越冬代成虫羽化,卵多产于果实胴部,卵期7天。孵化后蛀入果实20多天后,由原蛀孔边缘脱果,沿树干在隐蔽处做茧化蛹。7月中旬发生第1代成虫,7月下旬至8月上旬发生第2代,卵期4~5天,孵化后造成二次为害。9月上旬幼虫脱果越冬。成虫对糖醋液有趋性。
对于异常业务,能够根据监控管理需求进行线追踪。对单个事务进行自定义的性能剖析,可设定剖析名称、采样周期、最大跟踪数、持续时间参数。能够收集到关键事务的CPU消耗、线程和锁等数据。
对OSS 各业务系统各组件进行监控,迅速定位系统故障,并进行修复或提出修复建议。
在《角的概念》的教学中,教师由学生熟悉的生活引入,唤醒学生对角的初步认知,接着,教师又让学生们摸角,直观感受角以及借助多媒体让学生辨别角等活动,都为学生积累了丰富的感性经验,接着,教师再借助合情推理帮助学生把感性经验上升到理性认识,既促进了学生对角的概念知识的建构,又使学生的逻辑思维能力得到了提升。
2.4.5 单用户缓慢调用链追踪
调用链追踪记录单个用户缓慢请求在整个应用链路的调用详情,包括调用路径中每个节点的代码执行情况、数据库性能等。通过自动还原的单个用户请求调用链路,快速定位影响业务性能的故障节点,并可通过钻取故障节点,深入查找代码级原因。
2.4.6 SQL语句性能分析
系统能够监控应用系统中SQL 语句的执行情况,包括执行时间、吞吐量、数据库操作类型等,定位程序代码与SQL 语句的调用关系。同时根据预设阈值,自动捕获慢SQL 语句执行。提供SQL 语句执行时间、执行时长、调用堆栈信息。
由图6 a)可知,通过数值计算模拟、Peck公式计算与实地监测得到的地表沉降曲线变化趋势基本一致,均呈V形分布,且因为此时左线还未施工,沉降最大值偏向先行隧道(右线)一侧。随着盾构向前推进,各测点的沉降值均逐渐增大。
2.4.7 后台服务性能分析
2.2.1 多级应用系统监控
系统能够监控非Web事务,如:EJB、JMS等后台服务的平均响应时间、吞吐量、服务器CPU/内存使用情况等指标。
精确分析各业务系统及其组件占用资源情况,并根据各业务系统性能要求提出优化建议措施。
能够记录分析所监控的应用系统中调用其他外部服务的平均响应时间、执行时间比重、吞吐量等指标,并能够在拓扑视图上清晰展示。
2.4.9 监控事务自定义聚合
能够根据http 请求中的信息进行自定义汇聚,包括但不限于URI、请求方法、请求参数、cookie、session、请求主机IP 地址、请求主机端口号、客户端IP 地址;能够根据类或者方法的信息进行自定义汇聚,包括但不限于方法中的参数、类名、包名、方法名、线程ID、线程等。
2.4.10 自定义参数管理
平台能够对Web 请求过程中的参数进行收集和分析,包括URL、session id、cookie 中的参数、session 的属性、http请求参数、http header中的参数。
2.4.11 系统错误分析
式中,μi为土地利用经济效益系数,定义为各类用地单位面积生产总值的多年GM(1,1)预测平均值,时间范围以SD模型时间边界为准,即μi=(2155.522,3.987,0),单位为万元 /hm2。
应用系统错误率,是指应用程序返回异常数据的比率。异常数据指的是底层应用代码所抛出的异常信息、http 无法响应、Web 无响应等错误信息,提供异常发送时间、请求事务、主机名、请求参数、自定义参数、错误信息、调用栈信息等数据,与应用程序运行日志中的错误信息等无关。系统会根据错误类别进行归类展示。
2.4.12 应用告警分析与通知
提供了完善的预警和告警机制,将提供邮件、webhook 等告警方式,用户可以根据管理需要,对应用系统性能管理中涉及的关键指标以及相关人员进行定义,包括警报条件设置、应用系统设置、通知方式设置、人员设置等。异常性能指标告警指标包括JVM 内存、事务最大响应时间、平均响应时间、最小响应时间、错误次数错误率、无数据告警等。
2.4.13 JVM性能分析
中国联通IT 运营平台需构建一体化运维管理体系,通过前期科学的规划和设计,采用各类不同的数据采集和分析技术,改变以往数据孤岛的运维模式,从底层IT 基础设施资源到上层的应用业务,统一纳入到一体化运维管理平台中,做到“统一收集、统一存储、统一分析、统一展示”。协助各级领导、运维主管、运维人员快速、清晰地掌握各类IT 系统的运行状态和可用性,快速分析系统异常根源,降低IT查障、排障周期。
2.4.14 IT运营分析
系统实时跟踪应用性能并将应用性能信息存储到管理服务器的性能数据库中。用户可以通过管理界面实时查看应用系统过去一天、一周的历史性能记录,及时了解应用系统的各种异常波动。
2.5 APM应用场景及技术实现简析
以下以分布式链路监控追踪分析为例,阐述APM在IT运营平台的应用。
随着中国联通网络IT 应用架构的扩张,分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、消息收发、分布式数据库、分布式缓存、分布式对象存储、跨域调用,这些组件共同构成了繁杂的分布式网络,那现在的问题是一个请求经过了这些服务后出现了一个调用失败的问题,只知道有异常,但具体的异常在哪个服务引起的就需要进入每一个服务里面看日志,这样的处理效率是非常低的。
首先,DMSP/OLS全球夜间灯光遥感数据作为独特客观的探测遥感大数据,为研究东盟区域经济的发展提供了一条可靠、便利的途径。与传统的人工统计数据相比,全球夜间灯光数据获取途径便利,在掌握相关处理技术后,可以根据研究需要灵活处理;另外这一数据具有高度客观性和全球性,不受人为因素的干扰,尤其是对于那些缺乏有效统计数据或统计水平欠发达的东盟国家和地区而言,全球夜间灯光数据能作为区域经济发展程度的有效替代变量。
一个典型的分布式应用如图2所示。
图2 典型分布式应用场景
中国联通急需一种能追踪其调用链的APM 应用方案,以快速完成问题的定位。
2.5.1 应用场景
分布式调用链就是将一次分布式请求还原成调用链路,运维人员可通过客户端或Web 浏览器查看一次分布式请求的调用情况,比如各个节点上的耗时、请求具体打到了哪台机器上、每个服务节点的请求状态等。具体应用场景要求如下:
a)故障快速定位。通过调用链跟踪,一次请求的逻辑轨迹可以完整清晰地展示出来。开发中可以在业务日志中添加调用链ID,通过调用链结合业务日志快速定位错误信息。
b)各个调用环节的性能分析。在调用链的各个环节分别添加调用时延,可以分析系统的性能瓶颈,进行针对性的优化。通过分析各个环节的平均时延、QPS等信息,可以找到系统的薄弱环节,对一些模块做调整,如数据冗余等。
c)数据分析。调用链绑定业务后查看具体每条业务数据对应的链路问题,可以得到用户的行为路径,经过了哪些服务器上的哪个服务,可汇总分析应用在不同业务场景的性能表现。
d)生成服务调用拓扑图。通过可视化分布式系统的模块和它们之间的相互联系来理解系统拓扑。点击某个节点会展示这个模块的详情,比如它当前的状态和请求数量。
2.5.2 技术实现
摩天轮结构采用响应谱法进行的地震计算时,所有材料的非线性特性均失效;轿厢及轿厢活载荷按照《抗震规范》要求,取:“轿厢自重+0.5×轿厢活载”作为重力载荷代表值,采用集中质量单元MASS21模拟,其余结构采用空间梁单元BEAM188模拟[6]。建立的摩天轮大盘有限元模型如图2。
服务追踪体系,可参照Google 的Dapper 的体系,通过跟踪请求的处理过程,来对应用系统在前后端处理、服务端调用的性能消耗进行跟踪(包括每个请求的完整调用链路和每个服务的性能数据),方便工程师快速定位问题。分布式链路监控追踪分析可选择如下技术。
Zipkin:参考Dapper 的体系实现,为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪的目的。Zipkin 通过Brave 的组件来实现对应用内部的性能分析数据采集,通过实现一系列的Java 拦截器,来做到对http/servlet 请求、数据库访问的调用过程跟踪。然后通过在spring 类的配置文件里加入这些拦截器,完成对Java应用的性能数据采集。
“王小景同学,你觉得大东沟海战,北洋水师失利的原因有哪些?”詹寻站在显示屏右边的电子地图前,看着用红蓝箭头分别标注的清军和日军的路线。
Pinpoint:Pinpoint 是开源在github 上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的。pinpoint通过JavaAgent的机制来做字节码代码植入,实现加入traceid 和抓取性能数据的目的。
技术对比如表1所示。
系统可根据现有应用系统的技术架构灵活地采用分布式链路监控追踪技术。
表1 技术对比
3 结束语
中国联通IT运营平台合理采用APM 技术,可有效增强IT 应用性能管理水平,应对虚拟化技术、云化技术、容器技术、集群化技术发展下IT 系统带来的管理挑战,能够对中国联通网络IT 的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本(TCO)。
参考文献:
[1]RABL T,GÓMEZ-VILLAMOR S,SADOGHI M,et al.Solving big data challenges for enterprise application performance management[J].Proceedings of the Vldb Endowment,2012,5(12):1724-1735.
[2]HEGER C,VAN HOORN A,MANN M,et al.Application Performance Management:State of the Art and Challenges for the Future[C]//the 8th ACM/SPEC,2017.
[3]田兵,王玮,苏琦,等.基于微服务架构的应用性能监控平台研究[J].信息技术与信息化,2018(1):125-128.
[4]王强.应用性能管理系统的设计与实现[J].计算机与网络,2018,44(24):68-70.
[5]赖歆.基于zipkin 的分布式跟踪系统实现方案[J].信息通信,2015(11):112-113.
[6]宋义华,班孝明.应用性能管理分析与研究[J].金融科技时代,2014(10):60-62.
[7]王锐,陈丽.应用性能管理的设计方法研究[J].计算机应用与软件,2009,26(9):198-199.
[8]刘沐煊.关于云环境中Web应用的微服务架构评估研究[J].科技资讯,2018,16(23):7,9.
[9]智能化运维之IT 系统统一监控预研报告[EB/OL].[2019-06-12].https://wenku.baidu.com.
[10]智能IT运维[EB/OL].[2019-06-12].https://wenku.baidu.com.
[11]可视化智能IT 运维系统[EB/OL].[2019-06-12].https://wenku.baidu.com.
[12]应用性能管理(APM)综述[EB/OL].[2019-06-12].https://blog.csdn.net/.
[13]APM(应用性能管理)与Dapper 原理介绍[EB/OL].[2019-06-12].https://blog.csdn.net/.
[14]应用性能管理解决方案[EB/OL].[2019-06-12].https://blog.csdn.net/.
[15]三款典型的APM 产品选型分析[EB/OL].[2019-06-12].https://blog.csdn.net/.
[16]应用性能管理(APM)的一点资料[EB/OL].[2019-06-12].https://blog.csdn.net/.
Research on Application Scheme of APM in IT Operation Platform of China Unicom
Li Heng1,Yang Jieyan1,Mo Qiong2(1.China United Network Communications Group Co.,Ltd.,Beijing 100033,China;2.China Information Technology Designing&Consulting Institute Co.,Ltd.Zhengzhou Branch,Zhengzhou 450007,China)
Abstract: As an important part of the whole stack monitoring,China Unicom's monitoring and management system for computer room,IT equipment and other infrastructure has matured and improved,but the monitoring and management of IT applications is relatively weak.It mainly studies the construction mode of application performance management module of IT operation platform of China Unicom.Starting with APM technology model,core functions and application value,it puts forward the construction requirements,objectives,system positioning and functional requirements of APM module of China Unicom IT operation system,and discusses the application scenarios of APM.
Keywords: IT operation platform;Application performance management&monitoring;Construction mode
doi: 10.12045/j.issn.1007-3043.2019.11.017
中图分类号: TN929.5
文献标识码: A
文章编号: 1007-3043(2019)11-0084-05
收稿日期: 2019-08-12
引用格式: 李衡,杨洁艳,莫穹.APM在中国联通IT运营平台应用方案研究[J].邮电设计技术,2019(11):84-88.
作者简介: 李衡,毕业于西安电子科技大学,主要从事网络IT的研发、运营和维护工作;杨洁艳,毕业于北京邮电大学,主要从事网络IT的研发、运营和维护工作;莫穹,毕业于哈尔滨工程大学,主要从事OSS IT系统的咨询设计工作。
标签:IT运营平台论文; 应用性能管理论文; 建设模式论文; 中国联合网络通信集团有限公司论文; 中讯邮电咨询设计院有限公司郑州分公司论文;