9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

AWS X-Ray 现支持 Amazon API Gateway 和全新抽样规则 API

  • 2019-10-18
  • 本文字数:2083 字

    阅读完需:约 7 分钟

AWS X-Ray 现支持 Amazon API Gateway 和全新抽样规则 API

大约 2 年前,我的同事 Jeff 首次在 AWS re:Invent 大会的博文中向大家介绍了 AWS X-Ray。您或许还没注意到,AWS X-Ray 可以帮助开发人员分析和调试生产和开发环境中的所有内容,从简单 Web 应用程序到复杂的大型分布式微服务。自 X-Ray 于 2017 年正式推出以来,我们快速响应客户反馈,不断进行迭代,增强该服务,例如通过 AWS Key Management Service (KMS) 增强加密服务,增添了新的 SDK 和语言支持(支持 Python!),开放了守护程序的源代码并提供了延迟监控工具。今天,我们又增添了两项新功能:


  • 添加了 Amazon API Gateway 支持,从而更轻松地跟踪和分析通过 API 传递到底层服务的请求。

  • 我们最近还推出了支持在 AWS X-Ray 控制台和 API 中控制抽样规则。


我将向您展示如何为 API 启用跟踪。

启用 X-Ray 跟踪

首先从部署到 API Gateway 的简单 API 开始。我将添加两个终端节点。一个终端节点用于将记录推送到 Amazon Kinesis Data Streams,另一个用于调用简单的 AWS Lambda 函数。结果如下所示:



部署 API 后,我可以转到 Stages(阶段)子控制台,选择特定阶段,比如“开发”或“生产”。然后可以导航到 Logs/Tracing(日志/跟踪)选项卡,选择 Enable X-Ray Tracing(启用 X-Ray 跟踪),然后单击保存更改



启用跟踪功能后,转到 X-Ray 控制台,在新的 Sampling(抽样)界面中查看我的抽样规则。



我可以在控制台中修改规则,也可以通过 CLI、SDK 或 API 进行修改。这里我们穿插介绍一下抽样规则。


抽样规则


抽样规则允许以非常精细的程度定制我想要记录的请求和跟踪活动。这让我能通过在任意位置(AWS Lambda、Amazon ECSAmazon Elastic Compute Cloud (EC2) 甚至是本地)运行的代码控制动态记录的数据量 – 完全不必重写任何代码,也不必重新部署应用程序。上图所示的默认规则表明,系统会记录每秒的第一条请求,以及其余请求中 5% 的请求。我们将每秒的第一条请求称为_储存库_,存储库可以确保每秒至少记录一个跟踪活动。其余请求的 5% 就是我们所说的_固定比例_。储存库和固定比例均可配置。如果我将储存库大小设置为 50,将固定比例设置为 10%,那么如果每秒有 100 条请求与规则匹配,则抽样的请求总数为每秒 55 条请求。如果我将 X-Ray 记录器配置为从 X-Ray 服务读取抽样规则,那么就能允许 X-Ray 服务在所有分布式计算中维持抽样比例和储存库。如果我想启用此功能,只需在我的实例上安装最新版本的 X-Ray SDK 和守护程序即可。目前仅支持 GA SDK,后续我们还会支持 Ruby 和 Go。借助 API Gateway 和 Lambda 等服务,我可以直接在 X-Ray 控制台或 API 中配置所有内容。文档更深入地介绍了这项功能,我建议大家花时间仔细阅读。


当然,我可以使用抽样规则来控制成本,规则的动态特性和精细度对于调试生产系统也非常有用。如果我知道特定 URL 或服务需要予以额外监控,那么就可以在抽样规则中指定它。我可以按照 API 的各个阶段、服务类型、服务名称、主机、ARN、HTTP 方法、分段属性等进行过滤。这让我可以在较高的层面上快速检查分布式微服务、发现问题、调整某些规则,然后深入探究生产请求。我可以利用这样的功能,深入了解我的流量中第 99 个百分位处发生的问题,从而营造出更好的整体客户体验。多年来,我曾经在许多家不同的公司构建和部署了许多临时工具,尝试提供这样的支持,而在我的记忆中,从未有一种工具如此成功。现在,我只要部署 X-Ray,集中调整抽样规则就可以了,感觉就像自己拥有神奇的调试水晶球。我真心希望自己 5 年前能有这种工具。


好了,关于回忆就说这么多吧,让我们回到正题,实际演练一下。


目前我采用默认的抽样规则。由于我们已经启用了跟踪,而且也有一些正在运行的请求,大约 30 秒后,我就可以刷新服务地图,查看结果了。我可以单击任何节点直接查看跟踪,也可以进入 Traces 子控制台查看所有跟踪。



