内容简介:对AWS Lambda的支持添加到了AWS X-Ray分布式跟踪服务中
在 AWS X-Ray 分布式跟踪服务4月份发布的 通用版本(General Availability,GA) 中,Amazon已经为 X-Ray添加了对AWS Lambda的支持 ,它能够记录函数调用和相关的元数据,通过AWS Console进行图像化展示并进行分析以便于调试或故障的恢复。
通过AWS Console,我们能够将X-Ray用于已有的Lambda函数,只需导航至函数的配置Tab标签,滑动至“Advanced settings”,并选中“Enable active tracing”选择框,或者也可以通过 AWS Command Line Interface (CLI) 来更新函数的追踪配置:
$ aws lambda update-function-configuration --tracing-config '{"Mode": "Active"}' --function-name 'my-function-name-or-ARN'
AWS博客 中包含了一篇 Randall Hunt 所撰写的文章,他是AWS的开发人员布道师,这篇文章指出,当启用跟踪模式时,Lambda将会试图跟踪函数,除非它被上游的服务显式地禁用掉。当Lambda函数触发的时候,将会生成trace并开始进行数据捕获,通过AWS Console能够以可视化的方式展现应用资源和它们之间的连接(edges):
AWS Console中,X-Ray跟踪的可视化展现(图片来源于 Randall Hunt )
每个服务或函数收集到的数据被称之为 segment (类似于 OpenTracing API规范 中的 Span ),以JSON数据的方式来进行存储。这种segment的样本可以通过X-Ray daemon发送至AWS X-Ray服务,而X-Ray daemon必须要和Lambda函数在一起运行。Hunt指出, X-Ray daemon 确实会消耗Lambda函数关联的一点资源,但是如果函数接近特定的内存极限的话,Lambda将会尝试杀掉X-Ray daemon,避免出现内存溢出的错误。
segment代表了一个工作单元,包含了请求和响应的时间,另外还有可选的子segment(sub-segment),它们会包含更小的工作单元。 子segment 可以启动和停止,并且添加了一些额外的元数据,这是通过针对X-Ray的特定语言SDK实现的。目前, 针对 Java 8运行时的X-Ray SDK 、 针对Node.js 4.3的X-Ray SDK 以及一些更新的运行时已经得到了官方的支持,针对其他语言的非官方支持托管在GitHub上,比如 Fleece 项目所提供的对 Python 的支持。
针对应用的请求会通过一个trace来进行跟踪。trace会收集单个请求所生成的所有segment。这意味着我们可以很容易地跟踪在请求生命周期中,已支持的服务所发出的所有的事件,比如API网关调用、应用/服务函数的处理以及对X-Ray所支持的数据存储(比如AWS DynamoDB)的所有操作,从而能够理解哪里出现了错误以及延迟发生在什么地方。
关于AWS X-Ray所支持的AWS服务的更多细节可以参考“ Integrating AWS X-Ray with Other AWS Services ”文档。关于AWS X-Ray以及相关跟踪术语可以参考InfoQ之前的新闻,这篇新闻是在2016 AWS re:invent会议之后发布的。
X-Ray 服务可以通过美国东部(北弗吉尼亚)、美国西部(加州北部)、美国东部(俄亥俄)、美国西部(俄勒冈州)、欧盟(爱尔兰)、欧盟(法兰克福)、南美洲(圣保罗)、亚太(东京)、亚太(首尔)、亚太(悉尼)以及亚太(孟买)的这些Region来进行使用。其他的信息可以通过 AWS Lambda 页面和 Troubleshooting Lambda-Based Applications 文档来进行获取。
查看英文原文: AWS Lambda Support Added to AWS X-Ray Distributed Tracing Service
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Thinking Recursively
Eric S. Roberts / Wiley / 1986-1-17 / USD 85.67
The process of solving large problems by breaking them down into smaller, more simple problems that have identical forms. Thinking Recursively: A small text to solve large problems. Concentrating on t......一起来看看 《Thinking Recursively》 这本书的介绍吧!