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

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