自2014年推出以来,AWSλ已经种植了数十万客户的生成一个月的万亿职能调用。对于现代软件工程师来说,好处是显而易见的:AWS Lambda是一个基于事件的无服务器计算平台,具有内置的自动伸缩和基础设施管理,工程师可以在此基础上构建和修改单一用途的功能,而不必担心底层的计算资源。

尽管Lambda的快速采用,但监测解决方案的发展是一个明显的滞后。亚博直播平台自从Lambda的成立以来,团队一直在呼吁强大的监控解决方案来帮助:

  • 更快的故障排除和警报。当您的AWS Lambda应用程序发生错误时,您需要发出警报并立即了解这些错误;您不能浪费时间钻研日志来排除复杂的故障。
  • 管理应用程序规模。缩放DIY解决方案可以是全职工作。您将使用构建的工具节省时间和资源以处理您的越来越多的工作负载。
  • 控制复杂的环境。如果您管理运行AWS Lambda功能的分布式系统以及其他服务,无论是遗留服务,还是建立更多现代组件,尤其重要Kubernetes或其他基于容器的环境。您需要在高水平时看到所有内容,同时在出现问题时也能够快速深入钻取单个错误。而这一切都需要在一个地方发生在一个地方,在一个平台上使用单个工具。

为此,我们很高兴地宣布为AWS Lambda宣布新的遗物监测新的遗物一个平台

AWS Lambda的新遗物监控是一组功能,可让您监视,可视化,故障排除和函数警报。您可以获得有关每个单独功能的关键数据;例如,新的遗物揭示了吞吐量和错误率的聚合性能数据,并将其与单个调用数据组合,包括调用源,请求组件定时(外部服务请求等),错误和其他对故障排除的数据至关重要。换句话说,您将获得要监控整体活动所需的视图;并且,您将能够使用该信息来调查当错误表面时的特定请求,而不是管理不同监控工具的负担。

笔记:对于AWS Lambda的新Relic监测是不一样的New Relic Infrastructure的AWS Lambda监控集成。这种集成只使用CloudWatch数据,而我们新的AWS Lambda监控使用CloudWatch数据和代码级工具来提供关于在AWS Lambda函数中运行的应用程序的性能指标。

AWS Lambda的新遗物监测如何

AWS Lambda的新遗物监测包括专门用于在AWS Lambda环境中运行的自动框架仪表,以及用于收集功能数据的新数据收集工具,并将其发送到新的遗物,其开销可忽略不计。

以下是数据从函数移动到新遗物的方式:

  1. 您可以使用适当的函数新的遗物APM代理并配置您的AWS帐户以发送AWS Lambda日志亚马逊CloudWatch.到新的遗物。(更多以下是。)
  2. 当调用您的功能时,将发送日志数据亚马逊CloudWatch.
  3. CloudWatch收集AWS Lambda日志数据,并将其发送到新的遗物日志摄入功能。
  4. log-ingestion函数将该数据发送到新的遗物。

当我们收集有关函数的数据时,我们添加重要元数据和标签,以便您可以查询收集的数据。您的AWS Lambda监视数据存储在我们的数据库中作为事件:具有关联属性的数据对象。具体而言,AWS Lambda数据被报告为四种事件类型之一:

  1. AwsLambdaInvocation事件:当调用函数时,此事件捕获定时数据,以及任何关联的元数据(例如,culiencamame,memoryize,运行时和版本)。Lambda函数的调用生成一个AWSLambDainVocation事件。
  2. AwsLambdaInvocationError事件:如果调用函数时发生错误,则会生成此事件类型。
  3. 跨度事件:一种跨度事件其他新遗迹特征(如分布式追踪)。当SPAN由Lambda调用生成时,它将具有lambda特定属性,并包括有关该跨度的详细信息。
  4. 自定义事件:如果你创造一个自定义事件对于函数的调用,您可以在New Relic One仪表板中查询该数据。

这些事件类型被转换为可视化数据。您可以查看从一个仪表代理收集的数据,关于New Relic One的功能总结页面,或查看从CloudWatch收集的数据指标页。

在新的遗物中访问您的AWS Lambda数据

要在新遗物中查看AWS Lambda数据,请转至one.newrelic.com.>实体资源管理器>AWS.>Lambda函数。

从这里可以从这里监控功能总结指标页面,或直接跳到故障排除分发追踪页面,这错误页面,或者调用页(下面有更多)。还可以根据需要使用函数名称旁边的下拉箭头在函数之间进行搜索和切换。

摘要页面:从仪表代理查看数据

总结PAGE显示要快速查看函数最重要的性能数据的图表:

新遗物中的函数的摘要页面。

  1. 调用:函数运行的总次数。这包括直接休息API调用AWS API网关以及通过链接的事件请求。
  2. 持续时间:函数ran的总时间。
  3. 错误率:导致错误的调用百分比。
  4. 调用的来源:如何调用函数的列表和频率。
  5. 冷启动:调用函数的次数导致冷启动。(如果在调用函数之前未创建托管函数的容器 - 冷启动 - 功能似乎可能过度慢)。
  6. 元数据:描述函数的元数据列表。
  7. 详情窗格:打开的违规和元数据和与功能关联的标签列表。