在这里,我可以查看所触发的各个 URL、源 IP 以及其他各种有用的指标。



如果我想深入探究,可以在搜索栏中编写一些过滤规则,找到特定的跟踪。API Gateway 部分有一些有用的注释,可以用来对 API ID 和阶段进行过滤和分组。下面展示了典型的 API Gateway 跟踪。



在 X-Ray 中添加对 API Gateway 的支持之后,我们就能在无服务器环境中获得端到端的生产跟踪能力,而抽样规则让我们能够实时调整跟踪,而不必重新部署任何代码。在去年于伦敦举办的 AWS 峰会上,我有幸与 Skyscanner 的 Ashley Sole 沟通了他们使用 AWS X-Ray 的情况,那天早些时候他就向我询问过这两项功能。我希望这个版本能让 Ashley 和其他开发人员更轻松地调试和分析他们的生产应用程序。

现已推出

今天起,所有已经公开推出 API Gateway 和 X-Ray 的区域均可以使用这两项功能。事实上,X-Ray 上周已经发布了它们的新控制台和 API,所以有些读者有可能已经看过了相关内容! 现在您可以亲身体验这些功能了!与以往一样,请通过 Twitter 或下面的评论部分给我们留言,与我们分享您的想法。


作者介绍:



Randall Hunt


AWS 全球高级布道师。此前供职于 NASA, SpaceX 及 MongoDB。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/apigateway-xray/


活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2019-10-18 08:00518
用户头像

发布了 1646 篇内容, 共 75.8 次阅读, 收获喜欢 69 次。

关注

评论

发布
暂无评论
发现更多内容

张平安:加快云上数字创新,共建产业智慧生态

华为云开发者联盟

云计算 后端 SaaS 华为云

HAVE FUN | “飞船计划”活动最新进展

SOFAStack

微服务架构 开源软件 新手引导

用头像模仿天狗食月

急需上岸的小谢

7月月更

组织实战攻防演练的5个阶段

穿过生命散发芬芳

攻防演练 7月月更

IDC发布中国区块链BaaS市场份额报告,腾讯云稳居TOP2

科技热闻

解密函数计算异步任务能力之「任务的状态及生命周期管理」

阿里巴巴中间件

阿里云 中间件 异步 函数计算

Flutter3.0了,小程序不止于移动应用跨端运行

Speedoooo

flutter 小程序 移动开发 小程序容器 跨端运行

企业数字化转型,低代码是“趋势”还是“陷阱”?

云智慧AIOps社区

大前端 低代码 云开发

阿里云易立:云原生如何破解企业降本提效难题?

阿里巴巴中间件

阿里云 架构 云原生

【写给初发论文的人】撰写综述性科技论文常见问题

左手の明天

论文阅读 论文 论文写作 研究论文 论文撰写

Linux 下的传统 IPC 通信原理

北洋

Andriod 7月月更

leetcode 53. Maximum Subarray 最大子数组和(中等)

okokabcd

LeetCode 动态规划 数据结构与算法

架构实战营模块 6 作业

Roy

架构实战营

牛客java选择题每日打卡Day8

京与旧铺

7月月更

新一代云原生消息队列(一)

技术小生

云原生 消息队列 7月月更

阿里云中间件开源往事

阿里巴巴中间件

阿里云 开源 中间件

从解析HTML开始,破解页面渲染时间长难题

华为云开发者联盟

html 前端 web开发 网页

华为小米互“抄作业”

科技新知

java零基础入门-Scanner类

喵手

Java’ 7月月更

从0开始创建小程序

小恺

7月月更

枚举通用接口&枚举使用规范

靠谱的程序员

枚举 企业应用 企业级应用

长安链学习笔记-证书研究之证书模式

长安链

1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效

华为云开发者联盟

数据库 后端

小程序能运行在自有App中,且实现直播和连麦?

Speedoooo

小程序 直播 移动开发 小程序容器 连麦

企业中台建设新路径——低代码平台

力软低代码开发平台

SchedulX V1.4.0及SaaS版发布,免费体验降本增效高级功能!

星汉未来

DevOps 运维 k8s IT FinOps

云原生混部最后一道防线:节点水位线设计

阿里巴巴中间件

阿里云 云原生 中间件 混部

“去虚向实”大潮下,百度智能云向实而生

科技新知

抖音或将推出独立种草社区平台:会不会成为第二个小红书

石头IT视角

Web开发小妙招:巧用ThreadLocal规避层层传值

华为云开发者联盟

Java 前端 web开发

【刷题记录】2. 两数相加

WangNing

7月月更

  • 扫码添加小助手
    领取最新资料包
AWS X-Ray 现支持 Amazon API Gateway 和全新抽样规则 API_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章