云智慧透视宝前端架构那些事儿

2019年05月15日 来源:

当移动互联与云计算出现后,用户不必再和企业的服务人员打交道,而是通过移动APP来直接获取服务,这就造成用户体验前置。传统的ITOM产品由于缺少有效的移动端和云端监管手段,难以发现用户体验前置带来的性能瓶颈,云智慧面向业务的端到端性能管理平台透视宝以业务的视角,对全部用户体验交付链条的每一个环节进行数据收集和分析,准确发现和定位影响用户体验的任何性能问题。

目前透视宝前端运用包括以下几个,关系图以下所示

透视宝通过主站与用户进行直接交互,为用户提供站、移动App、主机、服务等运用的性能数据。用户认证、数据中心、文档中心运用都是直接或间接为主站提供服务,本次说明只针对透视宝主站,以下使用的前端均指主站前端服务。

服务布局

透视宝前端涉及到以下几个服务:

DataSource为后端数据系统,通常情况下的要求流程以下:用户发出请求后首先访问到Tengine,Tengine作为反向代理把请求转发到Apache,Apache调用PHP首先从Redis获取信息,若无数据则从Mysql中补充,如果要求含有主机、服务、运用等数据则会从Elasticsearch中获得。

前端应用架构

云智慧透视宝前端使用PHP作为开发语言,使用了Seaslog的日志扩展,Cwop的用户管理扩大,Redis扩大,yaf扩大(CwopServer端依赖),其作用如下:

Seaslog:PHP日志模块,为开发人员提供线上线下日志情况的分析材料

Curl:PHP Rest服务基础,为PHP调用后端Api接口提供支持

Yaf:Cwop的Server为yaf框架开发,依赖PHP的yaf框架

Cwop:Cwop的php客户端

PHP使用目前流行的Laravel框架进行开发,前端运行流程如下所示:

Laravel提供了多语言,数据库,缓存,邮件,依赖包管理等功能,极大提高了透视宝的开发效力,以下是透视宝前端两个比较重要的功能:

itTest - Laravel集成并强化了PHP的单元测试功能,结合谷歌插件,使开发人员可以完成端到端的调试工作;

tisan命令行工具 - 结合Linux的Crontab,完成了邮件发送,SmartAgent插件管理、心跳管理,告警交互等功能,单独使用时可以执行脚本完成数据库的自动化修改;

从PHP处理数据到前端页面展现我们使用了目前流行的:

otstrapCss框架,使前端页面美观自适

ajs为透视宝使用的JS模块选择加载框架

harts作为透视宝使用的绘图工具,其适应性,可操作性都是非常良好的,透视宝所有版面的图片基本都是Echarts生成的。

数据收集流程

透视宝数据采集分为三个来源:

1.用户安装SmartAgent,插件采集,通过SendProxy发送的数据。

2.用户安装SmartAgent插件后注入JS,或手动注入JS,JS收集的数据。

3.移动端嵌入SDK,收集移动APP数据。

如下图所示:

数据收集使用Sendproxy为SmartAgent的调度器,所有SmartAgent的数据都经过Sendproxy进行统一调度发送。

其主要优势在于:

发送队列,保证各插件数据发送的稳定性

可以作为代理,部署都可联外的主机,可以保证局域非联环境的数据发送

端到端实现原理

端到端是透视宝的重要功能特点,其实现原理简单地说,把要求流程中所有途经节点都记录下来,通过code堆栈和服务采集的数据还原请求所遍历的进程。

上图是一个请求拓扑,是典型的Nginx Proxy,Apache Server,PHP解析,Mysql DB的架构,请求经过了Nginx-Apache-PHP-MysqlApi,在各节点上点击可以查看:

请求当时各服务的运行状态

要求的代码堆栈,SQL连接,异常信息,连接状态

实现原理如下(默许各节点已安装了我们的SmartAgent):

要求到Nginx时,Nginx在要求中添加唯一id标志,然后转发到Apache,Apache在请求中收到我们的id标志,则会延用此id,请求交到PHP,同理PHP,Mysql等也会在请求中延用此id标志。

