Spring Cloud 整合Apache-SkyWalking实现链路跟踪的方法

所属分类: 软件编程 / java 阅读数: 58
收藏 0 赞 0 分享

什么是SkyWalking

查看官网https://skywalking.apache.org/

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。

安装

进入下载页面https://skywalking.apache.org/zh/downloads/
这里用的是ElasticSearch 7版本,所以你需要安装完成ElasticSearch 7,不再赘述。

在这里插入图片描述

解压后,可以修改启动端口


apache-skywalking-apm-bin-es7/webapp/webapp.yml

启动

bin/startup.bat
打开地址:http:.//localhost:8080

在这里插入图片描述

部署完成了,你也可以使用Docker 部署。如下:

[root@localhost ~]# docker search skywalking
NAME        DESCRIPTION 
apache/skywalking-oap-server  Apache SkyWalking OAP Server 
apache/skywalking-ui    Apache SkyWalking Web UI 

拉取

docker pull apache/skywalking-oap-server 
docker pull apache/skywalking-ui

启动容器

docker run \
--name skywalking \
 -d \
 -p 11800:11800 \
 -p 12800:12800 \
 --restart always \
 --link elasticsearch:elasticsearch \
 -e TZ=Asia/Shanghai \
 -e SW_STORAGE=elasticsearch \
 -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \
 apache/skywalking-oap-server 

docker run \
--name skywalking-ui \
-d \
 -p 7070:8080 \
--link skywalking:skywalking \
 -e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=skywalking:12800 \
 --restart always \
apache/skywalking-ui \

地址为 http://内网宿主机ip:7070
连接地址为:内网宿主机ip:11800

agent 镜像使用:

待补充

使用

Java Agent简介

简单说:我们可以使用agent技术构建一个独立于应用程序的代理程序(即为Agent),用来协助监测、运行甚至替换其他JVM上的程序。使用它可以实现虚拟机级别的AOP功能。

SpringBoot 使用 Java Agent

首先将安装目录下的agent目录全部拷贝到你的项目文件夹下

接着(IDEA为例),改为你的地址即可

-javaagent:D:\Project\jiangsu-unified-platform\apache-skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jiangsu-bid-service
-Dskywalking.collector.backend_service=192.168.11.137:11800

在这里插入图片描述

启动项目,日志已经出现了。

在这里插入图片描述

刷新页面,已经注册了。

在这里插入图片描述

现在点击一个请求测试下,你可以点开各个页面,查看信息了。

在这里插入图片描述

请求路径分析

在这里插入图片描述

正常,需要配合网关使用。
将插件放入,然后和之前一样配置下,修改下service的名称。

在这里插入图片描述

这里我是JDK11 启动报错

java.lang.UnsupportedOperationException: Reflective setAccessible(true) disabled
	at org.apache.skywalking.apm.dependencies.io.netty.util.internal.ReflectionUtil.trySetAccessible(ReflectionUtil.java:31)
	at org.apache.skywalking.apm.dependencies.io.netty.util.internal.PlatformDependent0$4.run(PlatformDependent0.java:224)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	...
	java.lang.IllegalAccessException: class org.apache.skywalking.apm.dependencies.io.netty.util.internal.PlatformDependent0$6 cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module @74960bfa
	at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)
	at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:591)
	at java.base/java.lang.reflect.Method.invoke(Method.java:558)
	at org.apache.skywalking.apm.dependencies.io.netty.util.internal.PlatformDependent0$6.run(PlatformDependent0.java:334)
	at java.base/java.security.AccessController.doPrivileged(Native Method)

但是没影响。请求后,查看拓扑图,调用了哪些组件一目了然。

在这里插入图片描述

更多精彩内容其他人还在看

SpringBoot中使用Ehcache的详细教程

EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。这篇文章主要介绍了SpringBoot中使用Ehcache的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

在idea 中添加和删除模块Module操作

这篇文章主要介绍了在idea 中添加和删除模块Module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java spring整合junit操作(有详细的分析过程)

这篇文章主要介绍了java spring整合junit操作(有详细的分析过程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解JAVA 弱引用

这篇文章主要介绍了 JAVA 弱引用的相关资料,帮助大家更好的理解和学习java引用对象,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

深入了解JAVA 虚引用

这篇文章主要介绍了JAVA 虚引用的相关资料,帮助大家更好的理解和学习JAVA,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解JAVA 强引用

这篇文章主要介绍了JAVA 强引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

java中的按位与(&)用法说明

这篇文章主要介绍了java中的按位与(&)用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

深入了解JAVA 软引用

这篇文章主要介绍了JAVA 软引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

利用MyBatis实现条件查询的方法汇总

这篇文章主要给大家介绍了关于利用MyBatis实现条件查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MyBatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound

这篇文章主要介绍了Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.Pa
收藏 0 赞 0 分享
查看更多