使用 Lambda 函数指标
当您的 Lambda 函数完成对事件的处理时,Lambda 会将有关调用的指标发送到 Amazon CloudWatch。您可以在 CloudWatch 控制台中使用这些指标构建图表和控制面板,并设置警报以响应利用率、性能或错误率的变化。Lambda 每隔 1 分钟向 CloudWatch 发送一次指标数据。
本页面介绍 CloudWatch 控制台上提供的 Lambda 函数调用、性能和并发指标。
在 CloudWatch 控制台中查看指标
您可以使用 CloudWatch 控制台,按函数名称、别名或版本对函数指标进行筛选和排序。
要在 CloudWatch 控制台中查看指标
-
在 CloudWatch 控制台上打开 Metrics(指标)页面
( AWS/Lambda
命名空间)。 -
选择维度。
-
按函数名称 (
FunctionName
) – 查看函数的所有版本和别名的聚合指标。 -
按资源 (
Resource
) – 查看函数的版本或别名的指标。 -
按已执行版本 (
ExecutedVersion
) – 查看别名和版本组合的指标。使用ExecutedVersion
维度可以比较函数的两个版本的错误率,这两个版本都是加权别名的目标。 -
跨所有函数(无)– 查看当前Amazon区域中所有函数的聚合指标。
-
-
选择指标以将其添加到图表。
默认情况下,图表将使用所有指标的 Sum
统计数据。要选择其他统计数据并自定义图表,请使用 Graphed metrics (图表化指标) 选项卡上的选项。
指标上的时间戳反映函数被调用的时间。根据调用的持续时间,这可能是发出指标前的几分钟。例如,如果您函数的超时值为 10 分钟,请查看 10 分钟之前的情况,以获取准确的指标。
有关 CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南。
指标类型
以下小节介绍 CloudWatch 控制台上提供的指标的类型。
使用调用指标
调用指标是调用结果的二进制指示器。例如,如果函数返回一个错误,则 Lambda 会发送值为 1 的 Errors
指标。要获取每分钟发生的函数错误计数,请查看一分钟时段内的 Sum
指标的 Errors
。
使用 Sum
统计数据查看以下指标。
调用指标
-
Invocations
— 函数代码的调用次数,包括成功调用和导致出现函数错误的调用。如果调用请求受到限制或导致出现调用错误,则不会记录调用。这等于计费请求的数目。 -
Errors
– 导致出现函数错误的调用的次数。函数错误包括您的代码所引发的异常以及 Lambda 运行时所引发的异常。运行时返回因超时和配置错误等问题导致的错误。要计算错误率,请将Errors
的值除以Invocations
的值。请注意,错误指标上的时间戳反映的是调用函数的时间,而非错误发生的时间。 -
DeadLetterErrors
– 对于异步调用,Lambda 尝试将事件发送到死信队列但失败的次数。权限错误、资源误配或大小限制可能会致发生死信错误。 -
DestinationDeliveryFailures
– 对于异步调用,Lambda 尝试将事件发送到目的地但失败的次数。权限错误、资源误配或大小限制可能会导致发生传输错误。 -
Throttles
– 受限制的调用请求数。当所有函数实例都在处理请求并且没有用于纵向扩展的并发机制时,Lambda 将拒绝其他请求,并出现TooManyRequestsException
错误。受限制的请求和其他调用错误不会计为Invocations
或Errors
。 -
ProvisionedConcurrencyInvocations
– 根据预置的并发机制调用函数代码的次数。 -
ProvisionedConcurrencySpilloverInvocations
– 在使用所有预置的并发机制时基于标准并发机制执行函数代码的次数。
使用性能指标
性能指标提供了有关单个调用的性能详细信息。例如,Duration
指标指示函数处理事件所花费的时间量(以毫秒为单位)。要了解函数处理事件的速度,请使用 Average
或 Max
统计数据查看这些指标。
性能指标
-
Duration
– 函数代码处理事件所花费的时间量。调用的计费持续时间是已舍入到最近的毫秒的Duration
值。 -
PostRuntimeExtensionsDuration
– 函数代码完成后,运行时为扩展运行代码所花费的累积时间。 -
IteratorAge
– 对于从流读取的事件源映射,为事件中最后一条记录的期限。期限是指流接收记录的时间到事件源映射将事件发送到函数的时间之间的时间量。 -
OffsetLag
– 对于自行管理的 Apache Kafka 和 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 事件源,写入到主题的最后一条记录与 Lambda 函数处理的最后一条记录之间的偏移差。尽管 Kafka 主题可以有多个分区,但该指标仍可在主题级别衡量偏移延迟。
Duration
还支持百分位数统计数据。使用百分位数可排除偏离平均统计数据和最大统计数据的异常值。例如,p95 统计数据显示 95% 的调用的最长持续时间,并排除最慢的 5% 的执行。
使用并发指标
Lambda 将并发指标报告为跨函数、版本、别名或Amazon区域处理事件的实例数的总计数。要查看接近并发限制的程度,请使用 Max
统计数据查看这些指标。
并发指标
-
ConcurrentExecutions
– 正在处理事件的函数实例的数目。如果此数目达到区域的并发执行配额或您在函数上配置的预留并发限制,则 Lambda 将会限制其他调用请求。 -
ProvisionedConcurrentExecutions
– 根据预置并发性处理事件的函数实例的数目。对于具有预置并发性的别名或版本的每次调用,Lambda 都会发出当前计数。 -
ProvisionedConcurrencyUtilization
– 对于版本或别名,为将ProvisionedConcurrentExecutions
值除以分配的预置并发总数。例如,.5
指明有 50% 的已分配预配置并发正在使用中。 -
UnreservedConcurrentExecutions
– 对于区域,由不具有预留并发机制的函数处理的事件数。