基于RUM的在线网站监控设计与实现
张华
(中国移动(深圳)有限公司,深圳 518000)
摘 要随着竞争加剧,电信运营商从原来拼抢用户资源的时代开始向比拼内容、比拼服务转变,保障电子渠道的正常稳定运行更是重中之重。但现有支撑系统的监控手段,对出现的用户投诉系统响应慢、不可用等情况,却没有好的方法去及时发现及时解决。本文基于HP公司RUM产品以及J2EE技术,设计并实现了一套在线网站的监控系统。实践表明,该系统可以实时掌握用户访问电子渠道时的感知情况,实现用户角度的在线网站监控。
关键词RUM;流量监测;J2EE;门户网站
电信运营商在实体营业厅办理每笔业务的成本在10元以上,而通过电子渠道,成本将降至1~2角。相比实体渠道而言,电子渠道有以下4个方面的优势:提供方便快捷服务、降低营销服务成本、降低实体厅压力、增强客户品牌认知,这些优势促进了电子渠道的兴起,通过低成本渠道将具有竞争力的产品和服务顺利的传递到客户,已成为提升核心竞争力的重要手段。电子渠道在满足客户查询以及受理需求的同时,怎样保障运行的正常、提前预警故障,减少对客户的影响,从而达到留住客户的效果。总的来说,影响电子渠道体验和感知的影响因素可以分成两个方面:前端服务(包括查询速度、数据及时性、易用性、展示界面、业务导航等)和后端支撑(包括网络质量、支撑系统等),而服务和支撑水平好坏体现在客户使用电子渠道的体验和感知上。怎样从用户角度去掌握和评价电子渠道支撑用户访问情况,是运维人员关注和迫切希望解决的难题。本文针对电子渠道中的网上营业厅,基于HP公司流量监测技术产品RUM以及J2EE技术,设计并实现了一套在线网站监控系统,用于从用户角度出发,实时展现网上营业厅服务用户质量。
针对网上营业厅之类的门户网站,目前业内主要使用两种监控技术,分别是主动探测技术以及页面标记法。
1.1 主动探测技术
主动探测技术主要是通过模拟用户实际操作和系统做交互。因为访问方法和实际用户访问基本一致,对系统来讲,可认为该访问发起方为真实用户。按照实现原理的不同,主动探测技术实现分为两种:回放方式探测和协议方式探测。
1.1.1 回放方式探测
通过控制浏览器或者系统软件,将要在系统上做的操作以代码的方式发送到浏览器或系统软件上执行,例如查询网上营业厅某月账单,探测过程为打开业务链接URL、点击某个按钮等,浏览器或者系统软件的表现和人为操作完全一致。
业界比较知名的回放方式探测软件为QTP(Quick Test Professional)、RFT(Rational Functional Tester)、Selenium、WebDriver以及SilkTest,QTP和RFT可以适用于任何系统,Selenium、WebDriver、SilkTest仅适用于网站。
1.1.2 协议方式探测
当客户操作浏览器或者系统软件时,都是通过预设的协议和服务器端进行交互,例如客户访问网上营业厅是通过HTTP/HTTPS协议和服务器端进行实际交互。对服务器端来讲,仅要求服务请求为特定协议包,不关心请求来源的客户端实现方式,只要协议包格式满足要求即可。协议方式探测通过模拟协议包和服务器端做实际交互。
主动探测方式的主要问题是需要解决探测过程中的图形验证码、短信随机码等安全验证手段,而出于被光学字符识别(OCR,Optical Character Recognition)后严重后果的担忧,门户网站验证码有越来越复杂的趋势,自动识别越来越困难。
1.2 页面标记法
页面标记法采用的技术称之为Page Tagging,就像在页面上安装了摄像头,把访问者在页面上的一举一动都记录下来,然后传递给相关的需要了解这个网站的组织或者个人。
从原理讲,页面标记实际上是一段可以被浏览器执行的JavaScript程序语句,放在页面的HTML源文件中。当页面被客户访问时,这段页面标记JavaScript程序就会被执行, 作用是如实的把访问者在页面上的互动访问行为不间断的发送给这个页面标记所对应的网站分析工具的服务器,这与摄像头把拍摄到的图像传送给图像存储服务器是完全一样的。网站分析工具服务器收到数据后,会进一步处理这些数据,并且把数据翻译成人们能够阅读和分析的图形、表格以及数据文件。业界比较知名的页面标记工具为WebTrends。
页面标记法是一种不错的监控网站的方法,但其实现需要修改门户网站代码,存在使用风险。
2.1 流量监测原理
如图1所示,用户访问门户网站时,访问请求通常经由一个交换机后,才能和支撑系统进行交互。当系统处理完用户请求后,结果经由该交换机反馈给最终用户。也就是说,所有用户请求和系统反馈在路径上均经由一个关键交换机,该交换机通常位于支撑系统的边界处,常称之为接入交换机。通过接入交换机镜像端口,将用户和支撑系统交互的HTTP和HTTPS报文抓取下来,经过如下流程即可获取到关键业务的访问信息以及结果信息。
(1)通过接入交换机获取交互流量数据分组,数据分组主要为HTTP和HTTPS协议包。为减少解析压力,通过目的地IP和端口过滤掉冗余报文数据。例如网上营业厅的Web服务器IP为172.16.3.10、端口为8081,那么IP和端口无法完全匹配的报文被直接丢弃。
(2)对满足要求的协议包报文头进行解析。如果是HTTPS协议,需要对应的解密密钥,否则无法解析。
图1 常见网络架构图
通过业务URL过滤掉非需要的业务报文。
通过关键字在报文体中搜索,判定业务的访问或办理结果。
通过业务请求进入和结果返回经过交换机的时间,可以得到支撑系统处理该业务请求的耗时情况。
2.2 真实用户监控(RUM)简介
RUM(Real User Monitoring)是HP公司业务可用性中心(BAC,Business Availability Center)的重要组成部分,其实现采用了流量监测技术,其产品主要针对系统前端Web流量进行监测,获取用户角度的业务响应状况。RUM可以7×24 h每天不间断的监测,可以从使用者的实际操作状况,侦测出目前的系统反应状况是否有变差,甚至可以监测到使用者访问的有问题的网页在哪里。在实际的应用上,RUM是属于服务器端的监测模式,所以并不需要在客户端部署监测点,如此一来只需要监测几个特定的入口网络,即可达到全面监测的目的。
RUM产品架构图如图2所示,它包含了3个主要组件: 采集探针(Probe)、引擎(Engine)和MySQL数据库,其所负责的功能分别如下。
采集探针:纯软件产品,部署在采集流量的主机上,而主机直接连接到交换机上。用户的流量当最终通过交换机时,探针程序通过所在主机的网卡可以收集到最终用户和应用服务器(如Web Server)交互时的请求(Requests)及响应(Response)的相关数据并进行数据过滤处理。
(1)引擎:纯软件产品,负责接收探针收集到的数据,并将这些数据依据预设的流程加以整理与组合。首先引擎程序会将所收集到的应用、页面、交易、会话、最终用户、服务器等数据加以整理归类,然后再依据所设定的告警、报表与仪表板的项目加以分类处理。
(2)MySQL数据库:负责存放引擎尚未传递到监控系统的数据,在网络发生暂时性中断时,可以保存所有的分析数据,避免数据丢失。另外MySQL数据库也会存放引擎相关的配置信息。
3.1 监控系统架构
软件架构如图3所示,参照IT行业内软件架构设计的成熟经验,共分为4层,从上到下分别是展示层、数据层、控制层以及采集层。
3.1.1 展示层
展示层是整个系统的入口,通过统一的门户Portal,主要提供两方面功能。一是可视化、多维度、快速展现监控结果和告警信息;二是通过可视化的友好界面,配置需要采集的网厅关键业务信息、告警策略以及事件策略。
3.1.2 数据层
用于处理采集引擎采集到的用户和网上营业厅交互的数据信息,处理完成的数据将依据运维人员需求以及管理需求进行分析、汇总,以方便展示层快速展现。
图2 RUM架构图
3.1.3 业务控制层
用于控制整个监控系统的业务逻辑。核心模块的功能如下。
(1)通过调度管理模块控制采集业务的频率和时间。
(2)通过配置管理控制采集的业务。
(3)通过配置同步模块将需要采集的业务数据和频率同步到RUM软件中。
(4)通过子监控模块监控系统自身运行情况以及数据采集情况,并自动将告警信息发送到数据层告警模块。
3.1.4 数据采集层
用于采集用户和网上营业厅交互的业务数据,并依据控制层配置管理模块中的IP、端口信息以及业务URL信息,过滤、清洗不需要的报文,减少后期解析报文的工作量。
3.2 监控系统工作流程
本监控系统角色和工作流程如图4所示。系统角色包含管理人员、业务人员以及维护人员,以保证整个系统的稳定运行以及发现问题的及时处理,系统的工作流程如下。
(1)管理人员依据系统关键点或隐患点提出新的监控要求。
(2)业务人员分析要求,并依据要求制定出监控范围和监控指标,范围涵盖需监控的关键业务、关键应用环节。监控指标指成功率、时长、业务量、用户数等。在此基础上和管理人员确认需求并作为下一步的输入。
(3)业务人员依据定稿需求完成监控设计规划,并制定监控流程和告警规则。
(4)维护人员依据制定的监控和告警流程,在系统配置界面上进行业务规则、告警规则以及监控频率的配置,然后通过调试进行配置确认工作,以确保配置的正确有效,最后同步到RUM软件上使用。
(5)在系统正式运行后,维护人员依据监控结果数据进行分析。针对异常的数据,如果是因为网站更新引起的配置异常,更新业务配置并进行调试;如果是网站异常,知会网站维护人员跟进解决。
图3 全流程监控系统架构图
图4 监控系统工作流程图
4.1 数据采集自动化功能实现
本系统的数据采集基于RUM产品实现,虽然RUM提供了强大的、全面的监控功能,但并不能完全满足运营监控的实际需要,故本系统中使用RUM软件获取用户和系统的交互信息,主要处理HTTP以及HTTPS协议的数据。当从交换机镜像端口获取到数据流量后,经过采集探针的解析,转换为标准格式的业务和流程数据。
因为仅采用了RUM作为数据采集工具,从整个监控系统的配置入口统一、易维护考虑,所有业务信息的配置需要自行开发实现,并记录到数据库中,然后通过RUM产品的API接口,将配置信息同步到RUM中使用。
表1为业务信息配置表,用于指定业务信息。表格中URL字段和参数字段用于和报文头中请求地址进行比对,以判定当前报文是否为业务对应的报文,成功关键字用于检索报文体,以判定用户的访问结果是否成功。
表2为资源信息配置表,用于架构中的采集层过滤冗余数据信息。通过地址、端口两个字段和报文头的比对,可以将非需要的报文快速丢弃。
4.2 业务数据汇总与展示实现
从运维需求以及管理需求出发,将最终数据的展示维度分为时间、业务名称、浏览器类型、来访地市、号码归属地市以及品牌,将展示指标分为业务量、成功率、客户感知时长、服务器时长以及用户数。考虑到灵活展示以及动态扩展字段的需要,采用ESSBASE软件作为数据的展示软件,并集成到监控系统中,在浏览器中通过维度和指标的增、删以及下钻功能动态、灵活展现。
某电信运营商某省份采用本文所述方案建立了针对网上营业厅的实时监控系统,通过业务流量信息的获取和分析,得到关键业务多个维度的成功率、业务量、时长等信息。如图5所示,2013年8月21日,监控系统发现账户余额查询等多个业务成功率明显下降,系统按照预设的成功率阀值进行了告警,运维人员介入后,通过下钻实时话费查询业务到地市维度,发现B、E、F、G 4个地市的成功率为0%,确定本次故障影响了如上4个地市,将该4个地市的用户访问快速切换到了应急系统后,用户恢复访问。后续分析发现,发现该问题的原因为某BOSS分库出现故障,覆盖范围恰好为该4个地市。
表1 业务信息配置表
表2 资源信息配置表
图5 网厅监控展示图
本文给出了基于HP RUM产品的在线网站监控系统的设计和实现方法。该系统从最终用户使用角度出发,充分利用可靠的网络资源,帮助运维人员快速掌握系统支撑用户访问情况,提升问题的主动发现和提前预警能力,如从客户角度体验上线割接前后、业务高峰期间的系统健康度等。经统计,该监控系统上线后,业务可用性与感知投诉量下降了20%,BOSS故障影响时间减少了
10 min(每次),业务故障预警及时性提升了10 min。
参考文献
[1]邢伟超, 高晓桐. 网页自动化测试框架的设计与实现[J]. 计算机应用与软件, 2012(9).
[2]尹高嵩, 范辉. Web负载测试的研究与应用[J]. 微机发展, 2004(10).
[3]常润梅, 孟利青. 基于业务探测技术的电信服务体系研究[J].数字通信, 2013(5).
[4]陈绍英, 金成姬, 冯艳硕. LoadRunner虚拟用户开发指南[M].北京:电子工业出版社, 2009.
[5]温昱. 软件架构设计[M]. 北京:电子工业出版社, 2007.
Design and implementation of the online website monitoring based on RUM
ZHANG Hua
(China Mobile (Shenzhen)Co., Ltd., Shenzhen 518000, China)
Abstract As competition grows intensively, telecom operators begins to shift from the original era of grabbing user resources to the competing for content and services, and ensuring normal and stable operation of the electronic channels is a top priority. However, the existing monitoring tools of support system have no good way to discover and resolve timely the cases that the user complaints that the system response is slow or unavailable. A monitoring system of the online website is designed and implemented in this paper based on RUM product of HP company and J2EE technology. The practice shows that this system can perceive the situation when a user access to electronic channels in a real-time manner and achieve online website monitoring in the user’s perspective.
Keywords RUM; traffi c monitoring; J2EE; Web portals
收稿日期:2015-01-08
文章编号1008-5599(2015)02-0047-06
文献标识码A
中图分类号TN915