java ECS远门未在X射线中显示

rqcrx0a6  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(129)

我有一个kinesis consumer,它在ECS fargate中运行,我尝试将其添加到x射线上。我已将x射线side car添加到CloudFormation中,用于任务定义,它显示在任务中并正在运行

{
        "name": "xray-daemon",
        "Image": {************.dkr.ecr.us-east-1.amazonaws.com/xray-daemon},
        "cpu": 32,
        "memoryReservation": 256,
        "portMappings" : [
          {
            "containerPort": 2000,
            "protocol": "udp"
          }
        ]
      },

我就把前后一个SNS发布

AWSXRay.beginSubsegment("SNS Publish")
-- do the publish
AWSXRay.endSubsegment();

但还是没找到。
最后,我在应用程序的开头添加了以下内容,我认为这会将整个ECS过程记录到X射线

AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder.standard().withPlugin(new ECSPlugin())
    AWSXRay.setGlobalRecorder(builder.build())

到目前为止,一切运行良好(消费者不受影响,运行良好),但没有显示在x光。任何想法,我可能错过了什么?
谢谢

cgh8pdjw

cgh8pdjw1#

当您在应用中添加此内容时:

AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder.standard().withPlugin(new ECSPlugin())
    AWSXRay.setGlobalRecorder(builder.build())

我不是awsMaven,但是,你没错过吗?
由于Fargate是一个管理任务运行示例的服务,因此禁止访问底层主机。因此,ECSPlugin和EC2 Plugins for X-Ray将无法工作。
如果没有,请查看代码片段,了解如何将X射线SDK添加到应用并在fargate上运行X射线:
向AWS X射线发送跟踪信息

相关问题