Go语言 开放遥测AWS X射线UDP

ergxz8rk  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(244)

我正在尝试将数据写入awsxrayreceiver。数据来自跟踪段。
以下是我所做的步骤:

  • 获取跟踪摘要
  • 使用跟踪摘要中的跟踪ID执行批处理获取跟踪
  • 通过将跟踪段文档转换为[]byte来发送它

但是我在发送数据时收到一些错误。UDP端口已经可以访问。

{"kind": "receiver", "name": "awsxray", "pipeline": "traces", "error": "unable to split incoming data as header and segment, incoming bytes: [88]"}
{"kind": "receiver", "name": "awsxray", "pipeline": "traces", "error": "read from UDP socket: read udp [::]:2000: use of closed network connection"}

甚至试图检查连接是否会成功。

nc -vzu ip_address 2000

Result: Connection to ip_address 2000 port [udp/*] succeeded!

我做的有什么不对吗?

ifsvaxew

ifsvaxew1#

第一个问题可能是由于缺少分隔符而在分割标题和主体时发生错误。错误来自使用换行符作为分隔符来分隔X射线段标题和主体的函数。错误可能是由于发送到X射线接收器的数据格式不正确造成的(示例见这些测试)。
第二个错误是从UDP轮询器阅读时可能发生的网络错误。此问题背后可能有多种原因,但可能需要确保连接没有提前关闭或在所有数据发送到接收方之前关闭。

相关问题