在我的API网关日志条目上指示超时,我正在调查它的来源。日志条目有一个X-Ray跟踪ID,但当我使用X-Ray搜索它时,我得到“未找到数据”。
我预计至少有一个节点,APIG,会出现在X光片上。我错过了什么?
API网关CloudWatch日志洞察我找不到跟踪
查询字符串:
fields @timestamp, @message
| filter @message like "92300847-04fd-4969-8728-92d12887ee44"
| sort @timestamp desc
| limit 20
Api网关CloudWatch日志洞察我可以找到跟踪
查询字符串:
fields @timestamp, @message
| sort @timestamp desc
| filter @message like "b80e4922-7f18-4024-8f9a-fadba068f0c1"
X射线
拥有跟踪ID并不意味着要进行采样。
跟踪Id只是跟踪标头的一部分。例如,看看这个:
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793;Sampled=0
如您所见,我们有traceID,但Samples处于禁用状态(Sampled=0)
要了解您的跟踪是否得到采样,您需要查看X-Amzn-trace-Id
你可以在这里找到更多:https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader
默认采样为5%,如果要将其用于所有或多个请求,可以更改采样:https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html
我向AWS提出了一个支持案例来询问这一点。他们的回答是:
看起来X射线在这个时间范围内有一些片段丢失,这可能是丢失痕迹的原因。有时可能会出现跟踪丢失。X射线不对未存储的任何痕迹向客户收费。
我尝试了多种方法,但似乎没有任何效果 这就是我所做的, 创建Cloud9实例,启动maven应用程序,添加aws sdk java、x-ray core、x-ray instrumentor、x-ray sdk依赖项,创建DynamoDB客户端运行应用程序,插入数据,但未找到错误子段。手动添加段,错误消失,但没有跟踪 创建Spring Boot应用程序,添加了相同的依赖项,添加了Xray serv
我有一些启用了跟踪的Python Lambda函数,它们是这样开始的: 有了这个跟踪,每个Lambda函数本身都可以工作,我可以看到通过boto3对DynamoDB或Kinesis的子服务调用。 但是如何在一个跟踪中将各种Lambda函数连接在一起呢?我正在考虑在第一个函数中生成一个唯一的字符串,并将其写入存储在Kinesis中的消息中。然后,另一个函数将从动觉信息中提取字符串并再次跟踪它。 如何
我有一个用NodeJS编写的AWS lambda函数,在这个函数上我启用了活动跟踪,现在每次调用它时都会看到X射线跟踪。但是-Lambda函数也会发布到SNS,并且SNS不会出现在X射线轨迹中。我是否需要添加代码才能查看SNS跟踪? (lambda和SNS都使用相同的角色,所以我认为这不是问题)。 谢谢
我已经为我的AWS Lambda函数和我的代码库以及捕获帐户ID的注释启用了X射线跟踪。从X射线获取数据的AWX X射线文档提到与X射线跟踪相关的注释已被索引 我正在用帐户ID注释我的跟踪。我希望检索所有具有的跟踪 我已确认我的跟踪具有我所需的注释。我找到了此文档,但我不确定如何从cli应用这些过滤器。 使用aws X射线获取跟踪摘要的跟踪结果片段--开始时间
我有一个由API网关事件触发的AWS Lambda函数。API网关配置为使用X射线。 由于Lambda跟踪配置默认为PassTour,因此它也会显示在X射线(服务地图等)中。 被调用的Lambda使用节点。js aws sdk调用另一个lambda。如果我理解正确,则必须将跟踪ID传递给下一次调用,以便在X射线中也显示此Lambda。在SDK的API中,我没有找到此选项。 我怎样才能做到这一点?如
这是我用AWS X-Ray编写的Python代码 没有错误,但它没有向X射线守护程序发送任何内容。 此代码中缺少什么?