Amazon CloudWatch
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

AWS Lambda 指标和维度

AWS Lambda 每分钟向 CloudWatch 发送一次指标。有关更多信息,请参阅 AWS Lambda Developer Guide 中的使用 Amazon CloudWatch 对 AWS Lambda 功能进行问题排查和监控

AWS Lambda CloudWatch 指标

AWS/Lambda 命名空间包括以下指标。

指标 描述
Invocations

测量某个函数在响应某个事件或调用 API 调用时被调用的次数。这将替代已弃用的 RequestCount 指标。这包括成功调用和失败调用,但不包括被阻止的尝试。这等于函数的计费请求数。请注意,如果这些指标具有非零值,则 AWS Lambda 仅将这些指标发送到 CloudWatch。

单位:计数

Errors

测量由于函数出错(响应代码 4XX)而导致失败的调用数。这将替代已弃用的 ErrorCount 指标。失败的调用可能会触发成功的重试尝试。这包括:

  • 已处理的异常 (例如 context.fail(error))

  • 导致代码退出的未处理的异常

  • 内存不足异常

  • 超时

  • 权限错误

这不包括由于调用速率超出默认并行限制(错误代码 429)导致失败的调用或由于内部服务错误(错误代码 500)导致的失败。

单位:计数

Dead Letter Error

当 Lambda 无法将失败的事件负载写入您配置的死信队列时将提高。原因可能如下:

  • 权限错误

  • 下游服务限制

  • 资源配置错误

  • 超时

单位:计数

Duration

测量从函数代码作为调用的结果开始执行到其停止执行所经过的时间。这将替代已弃用的 Latency 指标。可能的最大数据点值为函数超时配置。计费的持续时间将向上涉入到近 100 毫秒。请注意,如果这些指标具有非零值,则 AWS Lambda 仅将这些指标发送到 CloudWatch。

单位:毫秒

Throttles

测量由于调用速率超过客户的并行限制(错误代码 429)而被阻止的 Lambda 函数调用尝试次数。失败的调用可能会触发成功的重试尝试。

单位:计数

IteratorAge

仅为基于流的调用发出 (由 Amazon DynamoDB 流或 Kinesis 流触发的功能)。度量每一批已处理记录的最后一条记录的年限。年限是 Lambda 收到批次的时间与批次中的最后一条记录写入到流的时间之差。

单位:毫秒

错误/调用比率

当计算 Lambda 函数调用的错误率时,区分调用请求和实际调用非常重要。错误率有可能超过已计费 Lambda 函数调用的数量。Lambda 仅在执行 Lambda 函数代码时才报告调用指标。如果调用请求产生某种限制或其他初始化错误,并因此阻止调用 Lambda 函数代码,则 Lambda 将报告错误,但不记录调用指标。

  • 函数执行时,Lambda 会发出 Invocations=1。如果未执行 Lambda 函数,则什么也不发出。

  • Lambda 为每个调用请求发出一个 Errors 数据点。Errors=0 表示不存在函数执行错误。Errors=1 表示存在函数执行错误。

  • Lambda 为每个调用请求发出一个 Throttles 数据点。Throttles=0 表示不存在调用限制。Throttles=1 表示存在调用限制。

AWS Lambda 指标的维度

可以按下表中的任意维度对 Lambda 数据进行筛选。

AWS Lambda CloudWatch 维度

您可以用下表中的维度来优化针对您的 Lambda 函数返回的指标。

维度 描述
FunctionName

按 Lambda 函数筛选指标数据。

Resource

按 Lambda 函数资源筛选指标数据。

Version

按 Lambda 版本筛选指标数据。

Alias

按 Lambda 别名筛选指标数据。