链路追踪SkyWalking整合项目以及数据持久化

1. 微服务整合SkyWalking

在这里插入图片描述

1.1 通过jar包方式整合

  1. 首先我们将一个简单的springboot服务打成jar包。

在这里插入图片描述
将其上传到Linux服务器中。

  1. 准备一个启动脚本,脚本内容如下:
#!/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数量,默认为 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

参数名对应agent/config/agent.config配置文件中的属性。属性对应的源码:org.apache.skywalking.apm.agent.core.conf.Config.java

在这里插入图片描述

1.2 docker方式安装以及集成ES

因为Skywalking收集到的信息一般存储到ES中,然后在ES中用来查看,所以我这边采用ES方式为大家说一下部署方式。

步骤1

启动elasticsearch,9300:集群节点之间通信端口,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的服务端,收集分析应用调用的链路信息,并提供接口给 安装skywalking-UI。
11800:收集应用调用的端口,12800:提供服务的端口,SW_STORAGE:选择使用es7作存储,SW_STORAGE_ES_CLUSTER_NODES:es7的存储节点地址。

#目前 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,监控应用,收集应用信息并上传至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环境下。

在这里插入图片描述

整个在LInux环境利用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: 服务名
  • DSW_AGENT_COLLECTOR_BACKEND_SERVICES:数据上报地址

启动项目以后,如下:
在这里插入图片描述

1.3 Skywalking跨多个微服务跟踪

Skywalking跨多个微服务跟踪,只需要每个微服务启动时添加javaagent参数即可。

2. Skywalking持久化跟踪数据

默认使用的H2数据库存储 config/application.yml,我们的目标是基于mysql实现跟踪数据的持久化。

2.1 修改配置文件

修改config目录下的application.yml,使用mysql作为持久化存储的仓库
在这里插入图片描述
将下面的改成mysql
在这里插入图片描述
修改数据库链接
在这里插入图片描述

2.1 添加数据库连接驱动包

需要添加mysql数据驱动包,因为在lib目录下是没有mysql数据驱动包的,所以修改完配置启动是会报错,启动失败的。

在这里插入图片描述
上传完毕以后重新启动。

2.3 查看数据库表

启动完毕后,查看swtest数据库,可以看到生成了很多表。
在这里插入图片描述

说明启动成功了,打开配置对应的地址http://192.168.164.128:8080/,可以看到skywalking的web界面。这时候重启skywalking,跟踪数据就不会丢失。

下一篇会为大家介绍SkyWalking在代码中的具体使用,希望大家多多关注!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术闲聊DD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值