全链路监控分析实战(一)

面试问题:

1、你们的监控方案怎么设计的?如何分析定位响应时间慢的问题?

2、线程阻塞、压力上不去、内存泄漏的问题你是怎么定位的?

这个最常见的问题,很少有回答让面试官满意的,来吧,这里给你答案。

这篇文章讲解响应时间拆分的环境部署,下篇文章介绍如何定位JVM线程阻塞问题。

这套环境你能部署下来,薪资多要3K以上没问题

Skywalking——目前最强悍的全链路分布式性能管理监控方案,监控平台涵盖前端页面,Java, .Net Core, PHP, NodeJS, Golang, LUA, C++等。

不懂响应时间拆分,你敢说会做性能测试?不过从今天开始你就会啦

加微信huice666,进群下载资料、视频并免费获取技术支持!

话不多说,先来几张项目实战效果图:

1、链路监控的起点——浏览器

全链路监控分析实战(一)_第1张图片

基于前端页面的业务访问模型和性能数据统计,一目了然,之前只能在收费APM中才有的功能,现在也可以尽情使用啦!

Skywalking对前端监控的资料非常少,有不少甚至是错误的,如需帮助可以加群或者微信留言。

2、后端应用及微服务平台监控

1)调用关系拓扑图

全链路监控分析实战(一)_第2张图片

2)响应时间分解图

全链路监控分析实战(一)_第3张图片 

拆分响应时间是分析和定位瓶颈的关键所在,有了它,分析、定位瓶颈就有底气了。

是不是很高大上?是不是很心动?开干,先把环境搞起来!

3、监控架构解析

1)官方监控架构

全链路监控分析实战(一)_第4张图片

官方的架构图很详细,也很高大上,再来个慧测实战项目简化版的

全链路监控分析实战(一)_第5张图片

举例说明一下Java应用监控基本流程:

  1. 安装Skywalking的JavaAgent到被测服务器进行信息采集;
  2. 将采集到的信息发送给Skywalking-OAP服务;
  3. Skywalking-OAP服务将数据写入到Elasticsearch数据库;
  4. 通过浏览器访问Skywalking-UI服务,即可看到炫酷的数据展示界面。

整体架构主要包括三个部分:

  • 探针(Skywalking-Agent)
    负责进行收集数据,包括Tracing和Metrics的数据,agent会被安装到服务所在的服务器上,以方便数据的获取。如果基于Docker环境部署项目,强烈建议制作项目镜像文件时将对应探针一并打包,慧测的实战项目平台就基于这种方式,非常简单、方便。(如果不清楚怎么做,可以微信给我留言)。
  • 可观测性分析平台(Skywalking-OAP)
    接收探针发送的数据,并在内存中使用分析引擎(Analysis Core)进行数据的整合运算,然后将数据存储到对应的存储介质上,比如Elasticsearch、MySQL数据库,建议使用Elasticsearch。
  • 数据展示界面(Skywalking-UI)
    炫酷的界面,Skywalking提供单独的UI界面进行数据的查看,通过UI调用OAP提供的接口,获取对应的数据然后进行展示。

4、监控平台环境部署实战

强烈建议采用docker-compose一键安装,省时、省心、省力、没烦恼。考虑到篇幅和容错问题,这里把docker-compose.yml的截图发出来,需要源文件及相关部署文档的小朋友请进群下载!

全链路监控分析实战(一)_第6张图片

全链路监控分析实战(一)_第7张图片 

将docker-compose.yml上传到Linux指定目录,终端执行如下命令即可安装完成:

docker-compose up -d

基础环境搭建完成后,接下来就是安装不同应用的探针(Agent)了。

关于docker及docker-compose的安装及使用,如有不明白的请进群发问。

以上需要用到的文件及安装文档会在下篇文章中给大家分享出来!

下篇见!

 

 

 

 

 

你可能感兴趣的:(性能测试,集成测试,测试工具,架构,分布式,中间件)