AWS X-Ray 示例应用程序 - AWS X-Ray

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS X-Ray 示例应用程序

上 GitHub提供的 AWS X-Ray eb-java-scorekeep示例应用程序展示了如何使用 AWS X-Ray SDK 来检测传入的 HTTP 调用、DynamoDB SDK 客户端和 HTTP 客户端。该示例应用程序用于 AWS CloudFormation 创建 DynamoDB 表、在实例上编译 Java 代码以及运行 X-Ray 守护程序,无需任何其他配置。

请参阅 Scorekeeep 教程,使用或开始安装和使用带检测功能的 AWS Management Console 示例应用程序。 AWS CLI

Scorekeep 使用 AWS X-Ray SDK 来检测传入的 HTTP 调用、DynamoDB SDK 客户端和 HTTP 客户端

该示例包括前端 Web 应用程序、所调用的 API 以及它用于存储数据的 DynamoDB 表。包含过滤器插件经过检测的 AWS SDK 客户端的基本插件显示在项目的xray-gettingstarted分支中。这是您在入门教程中部署的分支。由于此分支只包含基本分析,您可以根据 master 分支比较差异,以快速理解基本分析。

Service map showing client interaction with Scorekeep container and related AWS 服务.

示例应用程序在这些文件中显示基本检测:

该应用程序的 xray 分支包含对 HTTPClient注释SQL 查询自定义子分段、检测过的 AWS Lambda 函数以及检测过的初始化代码和脚本的使用。

为了支持用户登录和在浏览器中 AWS SDK for JavaScript 使用,该xray-cognito分支机构添加了 Amazon Cognito 来支持用户身份验证和授权。利用从 Amazon Cognito 检索到的凭证,Web 应用程序还会将跟踪数据发送到 X-Ray,以从客户端的视角记录请求信息。浏览器客户端在跟踪地图上显示为自己的节点,并记录其他信息,包括用户正在查看的页面的 URL 和用户 ID。

最后,xray-worker 分支将添加独立运行的检测过的 Lambda 函数,并处理来自 Amazon SQS 队列的项目。每当游戏结束时,Scorekeep 就会向队列添加一个项目。由 CloudWatch 事件触发的 Lambda 工作程序每隔几分钟从队列中提取项目,然后对其进行处理,以便将游戏记录存储在 Amazon S3 中以供分析。