Metrics页面:从CloudWatch查看数据

指标页面显示从CloudWatch收集的AWS Lambda数据:

一个函数的新遗物页面中的标准页面。

  1. 调用:函数运行的总次数。这包括通过AWS API网关的直接REST API调用,以及通过链接的事件请求。
  2. 持续时间:函数ran的总时间。
  3. 节流:在击中AWS帐户中击中服务定义的限制后,函数已缩小的次数。
  4. 错误:调用导致错误的次数。
  5. 死信错误:通过队列调用函数的次数,无法成功运行,并作为未完成的调用请求保留。
  6. 迭代器年龄:为基于流的调用触发——由亚马逊DynamoDB.流或亚马逊运动流 - 这衡量每批被处理的记录的最后记录的年龄。年龄计算为AWS Lambda之间的差异,并将批次中的最后一个记录写入流的时间。
  7. 并发执行:度量特定函数在给定时间点上的并发执行次数之和。

为AWS Lambda启用新的遗物监控

AWS Lambda函数的新遗物监测文档提供了要求和兼容性信息你需要开始行动了。这个过程包括三个步骤:

  1. 配置AWS以与新遗物通信在此步骤中,您将配置AWS帐户和功能以与新遗物进行通信。您还可以配置新的遗物日志摄取功能,将您的AWS Lambda日志数据发送到新的遗物。你需要你的New Relic许可证密钥, 你的新的遗物API键, 你的新Relic帐户ID,以及您的AWS链接帐户的名称。笔记:您通过a执行此步骤脚本您在环境中下载并运行。对于使用此脚本的手动替代方案,或者了解脚本执行的操作,请参阅文档或AWS lambda onboard脚本在GitHub。
  2. 仪表您的AWS Lambda代码。在此步骤中,您将使用新的遗物代理的语言特定功能来介绍您的函数。然后,您将上传新的遗物代理和函数到AWS。将代理添加到功能的具体说明因语言而异,因此请务必在入门前查看文档。
  3. 将CloudWatch日志流到新的遗物功能。在这个步骤中,您将把函数的CloudWatch日志流链接到您在步骤1中配置的新Relic日志摄入函数。笔记:如在步骤1中,您通过脚本执行此步骤。此步骤的手动说明也可在文档中提供。

一旦一切都配置正确,函数被调用并生成数据,您应该会在New Relic One中的AWS Lambda monitoring UI中看到数据报告。

AWS leamda在新遗物中的函数故障排除

在排除函数时,错误页面是一个很棒的地方。以下示例在报告未定义错误的电子商务Web门户网站中显示了购买确认服务(Telcodt-Proopt-Log-Lambda)的功能:

在函数中发现未定义的错误。

因为我们已经为AWS Lambda使用了New Relic monitoring来检测这个功能,所以New Relic代理能够立即获取必要的细节来填写错误跟踪。

单击未定义的错误显示hash_validation逻辑在第65行purchaseLog.js文件是罪魁祸首:

识别函数中错误的根本原因。

让我们看一下另一个故障排除示例,这一次使用分布式跟踪和相同的TelcoDT-purchase-log-lambda函数。这分布式跟踪页面显示特定功能的所有跟踪。在此示例中,购买确认服务的功能比正常执行的时间更长 - 在某些情况下超过两秒钟:

发现分布式跟踪UI中的慢速功能。

该跟踪具有四个服务呼叫链。新的遗物分布式跟踪为AWS Lambda提供了具有新的遗物监控的功能,为整个呼叫链提供了函数。

单击跟踪显示purchase confirmation服务调用fulfillment服务,后者同时调用billing服务和purchase-log-lambda函数。进一步的调查显示,购买日志功能将数据存储在外部AWS服务中,特别是DynamoDB:

挖掘深跨度。

新遗物告诉我们,DynamoDB跨度比平均水平慢227%:

识别慢函数的根本原因 - 速度慢 - 正常的跨度。

New Relic One为您提供了整个调用链的全面可见性,帮助您理解影响函数性能的因素。由于您现在知道AWS服务依赖会减慢该功能的运行速度,因此您可以排除对该服务的调用是否导致该功能运行慢的问题;例如,是否存在排队的HTTP请求或读写操作缓慢的问题?即使你不能解决这个问题,你至少有足够的信息来提交支持申请。

准备开始?

AWS Lambda的新遗物监测仅适用于新的遗物。要访问新的遗物,您必须拥有一个新的relic pro帐户或在免费试用中。如果您已经使用了新的遗物来监视您的应用程序或基础架构,您已经可以访问,您今天可以查看新的遗物,开始监控和探索AWS Lambda功能的所有性能数据。

了解更多关于新遗迹的信息,请点击newrelic.com/platform

额外资源

Andrew Tunall是通用汽车,新的遗物无法源和新兴云服务。他以前在亚马逊网络服务中举行了产品管理角色,并在几个Fintech和咨询公司工作,协助主要的付款提供商,电信公司,消费电子供应商,以及媒体和娱乐公司从Web应用程序建立到视频内容起源的所有内容。他在2018年加入了新的遗物。查看帖子

有兴趣为New Relic博客写作吗?亚搏体育登入网送我们一个球场!!