目前,DHorse的链路追踪功能是通过SkyWalking来实现。实现原理是DHorse在部署应用时,通过指定SkyWalking的Agent来收集服务的调用链路信息。下面就来具体看一下DHorse如何使用Agent的功能。
在“系统配置”菜单,打开“链路追踪模板”菜单,如图1所示:
图1
点击“添加”按钮,进行添加模板,如图2所示:
图2
其中,“服务地址”是SkyWalking服务器的地址,Agent镜像来源选项有两个:版本号和自定义。如果选择了版本号,则在保存模板之后,DHorse会自动制作“Agent版本”项对应版本号的镜像文件,并自动上传到镜像仓库;如果选择了自定义,那么需要使用者手动制作Agent镜像并上传到仓库。对于手动制作的Agent镜像,DHorse是有规则要求的,下面就详细介绍。
用Dockerfile来制作,具体步骤如下:
tar -zxvf apache-skywalking-java-agent-*.tgz
FROM busybox:latest
COPY skywalking-agent/ /skywalking-agent
-rw-r--r-- 1 root root 30119842 Apr 11 2022 apache-skywalking-java-agent-8.9.0.tgz
-rw-r--r-- 1 root root 61 Nov 11 17:47 Dockerfile
drwxrwxr-x 10 admin 1002 221 Jan 28 2022 skywalking-agent
docker build -t 192.168.109.131:20080/dhorse/skywalking-agent:v8.9.0 .
docker login -u admin -p admin 192.168.109.131:20080
docker push 192.168.109.131:20080/dhorse/skywalking-agent:v8.9.0
添加链路追踪模板以后,再来看看如何使用。
在“环境管理”菜单下,进行修改操作,开启链路追踪状态和选择链路追踪模板,如图3所示:
图3
保存之后,重新发布该环境的应用,然后请求该环境的服务。打开SkyWalking Web,在Trace的菜单下可以看到上报的链路信息,如图4所示:
图4