SpringCloud+skywalking鏈路跟蹤
SpringCloud+skywalking鏈路跟蹤
一、 環境準備
1. 基礎環境
CentOS 6.9
Eclpse Oxygen.2 Release (4.7.2)
2. SkyWalking版本(3.2.6)和相關要求資訊:
被監控程式要求jdk6+
SkyWalking collector和WebUI要求JDK8+
Elasticsearch 5.x (版本必須是5.X)
Zookeeper 3.4.10
資料參考地址:
https://github.com/apache/incubator-skywalking/blob/master/docs/cn/Deploy-backend-in-cluster-mode-CN.md
釋出版本下載地址:
https://github.com/apache/incubator-skywalking/releases
3. Springcloud 版本:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
二、 Skywalking安裝
1. 基礎包準備:
skywalking-agent.zip(Windows使用)
skywalking-collector.tar.gz
skywalking-web.tar.gz
Elasticsearch 5.6.8
下載:
url:https://www.elastic.co/downloads/past-releases
Zookeeper:
下載地址:
http://zookeeper.apache.org/releases.html#download
2. Zookeeper安裝
2.1 安裝:
tar -zxvf zookeeper-3.4.11.tar.gz
cd zookeeper-3.4.11/
mkdir data
cd data/
pwd
Tips:記住這個路徑
2.2 修改配置
cd ${zookeeper path}/conf/
Tips:zookeeper /conf 目錄下
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改內容資訊如下:
Tips: dataDir 的值與之前建立的data目錄保持一致
2.3 啟動
cd ${zookeeper path}/bin/
./zkServer.sh start
ps -ef|grep zookeeper
3. ElasticSearch安裝(僅安裝單叢集)
3.1 解壓安裝
tar -zxvf elasticsearch-5.6.8.tar.gz
cd elasticsearch-5.6.8
3.2 配置修改
cd ${elasticsearch-path}/config/
vi elasticsearch.yml
修改內容:
分別去掉一下注釋,並將對應的值修改為如下:
cluster.name: CollectorDBCluster
node.name: skywalking
network.host: 0.0.0.0
http.port: 9200
新增如下內容:
thread_pool.bulk.queue_size: 1000
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#elasticsearch-head跨域訪問
http.cors.enabled: true
http.cors.allow-origin: '*'
3.3 切換root使用者修改相關限制
3.3.1 修改使用者建立檔案最大數以及記憶體鎖定配置
vi /etc/security/limits.conf
如下圖所示:
儲存、退出重新登入ssh、檢視配置是否生效
ulimit –a
Tips:
1.生產環境,請將最前面的*替換成指定的使用者,如果使用*標識所有使用者
2.如果修改了soft 未生效,請檢視/etc/profile是否有ulimit的限制配置
3.3.2 需改使用者最大可建立程序數
vi/etc/security/limits.d/{number}-nproc.conf
新增修改如下內容:
* soft nproc 4096
修改內容如下:
儲存退出
3.3.3 設定最大虛擬記憶體大小
vi /etc/sysctl.conf
檔案尾部新增如下內容:
vm.max_map_count=655360
執行命令生效檔案
sysctl -p
退出root使用者
3.4 啟動elasticsearch
初次啟動確定啟動OK
./elasticsearch
Tips:如出現啟動異常自行百度解決
切換後臺啟動:
./elasticsearch–d
4. Skywalking-collector安裝
4.1 安裝
tar -zxvf skywalking-collector.tar.gz
cd skywalking-collector
4.2 修改配置
cd skywalking-collector/config
vi application.yml
Tisp:
1.zookeeper地址配置
2.storage elasticsearch配置
3.localhost更換本機真實ip,確認所有預設埠都未佔用
4.3 啟動
cd skywalking-collector/bin
./startup.sh
檢視
skywalking-collector/log/skywalking-collector-server.log檔案中無啟動錯誤資訊,確認啟動成功
ps -ef|grep skywalking-collector
5. 安裝Skywalking-web
5.1 解壓安裝
tar -zxvf skywalking-web.tar.gz
5.2 修改配置檔案
cd skywalking-web/config/
application.properties為web監聽埠,預設18080
修改連線skywalking-colletor資訊
vi collector_config.properties
5.3 啟動web
cd skywalking-web/bin/
./web-service.sh;
tailf ../logs/skywalking-web-server.log
確認啟動無錯誤日誌
5.4 訪問web頁面
http://ip:18080/
出現如下畫面已啟動成功
三、 Springcloud 微服務工程準備
1. 工程自行資料搭建,demo原始碼如下:
工程目錄結構:
demo原始碼:
2. 啟動演示
2.1 解壓skywalking-agent
Skywalking探針配置參考:
https://github.com/apache/incubator-skywalking/blob/master/docs/cn/Deploy-skywalking-agent-CN.md
2.2 啟動註冊中心
2.3 啟動服務提供者和消費者:
Skywalking-agent配置 eclipse
啟動時能看到如下資訊:
表示agent以載入成功
2.4 訪問註冊中心
2.5 消費服務介面訪問:
http://localhost:1113/feign?hello=hahah
四、 Skywalking-web檢視呼叫
4.1訪問skywalking-web服務:
服務呼叫情況
4.2Trance stack資訊檢視
4.3Instance Overview資訊檢視
點選其中一個可以檢視堆疊資訊:
4.4Service Tree 資訊檢視
springcloud 基礎微服務 demo工程下載地址:
https://download.csdn.net/download/xiaoll880214/10318847
tips:圖片出不來,可跳往有道雲分享地址:
http://note.youdao.com/noteshare?id=44153d72a72999c4d4aba15b9cfbca39
github地址:
https://github.com/Xlinlin/spring-cloud-demo