search
数据采集 采集源配置 通过 Skywalking 采集链路追踪数据

通过 Skywalking 采集链路追踪数据

简介

接收符合 Skywalking 协议格式的链路数据,并把数据经过统一转换成 DataFlux 的链路数据后上报到 DataFlux 中。

前置条件

配置

使用 Skywalking 的数据发送到 DataKit一共需要两步:

第一步:在 DataKit 中开启链路数据接收服务

第二步:按项目需求对进行埋点,并配置数据上报地址为 DataKit 的链路数据接收地址

开启链路数据接收服务

打开 DataKit 采集源配置文件夹(默认路径为 DataKit 安装目录的 conf.d 文件夹),找到 conf.d/traceSkywalking 文件夹,复制 traceSkywalking.conf.sample 文件并重命名为traceSkywalking.conf。DataKit目前支持skywalking V2与V3版本链路追踪数据,去掉 [inputs.traceSkywalking.V2][inputs.traceSkywalking.V3]前面的注释,并设置 Skywalking 接收trace数据的gRPC端口,即可开启相应版本链路数据接收服务,另外如果需要对链路数据添加其他自定义的标签,可以去掉 [inputs.traceSkywalking.V2.tags][inputs.traceSkywalking.V3.tags]的注释,并添加自定义标签。

设置:

[inputs.traceSkywalking.V2]              # skywalking V2版本配置,即skywalking 6.x或skywalking 7.x
       grpcPort = 11800                  # skywalking gRPC端口, 默认为11800
       [inputs.traceSkywalking.V2.tags]  # 自定义标签组
               tag1 = "tag1"             # 自定义标签1
               tag2 = "tag2"             # 自定义标签2
               tag3 = "tag3"             # 自定义标签3

[inputs.traceSkywalking.V3]              # skywalking V3版本配置,即skywalking 8.x
       grpcPort = 13800                  # skywalking gRPC端口, 默认为13800
       [inputs.traceSkywalking.V3.tags]  # 自定义标签组
               tag1 = "tag1"             # 自定义标签1
               tag2 = "tag2"             # 自定义标签2
               tag3 = "tag3"             # 自定义标签3

埋点配置

通过 Skywalking 采集数据需要根据当前项目的开发语言引入对应的 Agent,然后按照 Agent 的文档项目进行埋点,对于 DataFlux 的链路数据采集来说,只需要将 Skywalking 中的数据上报地址配置为上一步中获取到的链路数据接收地址即可(相当于将 Datakit 当做 Skywalking Server)。

这里以 Skywalking 的 java-agent客户端运行 JAR file 作为示范

第一步,下载

第二步,设置上报地址

设置 collector.backend_service, 将其上报地址设置成 Datakit 接收trace数据的监听地址和端口。

  • 通过改配置

  • 通过命令行参数方式

    参数为 -Dskywalking.collector.backend_service

      java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=[your service name] -Dskywalking.collector.backend_service=[your url]:11800 -jar yourApp.jar  # V2
      java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=[your service name] -Dskywalking.collector.backend_service=[your url]:13800 -jar yourApp.jar  # V3
    

第三步,执行 Jar 文件

其他语言,依次类推,配置成功后约 1-2 分钟即可在 DataFlux Studio 的 「链路追踪」中查看相关的链路数据。

采集数据

具体请参考 链路数据采集文档中的字段说明

事件

该数据源无关键事件数据

日志

该数据源无日志

FAQ

配置好后为什么在 DataFlux Studio 中看不到数据?

请按照下面的项依次进行检查:

  1. 确认更改了 DataKit 的相关配置文件后是否重启 DataKit
  2. 请确认在 DataKit 中配置的上报地址是否正确,不要忘记配置 source 和 version 参数
  3. 请确认采集链路数据的网络环境是否能访问 DataKit 的链路数据接收地址
  4. 开启 DataKit Debug 模式(在 datakit.conf 中将 log_level 设置为 debug,重启),查看日志 datakit.log,如果有链路数据,又产生如下的 debug 日志。