DHorse的链路追踪

dhorse,链路,追踪 · 浏览次数 : 231

小编点评

**DHorse链路追踪原理** DHorse使用Agent来收集服务的调用链路信息。Agent的配置在“系统配置”菜单中,打开“链路追踪模板”菜单,并选择“添加”。 **Agent镜像制作** 1. 下载Agent文件。 2. 将文件复制到 `/op/agent` 目录中。 3. 创建Dockerfile 文件,并配置镜像构建。 4. 使用 `docker build` 命令构建镜像。 5. 将镜像上传到Harbor仓库。 **使用链路追踪** 1. 在“环境管理”菜单中,进行链路追踪模板的配置。 2. 选择链路追踪模板进行修改。 3. 重新发布该环境的应用。 4. 请求该环境的服务。 5. 打开SkyWalking Web,查看链路信息。 **关键步骤** * 添加链路追踪模板。 * 创建Agent镜像。 * 重新发布环境。 * 请求服务并查看链路信息。

正文

目前,DHorse的链路追踪功能是通过SkyWalking来实现。实现原理是DHorse在部署应用时,通过指定SkyWalking的Agent来收集服务的调用链路信息。下面就来具体看一下DHorse如何使用Agent的功能。

链路追踪配置

在“系统配置”菜单,打开“链路追踪模板”菜单,如图1所示:

图1

点击“添加”按钮,进行添加模板,如图2所示:

图2

其中,“服务地址”是SkyWalking服务器的地址,Agent镜像来源选项有两个:版本号和自定义。如果选择了版本号,则在保存模板之后,DHorse会自动制作“Agent版本”项对应版本号的镜像文件,并自动上传到镜像仓库;如果选择了自定义,那么需要使用者手动制作Agent镜像并上传到仓库。对于手动制作的Agent镜像,DHorse是有规则要求的,下面就详细介绍。

制作Agent镜像

用Dockerfile来制作,具体步骤如下:

  1. 下载Agent,并复制文件到/op/agent目录,后续操作都在该目录下进行
  2. 解压tgz包
tar -zxvf apache-skywalking-java-agent-*.tgz
  1. 制作Dockerfile文件,内容如下:
FROM busybox:latest
COPY skywalking-agent/ /skywalking-agent
  1. 则/op/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
  1. 制作镜像:
docker build -t 192.168.109.131:20080/dhorse/skywalking-agent:v8.9.0 .
  1. 登录Harbor仓库:
docker login -u admin -p admin 192.168.109.131:20080
  1. 上传镜像:
docker push 192.168.109.131:20080/dhorse/skywalking-agent:v8.9.0

添加链路追踪模板以后,再来看看如何使用。

使用链路追踪

在“环境管理”菜单下,进行修改操作,开启链路追踪状态和选择链路追踪模板,如图3所示:

图3

保存之后,重新发布该环境的应用,然后请求该环境的服务。打开SkyWalking Web,在Trace的菜单下可以看到上报的链路信息,如图4所示:

图4

与DHorse的链路追踪相似的内容:

DHorse的链路追踪

目前,DHorse的链路追踪功能是通过SkyWalking来实现。实现原理是DHorse在部署应用时,通过指定SkyWalking的Agent来收集服务的调用链路信息。下面就来具体看一下DHorse如何使用Agent的功能。 链路追踪配置 在“系统配置”菜单,打开“链路追踪模板”菜单,如图1所示:

DHorse的配置文件

首先看一下DHorse的配置文件,如下: # # 本软件遵守Apache开源许可协议2.0, # 详情见:http://www.apache.org/licenses/LICENSE-2.0 # # # Common # #服务端口,默认8100 #server.port: 8100 #系统数据文件

DHorse操作手册

在介绍DHorse的操作之前,我们先来看一下发布一个系统的流程是什么样的。 发布系统的流程 我们以一个Springboot系统为例,来说明一下发布流程。 1.首先从代码仓库下载代码,比如Gitlab; 2.接着是进行打包,比如使用Maven; 3.如果要使用k8s作为编排,还需要把步骤2产生的包制作

DHorse日志收集原理

实现原理 基于k8s的日志收集主要有两种方案,一是使用daemoset,另一种是基于sidecar。两种方式各有优缺点,目前DHorse是基于daemoset实现的。如图1所示: 图1 在每个k8s集群中启动一个daemoset组件,即Filebeat的服务,监控/var/log/container

DHorse v1.5.1 发布,基于 k8s 的发布平台

版本说明 新增特性 支持k8s的v1.30.x版本; 优化特性 优化回滚功能; 修复注册来源的回滚问题; 新增和修改应用时校验应用名; 升级kubernetes-client至v6.13.0; 调整部署明细表头展示; 升级指南 升级指南 DHorse介绍 DHorse是一个轻量级、简单易用的云应用管

DHorse系列文章之maven打包

插件打包 这种方式是平时最常用的,首先要下载并安装maven环境,然后在被打包的项目中引入插件,有各种各样的打包插件,比如springboot自带插件: org.springframework.boot spring-b

DHorse v1.3.2 发布,基于 k8s 的发布平台

## 版本说明 ### 新增特性 * 构建版本、部署应用时的线程池可配置化; ### 优化特性 * 构建版本跳过单元测试; ### 解决问题 * 解决Vue应用详情页面报错的问题; * 解决Linux环境下脚本运行失败的问题; * 解决下载Maven安装文件失败的问题; ### 升级说明 下载v1.

DHorse v1.2.1 发布,基于k8s的发布平台

# 综述 DHorse是一个简单易用、以应用为中心的云原生DevOps系统,具有持续集成、持续部署、微服务治理等功能,无需安装依赖Docker、Maven、Node等环境即可发布Java、Vue、React应用,主要特点:部署简单、操作简洁、功能快速。 # 优化内容 * 优化jvm指标收集时dhor

DHorse v1.3.0 发布,基于k8s的发布平台

# 综述 DHorse是一个简单易用、以应用为中心的云原生DevOps系统,具有持续集成、持续部署、微服务治理等功能,无需安装依赖Docker、Maven、Node等环境即可发布Java、Vue、React应用,主要特点:部署简单、操作简洁、功能快速。 # 新增特性 * 增加prometheus的配

DHorse v1.4.0 发布,基于 k8s 的发布平台

版本说明 新增特性 提供Fabric8客户端操作k8s(预览)的功能,可以通过指定-Dkubernetes-client=fabric8参数开启; Vue、React应用增加Pnpm、Yarn的构建方式; 支持Go、Flask、Django、Nuxt应用部署; 优化特性 副本指标数据保存为3天; 部