PHP获取数据处理完成后请求结束,开始响应过程,PHP在响应信息中添加相同的id标志,交还给Apache,Apache返回Nginx时会在响应信息中延用此id,Nginx把内容发送到浏览器静态页面时,连同id与我们的JS文件发送到用户端,用户端JS捕获浏览器数据后发送到我们的后端DataSource处理。

透视宝获取到PHP运用带有此id的请求数据时,可以查到Nginx,Apache的要求信息,也可以获得Mysql,Api的请求信息,端到端的拓扑图也就构成了,通过id可心获取终端用户的信息。如果终点的Api也使用了我们的CodeAgent,则会转化成运用,与前面的PHP一样继续向后延伸,否则只显示请求的Api信息,获取不到Code详情。

在上述进程中,Nginx Agent,Apache Agent,Mysql Agent一直延续发送数据,所以当点击Nginx时就可以根据请求时间获得Nginx的即时状态,为用户端到端的分析提供强有力的支持。

下面提供一个前后端数据交互的完整点的简图,其中DataSource对Mysql的操作是通过透视宝应用的接口实现的

产后预防感染吃什么好
人流后恢复要多久
什么症状是产后感染
相关文章
  • 卤煮素鸡#黑人牙膏一招制胜#的做法
    卤煮素鸡#黑人牙膏一招制胜#的做法

    卤煮素鸡#黑人牙膏一招制胜#的做法卤素鸡是一种汉族豆制食品 ,以素仿荤,口感与味道与原肉难以分辨,风味独特。我的微信公号【个性胜过姿色】,关注后即可成为小姿的好友,每日更新美食制作,在制作过程中有任何疑问都可以咨询。难度:切墩(初级) 时...

  • 曼谷洪水围困地铁出入口
    曼谷洪水围困地铁出入口

    泰国官方3日宣布,首都曼谷五分之一地区已浸泡在水中,劝告受影响的百万居民疏散。但是,许多曼谷民众依然不理会当局的忠告,冒着触电、传染病和食水和粮食短缺等危险,选择留在被水淹没的家园。图为11月3日,曼谷一名男子划着小船行驶在被洪水淹没的街道...

  • 市委组织部到敬南镇开展帮促活动
    市委组织部到敬南镇开展帮促活动

    为深入开展万名干部下基层,扎扎实实帮群众活动。今年以来,敬南镇降雨量较小,旱情极为严重,90%的坡地粮食绝收,稻田出现干裂,禾苗枯萎。当前,全镇农作物受灾严重,出现严重的人畜饮水困难,处在石山地区的菜子湾村旱情尤为严重。牟庆芳一直牵挂着群...

  • 韩国新总统被指冷落中国媒体质问没有中国行吗
    韩国新总统被指冷落中国媒体质问没有中国行吗

    来源:环球时报韩国《京乡》12月23日文章,原题:李明博当选不能忘记中国 李明博当选总统后不久,最先与美国总统布什通了。随后,李明博又与日本首相福田康夫通了?没有中国行吗?二战结束后,东西阵营展开冷战,在朝鲜半岛形成了南方三角安保同盟体系(...

  • 解密最优秀的将领粟裕为何三辞元帅
    解密最优秀的将领粟裕为何三辞元帅

    从授衔时的现任职务来看,粟裕也是合适的人选。1954年10月31日,中央人民政府人民革命军事委员会总参谋部,改称为中国人民解放军总参谋部,由隶属人民革命军事委员会,改为隶属中共中央军委。总参谋部下辖:作战部、情报部、技术部、通信部、军务部、装备...

  • 俄罗斯大火威胁核设施政府紧急护核
    俄罗斯大火威胁核设施政府紧急护核

    摘要:俄罗斯总统德米特里·梅德韦杰夫4日下令解职一批未能阻止森林大火连日肆虐的军官。多个强力部门设法阻止火势蔓延至设在萨罗夫市的绝密核研究设施。8月4日,一名戴着口罩的女子在莫斯科街头拍照。由于受周围森林火灾影响,莫斯科当日被烟雾笼罩。新...