终于学到入门的最后一个章节SkyWalking了,每次学习东西学到最后都比较潦草了,不过反正是入门了解下,那么也不要太精致了。
一、SkyWalking
1、是啥
Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Kubernetes) architectures.
分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。
官网:https://skywalking.apache.org/
2、为什么需要
对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题。
1、如何串联整个链路,快速定位问题
2、如何缕清各个微服务之间的依赖关系
3、如何进行各个微服务接口的性能分析
4、如何跟踪整个业务流程的调用处理顺序
所以需要这样一个工具
3、技术选型
Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。
Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。
SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。
CAT是大众点评开源的基于编码和配置的调用链分析,应用监控分析,日志采集,监控报警等一系列的监控平台工具。
二、环境搭建
1、下载
https://archive.apache.org/dist/skywalking/8.5.0/apache-skywalking-apm-8.5.0.tar.gz
这里下载的是8.5.0的版本,尝试下最新版本,启动报错了,我只是研究看下大概功能,所以就用上面这个版本了。
2、启动
解压,进入bin下面,双击startup.bat启动即可,控制台的端口是8080,当然可以进入对应目录下面修改配置apache-skywalking-apm-bin\webapp\webapp.yml
3、访问界面
这里看到有服务,是因为我测试过。
这里用的是H2内存数据库,当然可以对应修改为ES或者mysql,直接安装好对应es或者mysql后改配置文件即可,也很简单:apache-skywalking-apm-bin\config\application.yml
比如这里假如用mysql的话
这里不需要建表,只需要建了库就可以了。
三、微服务接入SkyWalking
接入很简单,我们的安装包下面有个文件:apache-skywalking-apm-bin\agent\skywalking-agent.jar
启动脚本加上就可以了。aggent大法好啊。
1、环境准备
这里准备一个服务消费者(order-service)和一个服务提供者(stock-service),订单服务调用库存服务,环境搭建参考:
三、springCloudAlibaba-feign的简单使用
当然不想用feign可参考
一、springCloudAlibaba-nacos环境搭建
2、订单服务和库存服务启动脚本加上
订单
-javaagent:F:\Workspace\springcloudalibaba\apache-skywalking-apm-bin\agent\skywalking-agent.jar -DSW_AGENT_NAME=order-service -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
库存
-javaagent:F:\Workspace\springcloudalibaba\apache-skywalking-apm-bin\agent\skywalking-agent.jar -DSW_AGENT_NAME=stock-service -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
4、启动测试
启动测试后进行服务访问然后看控制台,发现成功了。
仪表盘
拓补图
追踪
ok!