Spring Cloud 整合Apache

网友投稿 540 2023-05-23

Spring Cloud 整合Apache

Spring Cloud 整合Apache

什么是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 \

--liDWAHNrpRnk elasticsearch:elasticsearch \

-e TZ=Asia/Shanghai \

-e SW_STORAGE=elasticsearch \

-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \

apache/skywalking-oap-server

docker run http://\

--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-agentDWAHNrpR.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-ty.util.internal.ReflectionUtil.trySetAccessible(ReflectionUtil.java:31)

at org.apache.skywalking.apm.dependencies.io-ty.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-ty.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-ty.util.internal.PlatformDependent0$6.run(PlatformDependent0.java:334)

at java.base/java.security.AccessController.doPrivileged(Native Method)

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

总结

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot如何使用mybatis实现拦截SQL分页
下一篇:通过实例解析Spring Ioc项目实现过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~