1. 微服務(wù)整合SkyWalking
1.1 通過jar包方式整合
- 首先我們將一個簡單的springboot服務(wù)打成jar包。
將其上傳到Linux服務(wù)器中。
- 準備一個啟動腳本,腳本內(nèi)容如下:
#!/bin/sh
# SkyWalking Agent配置
export SW_AGENT_NAME=skywalking‐test #Agent名字,一般使用`spring.application.name`
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 #配置 Collector 地址。
export SW_AGENT_SPAN_LIMIT=2000 #配置鏈路的最大Span數(shù)量,默認為 300。
export JAVA_AGENT=‐javaagent:/export/server/apache-skywalking-apm-bin/agent/skywalking‐agent.jar
java $JAVA_AGENT ‐jar skyWalking-test-0.0.1-SNAPSHOT.jar #jar啟動
等同于
java ‐javaagent:/export/server/apache-skywalking-apm-bin/agent/skywalking‐agent.jar
‐DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
‐DSW_AGENT_NAME=skywalking‐test ‐jar skyWalking-test-0.0.1-SNAPSHOT.jar
參數(shù)名對應(yīng)agent/config/agent.config配置文件中的屬性。屬性對應(yīng)的源碼:org.apache.skywalking.apm.agent.core.conf.Config.java
1.2 docker方式安裝以及集成ES
因為Skywalking收集到的信息一般存儲到ES中,然后在ES中用來查看,所以我這邊采用ES方式為大家說一下部署方式。
步驟1
啟動elasticsearch
,9300:集群節(jié)點之間通信端口,9200:es暴露給外部的端口,”discovery.type=single-node
”:單機模式啟動。
#拉取 7.9.3
docker pull elasticsearch:7.9.3
#啟動
docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.9.3
步驟2
下載安裝 skywalking-oap-server
:skywalking的服務(wù)端,收集分析應(yīng)用調(diào)用的鏈路信息,并提供接口給 安裝skywalking-UI。
11800:收集應(yīng)用調(diào)用的端口,12800:提供服務(wù)的端口,SW_STORAGE
:選擇使用es7作存儲,SW_STORAGE_ES_CLUSTER_NODES
:es7的存儲節(jié)點地址。
#目前 8.3.0
docker pull apache/skywalking-oap-server:8.3.0-es7
#啟動
docker run --name skywalking -p 11800:11800 -p 12800:12800 --link es:elasticsearch -e SW_STORAGE=elasticsearch7 -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 -d apache/skywalking-oap-server:8.3.0-es7
步驟3
下載安裝 skywalking-ui。
#目前 8.3.0
docker pull apache/skywalking-ui:8.3.0
#啟動
docker run --name skywalking-ui -p 8080:8080 --link skywalking:skywalking -e SW_OAP_ADDRESS=skywalking:12800 -d apache/skywalking-ui:8.3.0
步驟4
獲取skywalking-agent,監(jiān)控應(yīng)用,收集應(yīng)用信息并上傳至skywalking-oap-server
下載地址:
https://www.apache.org/dyn/closer.cgi/skywalking/java-agent/8.16.0/apache-skywalking-java-agent-8.16.0.tgz。
如果要在本地集成到IDEA,就下載到本地,如果需要在Linux完成項目集成,就下載到Linux環(huán)境下。
整個在LInux環(huán)境利用docker部署即完成。
1.2 IDEA中整合Skywalking
步驟1:
將下載好的skywalking-agent進行解壓到本地
步驟二:
將信息配置到IDEA中。
具體配置信息如下:
-javaagent:D:\apache-skywalking-java-agent-8.16.0\skywalking-agent\skywalking-agent.jar
-DSW_AGENT_NAME=skyWalking-test;-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.164.128:11800
- javaagent:就是我們剛才下載agent的路徑
- DSW_AGENT_NAME: 服務(wù)名
- DSW_AGENT_COLLECTOR_BACKEND_SERVICES:數(shù)據(jù)上報地址
啟動項目以后,如下:
1.3 Skywalking跨多個微服務(wù)跟蹤
Skywalking跨多個微服務(wù)跟蹤,只需要每個微服務(wù)啟動時添加javaagent參數(shù)即可。
2. Skywalking持久化跟蹤數(shù)據(jù)
默認使用的H2數(shù)據(jù)庫存儲 config/application.yml
,我們的目標是基于mysql實現(xiàn)跟蹤數(shù)據(jù)的持久化。
2.1 修改配置文件
修改config目錄下的application.yml,使用mysql作為持久化存儲的倉庫
將下面的改成mysql
修改數(shù)據(jù)庫鏈接
2.1 添加數(shù)據(jù)庫連接驅(qū)動包
需要添加mysql數(shù)據(jù)驅(qū)動包,因為在lib目錄下是沒有mysql數(shù)據(jù)驅(qū)動包的,所以修改完配置啟動是會報錯,啟動失敗的。
上傳完畢以后重新啟動。
2.3 查看數(shù)據(jù)庫表
啟動完畢后,查看swtest數(shù)據(jù)庫,可以看到生成了很多表。
說明啟動成功了,打開配置對應(yīng)的地址http://192.168.164.128:8080/,可以看到skywalking的web界面。這時候重啟skywalking,跟蹤數(shù)據(jù)就不會丟失。文章來源:http://www.zghlxwxcb.cn/news/detail-497322.html
下一篇會為大家介紹SkyWalking在代碼中的具體使用,希望大家多多關(guān)注?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-497322.html
到了這里,關(guān)于鏈路追蹤SkyWalking整合項目以及數(shù)據(jù)持久化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!