一、简介
随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响 。面对以上情况, 我们就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题,这时候 APM(应用性能管理)工具就应运而生了。而在众多APM工具中, SkyWalking 是一款优秀的国产 APM 工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等。
二、下载
下载skywalking,可以从阿帕奇的官网进行下载:
https://skywalking.apache.org/,如果嫌弃网速慢,也可以私信回复“skywalking”进行获取。
三、介绍
我们把skywalking的包下载下来解压,这里下载的版本是8.2.0,解压后的目录如下:
其中主要的包介绍:
agent目录--要拷贝到各服务所在机器上用作探针;
bin目录--是服务启动脚本;
config目录--是配置文件;
oap-libs目录--是oap服务运行所需的jar包;
webapp目录--是web服务运行所需的jar包。
对于收集的数据,需要选择一种存储,否则内存中的数据,重启或者时间久了就会被剔除。可选择的存储有H2、ElasticSearch、MySQL、TiDB、InfluxDB。
四、使用
启动skywalking服务,进入他的bin目录,Windows使用start.bat脚本启动,Linux系统使用start.sh进行启动:
启动后会起来2个服务,一个收集器服务,一个web服务:
这样skywalking的服务端就启动了。对于要监控的微服务,是属于skywalking收集数据的客户端,我们要把agent目录复制到需要被监控的服务器上面,在启动脚本里面需要加入javaagent和skywalking收集器地址,如下:
-javaagent:D:\skywalking\apache-skywalking-apm-8.2.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=local-service-name
-Dskywalking.collector.backend_service=127.0.0.1:11800
启动服务,就可以在skywalking提供的ui界面查看服务调用和监控了,地址默认是http://ip:8080: