我使用的 skywalking 版本是 8.7 es 版本,相关 agent 也是引用 8.7 版本。

背景: 公司最近在做运维改造,包括云平台的替换,部署打包迁移到 k8s 上,还有系统监控部署,提到监控部署的话,公司使用了 skywalking。

问题: 公司系统的消息消费使用的是 rabbitmq,skywalking 是支持 rabbitmq 的链路的,但是对于 Spring amqp 中 rabbitmq 的链路是不支持的,于是我参考相关文章,制作了,如下的支持 spring-amqp rabbitmq 的 plugin,方便大家使用。 spring rabbitmq 相关插件包:

https://gitee.com/halo/repo/blob/master/libs/apm-spring-rabbitmq-2.x-plugin-1.0-SNAPSHOT.jar

解决方案: 首先我们是部署在 k8s 上的,需要打镜像到镜像库才行,如果在服务器上直接部署的话,可以把 jar 包直接加到 skywalking 的 agent/plugins 目录下。 在 k8s 进行部署的时候,需要打镜像到镜像库,镜像打包语句如下:

FROM apache/skywalking-java-agent:8.7.0-alpine
ADD https://gitee.com/halo/repo/raw/master/libs/apm-spring-rabbitmq-2.x-plugin-1.0-SNAPSHOT.jar /skywalking/agent/plugins/
RUN chmod 644 /skywalking/agent/plugins/apm-spring-rabbitmq-2.x-plugin-1.0-SNAPSHOT.jar
RUN rm -rf /skywalking/agent/plugins/apm-rabbitmq-5.x-plugin-8.7.0.jar

以上是 Dockerfile,打包完成之后,需要执行 docker login,docker tag ,docker push 等操作

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