1. 程式人生 > >SpringCloud+skywalking鏈路跟蹤

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