Supervisión de funciones duraderas
Puede supervisar las funciones duraderas mediante las métricas de CloudWatch, Registros de CloudWatch y el seguimiento. Como las funciones duraderas pueden ejecutarse durante períodos prolongados y abarcar varias invocaciones de funciones, su supervisión requiere comprender sus patrones de ejecución únicos, incluidos los puntos de control, las transiciones de estado y el comportamiento de reproducción.
Métricas de CloudWatch
Lambda publica automáticamente las métricas en CloudWatch sin cargo adicional. Las funciones duraderas proporcionan métricas adicionales a las métricas de Lambda estándar para ayudarlo a supervisar los flujos de trabajo de larga duración, la administración del estado y la utilización de los recursos.
Métricas de ejecuciones duraderas
Lambda emite las siguientes métricas para las ejecuciones duraderas:
| Métrica | Descripción |
|---|---|
ApproximateRunningDurableExecutions |
Número de ejecuciones duraderas en estado EN EJECUCIÓN |
ApproximateRunningDurableExecutionsUtilization |
Porcentaje de la cuota máxima de ejecuciones duraderas en ejecución de su cuenta actualmente en uso |
DurableExecutionDuration |
Tiempo transcurrido real en milisegundos durante el cual una ejecución duradera permaneció en estado EN EJECUCIÓN |
DurableExecutionStarted |
Número de ejecuciones duraderas que se iniciaron |
DurableExecutionStopped |
Número de ejecuciones duraderas detenidas mediante la API StopDurableExecution |
DurableExecutionSucceeded |
Número de ejecuciones duraderas realizadas correctamente |
DurableExecutionFailed |
Número de ejecuciones duraderas realizadas con un error |
DurableExecutionTimedOut |
Número de ejecuciones duraderas que superaron el tiempo de espera de ejecución configurado |
DurableExecutionOperations |
Número acumulado de operaciones realizadas en una ejecución duradera (máximo: 3000) |
DurableExecutionStorageWrittenBytes |
Cantidad acumulada de datos en bytes conservada tras una ejecución duradera (máximo: 100 MB) |
Métricas de CloudWatch
Lambda emite métricas estándar de invocación, rendimiento y concurrencia para las funciones duraderas. Dado que una ejecución duradera puede abarcar varias invocaciones de funciones a medida que avanza por los puntos de control y las reproducciones, estas métricas se comportan de forma diferente a las de las funciones estándar:
Invocaciones: cuenta cada invocación de función, incluidas las reproducciones. Una sola ejecución duradera puede generar varios puntos de datos de invocación.
Duración: mide la invocación de cada función por separado. Utilice
DurableExecutionDurationpara calcular el tiempo total empleado en una sola ejecución duradera.Errores: sigue los errores de invocación de funciones. Utilice
DurableExecutionFailedpara errores a nivel de ejecución.
Para obtener una lista completa de las métricas estándar de Lambda, consulte Tipos de métricas para las funciones de Lambda.
Crear alarmas de CloudWatch
Cree alarmas de CloudWatch para que le notifiquen cuando las métricas superen los umbrales. Las alarmas frecuentes incluyen las siguientes:
ApproximateRunningDurableExecutionsUtilizationsupera el 80 % de su cuota.DurableExecutionFailedaumenta por encima de un umbral.DurableExecutionTimedOutindica que las ejecuciones están agotando el tiempo de espera.DurableExecutionStorageWrittenBytesse acerca a los límites de almacenamiento.
Para más información, consulte Uso de las alarmas de CloudWatch.
Eventos de EventBridge
Lambda publica eventos de cambio de estado de ejecución duradera en EventBridge. Puede utilizar estos eventos para desencadenar flujos de trabajo, enviar notificaciones o realizar un seguimiento de los cambios en el ciclo de vida de la ejecución en todas sus funciones duraderas.
Eventos de cambio de estado de ejecución duradera
Lambda emite un evento a EventBridge cada vez que una ejecución duradera cambia de estado. Estos eventos tienen las siguientes características:
Origen:
aws.lambdaTipo de detalle:
Durable Execution Status Change
Los eventos de cambio de estado se publican para los siguientes estados de ejecución:
RUNNING: la ejecución se inició.SUCCEEDED: la ejecución se completó correctamente.STOPPED: la ejecución se detuvo mediante la API StopDurableExecution.FAILED: la ejecución falló debido a un error.TIMED_OUT: la ejecución superó el tiempo de espera configurado.
En el siguiente ejemplo, se muestra un evento de cambio de estado de ejecución duradera:
{ "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 los estados terminales (SUCCEEDED, STOPPED, FAILED, TIMED_OUT), el evento incluye un campo de endTimestamp que indica cuándo se completó la ejecución.
Creación de reglas de EventBridge
Cree reglas de EventBridge para dirigir los eventos de cambio de estado de las ejecuciones duraderas a destinos como Amazon Simple Notification Service, Amazon Simple Queue Service u otras funciones de Lambda.
En el siguiente ejemplo, se crea una regla que coincide con todos los cambios de estado de ejecución duradera:
{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"] }
En el siguiente ejemplo se crea una regla que coincide solo con las ejecuciones fallidas:
{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "status": ["FAILED"] } }
En el siguiente ejemplo, se crea una regla que coincide con los cambios de estado de una función 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 obtener más información sobre la creación de reglas de EventBridge, consulte Tutoriales de Amazon EventBridge en la Guía del usuario de EventBridge.
Uso de colas de mensajes fallidos con eventos de EventBridge
Los eventos de cambio de estado de EventBridge proporcionan notificaciones en tiempo real cuando una ejecución duradera entra en el estado FAILED, STOPPED o TIMED_OUT, pero no incluyen la carga útil del evento original que desencadenó la ejecución. Para capturar el evento desencadenante con el fin de analizarlo o reprocesarlo posteriormente, configure una cola de mensajes fallidos (DLQ) en la función duradera.
Cuando una ejecución duradera falla tras una invocación asíncrona, Lambda envía el evento desencadenante original a la cola de mensajes fallidos configurada. Use los eventos de EventBridge junto con las colas de mensajes fallidos para implementar una estrategia integral de gestión de errores:
Eventos de EventBridge: active alertas inmediatas, actualice los paneles o inicie flujos de trabajo de remediación cuando se produzcan errores en las ejecuciones.
Colas de mensajes fallidos: conserve la carga útil del evento original para poder examinar la causa del error, depurar el problema y, de manera opcional, volver a procesar el evento después de corregir el problema subyacente.
Para obtener información sobre cómo configurar una cola de mensajes fallidos en la función, consulte Colas de mensajes fallidos.
AWS X-RayRastreo de
Puede habilitar el seguimiento de X-Ray en las funciones duraderas. Lambda pasa el encabezado de seguimiento de X-Ray a la ejecución duradera, lo que le permite seguir las solicitudes en todo el flujo de trabajo.
Para habilitar el seguimiento de X-Ray mediante la consola de Lambda, elija su función, a continuación elija Configuración, Supervisión y herramientas de operaciones y active el Seguimiento activo en X-Ray.
Cómo habilitar el seguimiento de X-Ray mediante la AWS CLI:
aws lambda update-function-configuration \ --function-name my-durable-function \ --tracing-config Mode=Active
Cómo habilitar el seguimiento de AWS X-Ray mediante AWS SAM:
Resources: MyDurableFunction: Type: AWS::Serverless::Function Properties: Tracing: Active DurableConfig: ExecutionTimeout: 3600
A fin de obtener más información sobre X-Ray, consulte la Guía para desarrolladores de AWS X-Ray.