如何使用ECS在NodeJS中实现XRay?

g52tjvyc  于 2023-06-05  发布在  Node.js
关注(0)|答案(1)|浏览(212)

我在AWS ECS中创建了一个集群,其中包含两个服务:
1.我的服务器有20个任务(节点与快递)

  1. 2个任务的X射线(与我的服务器相同的区域)
    两者都运行良好,它们具有相同的网络模式(“默认”),我从服务器示例到xray示例进行了一些ping,结果正常。我只试了ping,因为telnet/curl/nc没有启用。XRay在端口2000 UDP上。
    在我的app.js中,我有初始设置:
    从'aws-xray-sdk'导入AWSXRay; AWSXRay.setDaemonAddress('10.10.10.1:2000');//这是一个例子,我正在命中其中一个示例(我取了其中一个示例的私有IP,因为我有两个)app.use(AWSXRay.express.openSegment('MyApp'));//在声明路由之前app.use(AWSXRay.express.closeSegment());//在声明路由之后
    我击中了一些端点,但我在AWS Xray中看不到任何跟踪或数据,也许我需要在AWS中设置一些额外的东西?我在X光片上看到了那些传说:无服务尝试调整时间范围0记录道检索
    xray服务在端口2000上运行,显然是可以的,镜像是public.ecr.aws/xray/aws-xray-daemon:latest,两个服务(我的服务器和xray)具有相同的任务执行角色,具有以下策略:“xray:PutTraceSegments”、“xray:PutTelemetryRecords”、“xray:GetSamplingRules”、“xray:GetSamplingTargets”、“xray:GetSamplingStatisticSummaries”)
    我完全被这个卡住了
    我应用了aws-xray入门说的一切,它仍然不起作用
ecfdbz9o

ecfdbz9o1#

  1. https://docs.aws.amazon.com/xray/latest/devguide/xray-daemon.html#xray-daemon-logging将xray守护程序日志更改为dev,如果没有日志表明收到了数据段,则问题可能出现在应用程序端或UDP网络中。
  2. https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-configuration.html#xray-sdk-nodejs-configuration-logging然后更改xray js sdk日志级别,看看是否生成了段并刷新到守护进程。

相关问题