【微服务链路追踪】windows下springCloud整合skywalking实现链路追踪
【二】windows下springCloud整合skywalking实现链路追踪
文章目录
前言
Skywalking是由国内开源爱好者吴晟(原OneAPM工程师)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路,支持非侵入式埋点。是一款基于分布式跟踪的应用程序性能监控系统。另外社区还发展出了一个叫OpenTracing的组织,旨在推进调用链监控的一些规范和标准工作。本文将在windows环境在springCloud项目整合skyWalking实现日志的链路追踪。
一.安装包下载
1.下载地址
https://skywalking.apache.org/downloads/#Archived%20Releases
选择:存档版本-存档仓库,找到要下载的版本。


2.版本选择
由于我本地安装的elasticSearch版本为:
elasticSearch-7.6.1
所以本文中skywalking版本选择:
skywalking-7.0.0
若是选择mysql存储数据则可选择:
apache-skywalking-apm-7.0.0.tar.gz
若是选择elasticsearch存储则必需选择:
apache-skywalking-apm-es7-7.0.0.tar.gz

Skywalking跟踪数据默认是存放在内嵌式数据库H2中的,重启skywalking,跟踪数据就丢失了,我们可以把跟踪数据持久化到mysql或者elasticsearch中。
二.安装skywalking
1.数据持久化到mysql
本地解压apache-skywalking-apm-7.0.0.tar.gz安装包;
1.1修改application.yml配置
修改储存数据方式:mysql

修改数据库连接,配置完后记得手动创建skywalking数据库:
mysql:
properties:
jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/skywalking?serverTimezone=GMT"}
dataSource.user: ${SW_DATA_SOURCE_USER:root}
dataSource.password: ${SW_DATA_SOURCE_PASSWORD:123456}

1.2添加mysql数据库连接jar包
下载mysql连接驱动包,或者在自己本地maven仓库根据截图的路径,找到本地的mysql连接驱动包。复制连接驱动的jar包放到skywalking的安装目录D:\skywalking7.0.0\apache-skywalking-apm-bin\oap-libs目录下:


1.3修改webapp/webapp.yml配置
数据持久化到mysql时,我们将默认端口8080改成8888端口;

2.数据持久化到elasticsearch
解压apache-skywalking-apm-es7-7.0.0.tar.gz安装包到本地目录;
2.1修改application.yml指定es地址

2.2修改webapp/webapp.yml配置
数据持久化到elasticsearch时,我们将默认端口8080改成9999端口;

2.3启动es服务
elasticsearch安装过程这里就不赘述了,本地没装elasticsearch的话在本地windows环境下先安装elasticsearch服务。
启动elasticsearch服务和kibana服务:
elasticsearch安装目录的bin目录下双击elasticsearch.bat启动es服务;
kibana安装目录bin目录下双击kibana.bat启动kibana服务;


三.启动skywalking
skywalking安装目录bin目录下找到startup.bat双击启动服务:

如果启动之后Skywalkig-Collector页面闪退,可尝试在application.yml配置中数据库连接中加上" ?serverTimezone=GMT "
重新启动后命令行窗口如下:

当数据持久化到mysql时,可以看到skywalking数据库已自动建表:

当数据持久化到elasticsearch时,我们可以看到es中自动创建了很多以skywalking开头的索引:

四.访问skywalking监控页面
数据持久化到mysql时,访问地址:http://127.0.0.1:8888
数据持久化到es时,访问地址:http://127.0.0.1:9999

五.微服务项目配置skywalking
用Intellij IDEA 工具打开微服务项目,并配置服务的VM options参数,指定skywalking路径以及服务名称:
-javaagent:绝对路径
service_name:可自行修改

添加完后记得点击应用并确定。
为了便于区分,数据持久化到mysql时,我们service_name命名为:MySkyWalking
-javaagent:D:\skywalking7.0.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=MySkyWalking
-Dskywalking.collector.backend_service=127.0.0.1:11800
数据持久化到elasticsearch时,我们service_name命名为:MyEsSkyWalking
-javaagent:D:\skywalking7.0.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=MyEsSkyWalking
-Dskywalking.collector.backend_service=127.0.0.1:11800
修改完应用配置,启动微服务项目,并用postman调用微服务项目的测试接口,刷新skywalking监控页面,可以看到请求调用信息已经接入skywalking中了。



总结
以上就是windows下springCloud整合skywalking实现链路追踪大致过程,欢迎大家在评论区留言一起交流学习。
更多推荐


所有评论(0)