View a markdown version of this page

Monitoramento das funções duráveis - AWS Lambda

Monitoramento das funções duráveis

É possível monitorar suas funções duráveis usando métricas do CloudWatch, CloudWatch Logs e rastreamento. Como as funções duráveis podem ser executadas por longos períodos e abranger várias invocações de funções, monitorá-las exige a compreensão de seus padrões de execução exclusivos, incluindo pontos de verificação, transições de estado e comportamento de novas tentativas.

Métricas do CloudWatch

O Lambda publica métricas automaticamente no CloudWatch sem custo adicional. As funções duráveis fornecem métricas adicionais além das métricas padrão do Lambda para ajudá-lo a monitorar fluxos de trabalho de longa duração, o gerenciamento de estados e a utilização de recursos.

Métricas de execução durável

O Lambda emite as métricas a seguir para execuções duráveis:

Métrica Descrição
ApproximateRunningDurableExecutions Número de execuções duráveis no estado EM EXECUÇÃO
ApproximateRunningDurableExecutionsUtilization Percentual da cota máxima de execuções duráveis em andamento da sua conta atualmente em uso
DurableExecutionDuration Tempo decorrido de relógio em milissegundos em que uma execução durável permaneceu no estado EM EXECUÇÃO
DurableExecutionStarted Número de execuções duráveis iniciadas
DurableExecutionStopped Número de execuções duráveis interrompidas usando a API StopDurableExecution
DurableExecutionSucceeded Número de execuções duráveis concluídas com êxito.
DurableExecutionFailed Número de execuções duráveis concluídas com uma falha
DurableExecutionTimedOut Número de execuções duráveis que excederam seu tempo limite de execução configurado
DurableExecutionOperations Número cumulativo de operações realizadas em uma execução durável (máximo: 3.000)
DurableExecutionStorageWrittenBytes Quantidade cumulativa de dados em bytes persistida por uma execução durável (máximo: 100 MB)

Métricas do CloudWatch

O Lambda emite métricas padrão de invocação, performance e simultaneidade para funções duráveis. Como uma execução durável pode abranger várias invocações de funções à medida que avança pelos pontos de verificação e reproduções, essas métricas se comportam de forma diferente das funções padrão:

  • Invocações: conta cada invocação de função, incluindo reproduções. Uma única execução durável pode gerar vários pontos de dados de invocação.

  • Duração: mede cada invocação de função separadamente. Use DurableExecutionDuration para o tempo total gasto por uma única execução durável.

  • Erros: rastreia as falhas de invocação da função. Use DurableExecutionFailed para falhas no nível de execução.

Para obter uma lista completa das métricas padrão do Lambda, consulte Tipos de métricas para funções do Lambda.

Criar alarmes do CloudWatch

Crie alarmes do CloudWatch para notificá-lo quando as métricas excederem os limites. Alarmes comuns incluem:

  • ApproximateRunningDurableExecutionsUtilization excede 80% da sua cota

  • DurableExecutionFailed aumenta acima de um limite

  • DurableExecutionTimedOut indica que as execuções estão se aproximando do tempo limite

  • DurableExecutionStorageWrittenBytes se aproxima dos limites de armazenamento

Para obter mais informações, consulte Uso de alarmes do CloudWatch.

Eventos EventBridge

O Lambda publica eventos duráveis de alteração do status de execução no EventBridge. É possível usar esses eventos para acionar fluxos de trabalho, enviar notificações ou rastrear alterações no ciclo de vida da execução em suas funções duráveis.

Eventos de alteração de status de execução durável

O Lambda emite um evento para o EventBridge sempre que uma execução durável muda de status. Esses eventos têm as características a seguir:

  • Fonte: aws.lambda

  • Tipo de detalhe: Durable Execution Status Change

