AWS Lambda
Guia do desenvolvedor

Métricas do AWS Lambda

Este tópico descreve o namespace, as métricas e as dimensões do AWS Lambda. O AWS Lambda monitora automaticamente as funções por você, informando métricas por meio do Amazon CloudWatch. Essas métricas incluem o total de invocações, erros, duração, aceleradores, erros de DLQ e idade do iterador para invocações com base no fluxo.

O CloudWatch é basicamente um repositório de métricas. Uma métrica é um conceito fundamental no CloudWatch e representa um conjunto de pontos de dados ordenado por tempo. Você (ou AWS Services) publica pontos de dados de métricas no CloudWatch e recupera estatísticas sobre os pontos de dados como uma série ordenada de dados da série de tempo.

As métricas são definidas exclusivamente por um nome, um namespace e uma ou mais dimensões. Cada ponto de dados tem um time stamp e, opcionalmente, uma unidade de medida. Quando você solicita estatísticas, o fluxo de dados apresentado é identificado pelo namespace, pelo nome da métrica e pela dimensão. Para obter mais informações sobre o CloudWatch, consulte o Guia do usuário do Amazon CloudWatch.

AWS Lambda CloudWatch Métricas

O namespace AWS/Lambda inclui as métricas a seguir.

Métrica Descrição
Invocations

Mede o número de vezes que uma função é chamada em resposta a um evento ou chamada de API. Isso substitui a métrica obsoleta RequestCount. Isso inclui invocações bem-sucedidas e com falha, mas não inclui tentativas acumuladas. Isso é igual às solicitações faturadas para a função. O AWS Lambda só enviará essas métricas para o CloudWatch se elas tiverem um valor diferente de zero.

Unidade: contagem

Errors

Mede o número de chamadas que falharam devido a erros na função (código de resposta 4XX). Chamadas com falha podem acionar uma nova tentativa bem-sucedida. Isso inclui:

  • Exceções processadas (por exemplo, context.fail(error))

  • Exceções não processadas causando o código de saída

  • Exceções de sem memória

  • Tempo limite atingido

  • Erros de permissão

Isso não inclui chamadas que falham devido a taxas de invocação que excedem os limites padrão simultâneos (código de erro 429) ou falhas devido a erros de serviço interno (código de erro 500).

Unidade: contagem

DeadLetterErrors

Incrementado quando o Lambda não consegue gravar a carga útil do evento com falha nas dead letter queues configuradas. Isso pode acontecer por causa do seguinte:

  • Erros de permissão

  • Limitações de serviços posteriores

  • Recursos mal configurados

  • Tempo limite atingido

Unidade: contagem

Duration

Mede o tempo decorrido do momento em que o código da função começa a execução como resultado de uma chamada até o momento em que a execução é interrompida. O valor máximo possível do ponto de dados é a configuração de tempo limite da função. O tempo faturado será arredondado para a centena de milissegundos mais próxima. O AWS Lambda só enviará essas métricas para o CloudWatch se elas tiverem um valor diferente de zero.

Unidade: milissegundos

Throttles

Mede o número de tentativas de chamada de função do Lambda que foram acumuladas devido a taxas de chamada excedendo os limites simultâneos do cliente (código de erro 429). Chamadas com falha podem acionar uma nova tentativa bem-sucedida.

Unidade: contagem

IteratorAge

Emitido apenas para invocações baseadas em fluxo (funções disparadas por um streaming do Amazon DynamoDB ou do Kinesis). Mede a idade do registro mais recente para cada lote de registros processados. A idade é a diferença entre a hora em que o Lambda recebeu o lote e a hora em que o último registro no lote foi gravado no fluxo.

Unidade: milissegundos

ConcurrentExecutions

Emitido como uma métrica agregada para todas as funções na conta e para as funções que têm um limite de simultaneidade especificado personalizado. Não aplicável a versões ou aliases. Mede a soma de execuções simultâneas para uma determinada função em um determinado momento. Deve ser visualizado como uma métrica média se agregado durante um período.

Unidade: contagem

UnreservedConcurrentExecutions

Emitido como uma métrica agregada para todas as funções apenas na conta. Não aplicável a funções, versões ou aliases. Representa a soma da simultaneidade das funções que não têm um limite de simultaneidade personalizado especificado. Deve ser visualizado como uma métrica média se agregado durante um período.

Unidade: contagem

Para acessar métricas usando o console do CloudWatch

  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, selecione Métricas.

  3. No painel CloudWatch Metrics by Category (Métricas do CloudWatch por categoria), selecione Lambda Metrics (Métricas do Kinesis).

Taxa de erros/chamadas

Ao calcular a taxa de erros nas chamadas de função do Lambda, é importante distinguir entre uma solicitação de chamada e uma chamada de fato. É possível que a taxa de erros exceda o número de invocações da função do Lambda faturadas. O Lambda só relatará uma métrica de invocação se o código da função do Lambda for executado. Se a solicitação de invocação gerar uma limitação ou outro erro de inicialização que impeça a invocação do código de função do Lambda, o Lambda relatará um erro, mas não registrará uma métrica de invocação.

  • O Lambda emite Invocations=1 quando a função é executada. Se a função do Lambda não é executada, nada é emitido.

  • O Lambda emite um ponto de dados de Errors para cada solicitação de invocação. Errors=0 significa que não existe erro na execução da função. Errors=1 indica que existe um erro na execução da função.

  • O Lambda emite um ponto de dados de Throttles para cada solicitação de invocação. Throttles=0 significa que não existe limite de invocação. Throttles=1 indica que existe um limite de invocação.

AWS Lambda CloudWatch Dimensões

Você pode usar as dimensões na tabela a seguir para refinar as métricas retornadas para suas funções do Lambda.

Dimensão Descrição
FunctionName

Filtra os dados de métrica por função do Lambda.

Resource

Filtra os dados de métrica por recurso de função do Lambda, como versão de função ou alias.

ExecutedVersion

Filtra os dados de métrica por versões de função do Lambda. Isso só se aplica a invocações de alias.