玩一玩神奇的分布式追踪神奇skyWalking
skyWalking简介
随着分布式系统规模的越来越大,各微服务间的调用关系也变得越来越复杂。一般情况下,一个由客户端发起的请求在后端系统中会经过许多不同的微服务调用才能完成最终处理,而这些调用过程形成了一个复杂的分布式服务调用链路。那么也就带来一系列问题:
- 怎么样快速发现并定位问题?
- 怎么样判断故障影响范围?
- 各部分调用链路性能是怎样的?
skyWalking闪亮登场 国人开发 其是通过在被监视应用中插入探针,以无侵入方式自动收集所需指标,并自动推送到 OAP系统。OAP系统会将收集到的数据存储到指定的存储介质Storage。UI系统通过调用OAP 提供的接口,可以实现对相应数据的查询。
安装使用
1.安装es:官网下载后直接运行 这里用的是window安装 生产环境要使用linux版本
验证es安装 出现以下代表安装成功
2.skyWalking 安装
3.修改配置文件 apache-skywalking-apm-bin-es7\config目录下的application.yml
4.修改SkyWalking的web页面的端口 默认8080 这个端口经常与其他服务冲突 因此改掉apache-skywalking-apm-bin-es7\webapp目录下的webapp.yml
5.启动skywalking 在这个apache-skywalking-apm-bin-es7\bin目录下的startup.bat 双击启动
6.访问localhost:9999
服务搭建
1.将apache-skywalking-apm-bin-es7目录下的agent文件夹复制到你的工程根目录下
2.修改配置
3.启动命令使用代理方式启动
-javaagent:D:\你的项目地址\springcloud-alibaba-sxw-parent\08-skywalking-gateway\agent\skywalking-agent.jar
4.启动服务 看到这里 是不是可以理解他的牛逼之处了 真的是无侵入式的 只需要复制一个文件夹即可
5.启动一个消费者和提供者 查看web页面
拓扑图:
追踪图:方便排查问题
某个接口执行了多少毫秒 以及执行了哪条sql