Os eventos de alteração de status são publicados para os estados de execução a seguir:

  • RUNNING: execução iniciada

  • SUCCEEDED: execução concluída com êxito

  • STOPPED: execução interrompida usando a API StopDurableExecution

  • FAILED: execução com falha com um erro

  • TIMED_OUT: execução com tempo limite configurado excedido

O exemplo a seguir mostra um evento de alteração de status de execução durável:

{ "version": "0", "id": "d019b03c-a8a3-9d58-85de-241e96206538", "detail-type": "Durable Execution Status Change", "source": "aws.lambda", "account": "123456789012", "time": "2025-11-20T13:08:22Z", "region": "us-east-1", "resources": [], "detail": { "durableExecutionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST/durable-execution/090c4189-b18b-4296-9d0c-cfd01dc3a122/9f7d84c9-ea3d-3ffc-b3e5-5ec51c34ffc9", "durableExecutionName": "order-123", "functionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:2", "status": "RUNNING", "startTimestamp": "2025-11-20T13:08:22.345Z" } }

Para estados terminais (SUCCEEDED, STOPPED, FAILED, TIMED_OUT), o evento inclui um campo endTimestamp indicando quando a execução foi concluída.

Criar regras do EventBridge

Crie regras do EventBridge para rotear eventos de alteração de status de execução durável para destinos como Amazon Simple Notification Service, Amazon Simple Queue Service ou outras funções do Lambda.

O exemplo a seguir cria uma regra que corresponde a todas as alterações de status de execução durável:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"] }

O exemplo a seguir cria uma regra que corresponde somente às execuções com falha:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "status": ["FAILED"] } }

O exemplo a seguir cria uma regra que corresponde às alterações de status de uma função específica:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "functionArn": [{ "prefix": "arn:aws:lambda:us-east-1:123456789012:function:my-function" }] } }

Para obter mais informações sobre a criação de regras do EventBridge, consulte os tutoriais do Amazon EventBridge no Guia do usuário do EventBridge.

Uso de filas de mensagens não entregues com eventos do EventBridge

Os eventos de alteração de status do EventBridge fornecem notificação em tempo real quando uma execução durável entra no estado FAILED, STOPPED ou TIMED_OUT, mas não incluem a carga útil do evento original que acionou a execução. Para capturar o evento desencadeador para análise ou reprocessamento posterior, configure uma fila de mensagens não entregues (DLQ) em sua função durável.

Quando uma execução durável falha após uma invocação assíncrona, o Lambda envia o evento de acionamento original para a DLQ configurada. Use eventos do EventBridge e DLQs juntos para obter uma estratégia abrangente de tratamento de falhas:

  • Eventos do EventBridge: acione alertas imediatos, atualize painéis ou inicie fluxos de trabalho de remediação quando as execuções falharem.

  • Filas de mensagens não entregues: preserve a carga útil do evento original para que você possa inspecionar o que causou a falha, depurar o problema e, opcionalmente, reprocessar o evento depois de corrigir o problema subjacente.

Para obter informações sobre como configurar uma DLQ em sua função, consulte Filas de mensagens não entregues.

AWS X-RayRastreamento do

É possível habilitar o rastreamento do X-Ray em suas funções duráveis. O Lambda passa o cabeçalho de rastreamento do X-Ray para a execução durável, permitindo que você rastreie solicitações em todo o seu fluxo de trabalho.

Para habilitar o rastreamento do X-Ray usando o console do Lambda, escolha sua função, escolha as ferramentas de configuração, monitoramento e operações e habilite o Rastreamento ativo no X-Ray.

Como habilitar o rastreamento do X-Ray usando a . AWS CLI:

aws lambda update-function-configuration \ --function-name my-durable-function \ --tracing-config Mode=Active

Para habilitar o rastreamento do AWS X-Ray usando o AWS SAM:

Resources: MyDurableFunction: Type: AWS::Serverless::Function Properties: Tracing: Active DurableConfig: ExecutionTimeout: 3600

Para obter mais informações sobre o X-Ray, consulte o Guia do desenvolvedor do AWS X-Ray.