使用 X 射线跟踪 AWS 中的公共服务
Tracking of Common Services in AWS using X-ray
我有多个 Lambda,它们中的每一个都调用另一个 lambda 或一个
休息 API 或 dynamoDB 或 S3 等 .
示例:
- 酒店预订
- 航班预订
这些调用像
这样的公共服务
- 预订服务
- 发票服务
我需要跟踪哪个应用程序(即航班预订/酒店预订)正在调用预订服务以及调用了多少次/多少次CPU 等
这是否可以通过 AWS 中的 X-Ray 或任何其他更好的方式实现?
AWS Xray 可以帮助您以段和子段的形式跟踪 lambda 应用程序发出的下游调用,以便为您提供应用程序的整体视图。我认为 AWS Xray 可以在您的用例中为您提供帮助,而且您将能够跟踪您的 lambda 正在进行的 Dynamodb、S3 或 RestAPI 调用,并能够识别哪个应用程序(在您的情况下是航班预订/酒店预订)正在调用该服务(预订服务)。虽然您可能看不到性能数字(例如内存和 CPU 使用情况),但您将能够跟踪应用程序内部的异常。
经过一些研究,我认为注释是解决上述问题的最佳方法
所以我们需要在NodeJS中添加注解
AWSXRay.captureFunc('annotations', (subsegment) => {
subsegment.addAnnotation('application', "BookingService");
});
注释已编入索引,也可用于过滤
使用像这个注释这样的表达式。= "BookingService"
更多信息:
X-ray 将段、子段合并到轨迹,因此子段级别的注释足以过滤轨迹
我有多个 Lambda,它们中的每一个都调用另一个 lambda 或一个 休息 API 或 dynamoDB 或 S3 等 .
示例:
- 酒店预订
- 航班预订
这些调用像
这样的公共服务- 预订服务
- 发票服务
我需要跟踪哪个应用程序(即航班预订/酒店预订)正在调用预订服务以及调用了多少次/多少次CPU 等
这是否可以通过 AWS 中的 X-Ray 或任何其他更好的方式实现?
AWS Xray 可以帮助您以段和子段的形式跟踪 lambda 应用程序发出的下游调用,以便为您提供应用程序的整体视图。我认为 AWS Xray 可以在您的用例中为您提供帮助,而且您将能够跟踪您的 lambda 正在进行的 Dynamodb、S3 或 RestAPI 调用,并能够识别哪个应用程序(在您的情况下是航班预订/酒店预订)正在调用该服务(预订服务)。虽然您可能看不到性能数字(例如内存和 CPU 使用情况),但您将能够跟踪应用程序内部的异常。
经过一些研究,我认为注释是解决上述问题的最佳方法
所以我们需要在NodeJS中添加注解
AWSXRay.captureFunc('annotations', (subsegment) => {
subsegment.addAnnotation('application', "BookingService");
});
注释已编入索引,也可用于过滤 使用像这个注释这样的表达式。= "BookingService"
更多信息: X-ray 将段、子段合并到轨迹,因此子段级别的注释足以过滤轨迹