快速构建能承载海量数据的数字化体验监控平台数字化体验监控技术让基础设施及运维领导人能够全面深入地监控和分析终端用户和社区与数字化应用,服务和业务之间的交互细节首先简单介绍一下什么是数字化体验监控。数字化体验监控(DEM,DigitalExperienceMonitoring)是多个来源采集的数据集组合起,通过将可视化,分析和机器学习功能方法,来实现可用性和性能监控的方法。通过观察和分析数据集,来优化应用和服务,达到提升终端,人和设备的体验的目的。通常,如果想构建一套能够承载海量数据的具有实时数据监控,日志搜索和分析功能的数字化体验监控平台,一般需要完成以下几个步骤:1.首先需要开发包括移动端,web端等在内的数据采集探针,收集包括首开,crash,http性能,卡顿,日志等相关的数据,并进行上报;2.搭建一个收点网关,进行一些数据清洗和过滤;3.搭建消息队列服务缓存数据,如kafka;4.搭建存储服务,如HDFS、Elasticsearch等,将数据落存储;5.搭建实时,离线数据分析平台,如Spark、Flink等;6.数据可视化展示、告警系统。实现以上功能,不仅需要有一个资深大数据背景的技术团队和客户端团队的支撑以及漫长的开发周期,系统上线后仍需持续投入精力持续维护迭代,以应对诸如逐步上升的数据量和快速变化的需求;若是对平台的横向扩展能力没考虑周全,众多开源组件崩盘的风险很可能会让之前的投入白费。七牛大数据平台Pandora七牛大数据平台Pandora是一套面向海量数据,能够让基础技术人员轻松管理大数据传输、计算、存储和分析的大数据PaaS平台,提供简单、高效、开放的一站式大数据服务,核心服务及功能包括大数据工作流引擎、时序数据库、日志检索服务、Spark服务、报表工作室。同时提供了海量离线数据分析等众多大数据分析工具支持,并结合七牛云生态,赋能应用大数据的核心能力,让用户可将资源精力聚焦于业务价值提升而无需担忧复杂的大数据技术和部署运维难题。七牛数字化体验监控平台DEM七牛数字化体验管理平台DEM(DigitalExperienceManagement)是基于七牛大数据平台Pandora及对象存储服务Kodo构建的一套支持全平台面向海量数据的数字化体验管理平台。使用七牛DEM能够快速附能应用海量终端用户体验数据监控和分析的能力,免去搭建和运维迭代大数据平台的烦恼。移动APP常见痛点崩溃定位•快速暴露、发现、定位、修复•统计错误,报警•长时间保存•机器学习分析交互响应慢•ANR定位•界面卡顿•API调用慢网络问题•连接超时•网络错误•CDN问题•客户端网络信息收集日志分析•客户端上报日志•长时间保存•机器学习分析七牛DEM特点•客户端开源,用户可以查看,修改,定制•海量数据,永久存储•自定义数据上报•网络诊断数据•开放式的数据流,结合Pandora大数据平台,做各种离线,实时分析•日志上报•按真实数据量付费DEM架构七牛DEM是构建在七牛大数据平台Pandora之上的SaaS产品,其构成组件如下:准备工作在使用DEM之前,您必须做好以下准备工作:•拥有七牛云账号;•到七牛云官网申请AccessKey和SecretKey;•联系客服或销售人员开通Pandora及DEM相关服务;快速开始创建第一个App在浏览器中打开我们的主页使用您的七牛账号登录,然后即可如下图所示,快速创建您的第一个App。•在创建App时,您可以选择开启或关闭各个功能组件,如崩溃上报、网络性能上报和App卡顿监控,这些开关默认都是开启的•App创建成功之后,请到该App的APP设置页面,获取AppKey,供相关SDK上报数据使用安装各平台的探针SDKiOSsdk首先前往使用Coacoapods安装iOSSDK然后,只需如下两行代码,您便可将sdk集成到您的App中:AndroidSDK首先前往安装AndroidSDK然后您只需在“MainActivity”中的onResume()方法(如未找到该方法请新增)中初始化AndroidAPMSDK1.DEMManager.start(apm.domain.com,appkey,this.getApplicationContext());2.WebSDK首先前往安装WebSDK然后将pre-dem-web.js文件引入到你需要的html页面中,然后初始化SDK.至此您已经完成了探针SDK的集成,当您下次运行您的App时,SDK将收集相关体验监控数据并上报到七牛DEM平台。是的,就是如此简单。在DEM控制台查看App体验数据crash监控当您的app发生crash后,在控制台您能够看到如下图所示的crash日志,目前我们支持按照时间进行过滤,另外也可以按照机型系统版本等多种维度进行查询。点击详情之后可以看到crash的详情,这样您可以快速排查并解决相关错误。网络诊断日志我们的SDK提供有发起网络诊断的接口,当您的App主动调用该接口之后,SDK将进行Ping,HTTPrequest等多种网络诊断,并将结果将发上报到七牛DEM平台,在控制台您能够看到如下图所示的网络诊断日志,目前我们支持按照时间进行过滤,另外也可以按照机型系统版本等多种维度进行查询网络性能监控当您的app产生http请求或使用内置webview打开了网页,在控制台可以看到如下图所示统计分析图标,展示包括下载速度以及错误率等多个维度的统计信息。卡顿监控当您的app发生卡顿后,在控制台您能够看到如下图所示的卡顿监控日志,目前我们支持按照时间进行过滤,另外也可以按照机型系统版本等多种维度进行查询。点击详情之后可以看到卡顿的详情,这样您可以快速排查并解决相关错误。日志上报我们在sdk中提供日志采集的接口,当您调用之后sdk将采集您的日志并上报,在控制台您能够看到如下图所示的日志,目前我们支持按照时间进行过滤,另外也可以按照机型系统版本等多种维度进行查询。自定义上报我们再sdk中也提供了自定义事件的上报接口,通过该接口,您能够自由上报想上报的事件,上报的数据将存储于Pandora大数据平台,您可以自由新建计算任务进行统计并导出到下游的持久化组件中,然后选择自己开发或grafana等来进行相关数据的展示。详见Pandora使用文档()