**背景:**
微服務架構是通過業務來劃分服務的,使用 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.還可以在追蹤界面,查看整個請求的具體調用鏈

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