**背景:**
微服务架构是通过业务来划分服务的,使用 REST 调用。对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。为了在发生故障的时候,能够快速定位和解决问题,需要使用SkyWalking
---
**环境:**
windows
JDK8
---
**开发工具:**
idea
---
**软件安装:**
1.[下载elasticsearch7 ]([https://www.elastic.co/cn/downloads/elasticsearch](https://www.elastic.co/cn/downloads/elasticsearch))
2.解压 运行bin/elasticsearch.bat
3.访问 `localhost:9200` 如下结果表示OK
```
~~~
{
"name" : "xxxx",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "xxxx",
"version" : {
"number" : "7.7.1",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "xxxxx",
"build_date" : "2020-05-28T16:30:01.040088Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
~~~
```
4.[下载skywarking]([http://skywalking.apache.org/downloads/](http://skywalking.apache.org/downloads/))

---
5.解压 运行 bin/startup.bat,这个时候实际上是启动了两个项目,一个收集器,一个web页面
----
6.访问`localhost:8080`,端口号webapp/webapp.yml中可以修改,第一次访问页面空白正常

----
7.在项目根目录下创建目录 jeecg-skywarking,并且将skywarking下的agent文件夹直接拷贝至该目录下

----
8.配置vm参数


---
eclipse配置vm参数图:

----
附上参数代码及描述
```
-javaagent:D:\JAVA\cloud\jeecg-yanshi\jeecg-skywarking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jeecg-ys-gateway
-Dskywalking.collector.backend_service=localhost:11800
```
| 参数 | 描述 |
| --- | --- |
| javaagent | 配置 skywalking-agent.jar 的地址,需要修改 |
| service_name| 配置 需要监控的服务名,需要修改 |
| javaagent | skywalking收集器服务的地址,照抄 |
----
9.启动项目,访问接口(多访问几次),再去localhost:8080看面板数据

----
10.当我们访问一个服务,而他会调用另一个服务的时候,点击拓扑图会出现下图的效果,这就是链路跟踪的效果

----
11.还可以在追踪界面,查看整个请求的具体调用链

---
*其他功能需自行摸索*